aws-sdk-mediapackagev2 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,1846 @@
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
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
35
+
36
+ Aws::Plugins::GlobalConfiguration.add_identifier(:mediapackagev2)
37
+
38
+ module Aws::MediaPackageV2
39
+ # An API client for MediaPackageV2. To construct a client, you need to configure a `:region` and `:credentials`.
40
+ #
41
+ # client = Aws::MediaPackageV2::Client.new(
42
+ # region: region_name,
43
+ # credentials: credentials,
44
+ # # ...
45
+ # )
46
+ #
47
+ # For details on configuring region and credentials see
48
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
49
+ #
50
+ # See {#initialize} for a full list of supported configuration options.
51
+ class Client < Seahorse::Client::Base
52
+
53
+ include Aws::ClientStubs
54
+
55
+ @identifier = :mediapackagev2
56
+
57
+ set_api(ClientApi::API)
58
+
59
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
60
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
61
+ add_plugin(Aws::Plugins::Logging)
62
+ add_plugin(Aws::Plugins::ParamConverter)
63
+ add_plugin(Aws::Plugins::ParamValidator)
64
+ add_plugin(Aws::Plugins::UserAgent)
65
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
66
+ add_plugin(Aws::Plugins::RetryErrors)
67
+ add_plugin(Aws::Plugins::GlobalConfiguration)
68
+ add_plugin(Aws::Plugins::RegionalEndpoint)
69
+ add_plugin(Aws::Plugins::EndpointDiscovery)
70
+ add_plugin(Aws::Plugins::EndpointPattern)
71
+ add_plugin(Aws::Plugins::ResponsePaging)
72
+ add_plugin(Aws::Plugins::StubResponses)
73
+ add_plugin(Aws::Plugins::IdempotencyToken)
74
+ add_plugin(Aws::Plugins::JsonvalueConverter)
75
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
76
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
77
+ add_plugin(Aws::Plugins::TransferEncoding)
78
+ add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
+ add_plugin(Aws::Plugins::DefaultsMode)
81
+ add_plugin(Aws::Plugins::RecursionDetection)
82
+ add_plugin(Aws::Plugins::Sign)
83
+ add_plugin(Aws::Plugins::Protocols::RestJson)
84
+ add_plugin(Aws::MediaPackageV2::Plugins::Endpoints)
85
+
86
+ # @overload initialize(options)
87
+ # @param [Hash] options
88
+ # @option options [required, Aws::CredentialProvider] :credentials
89
+ # Your AWS credentials. This can be an instance of any one of the
90
+ # following classes:
91
+ #
92
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
93
+ # credentials.
94
+ #
95
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
96
+ # shared file, such as `~/.aws/config`.
97
+ #
98
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
99
+ #
100
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
101
+ # assume a role after providing credentials via the web.
102
+ #
103
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
104
+ # access token generated from `aws login`.
105
+ #
106
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
107
+ # process that outputs to stdout.
108
+ #
109
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
110
+ # from an EC2 IMDS on an EC2 instance.
111
+ #
112
+ # * `Aws::ECSCredentials` - Used for loading credentials from
113
+ # instances running in ECS.
114
+ #
115
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
116
+ # from the Cognito Identity service.
117
+ #
118
+ # When `:credentials` are not configured directly, the following
119
+ # locations will be searched for credentials:
120
+ #
121
+ # * `Aws.config[:credentials]`
122
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
123
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
124
+ # * `~/.aws/credentials`
125
+ # * `~/.aws/config`
126
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
127
+ # are very aggressive. Construct and pass an instance of
128
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
129
+ # enable retries and extended timeouts. Instance profile credential
130
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
131
+ # to true.
132
+ #
133
+ # @option options [required, String] :region
134
+ # The AWS region to connect to. The configured `:region` is
135
+ # used to determine the service `:endpoint`. When not passed,
136
+ # a default `:region` is searched for in the following locations:
137
+ #
138
+ # * `Aws.config[:region]`
139
+ # * `ENV['AWS_REGION']`
140
+ # * `ENV['AMAZON_REGION']`
141
+ # * `ENV['AWS_DEFAULT_REGION']`
142
+ # * `~/.aws/credentials`
143
+ # * `~/.aws/config`
144
+ #
145
+ # @option options [String] :access_key_id
146
+ #
147
+ # @option options [Boolean] :active_endpoint_cache (false)
148
+ # When set to `true`, a thread polling for endpoints will be running in
149
+ # the background every 60 secs (default). Defaults to `false`.
150
+ #
151
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
152
+ # Used only in `adaptive` retry mode. When true, the request will sleep
153
+ # until there is sufficent client side capacity to retry the request.
154
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
155
+ # not retry instead of sleeping.
156
+ #
157
+ # @option options [Boolean] :client_side_monitoring (false)
158
+ # When `true`, client-side metrics will be collected for all API requests from
159
+ # this client.
160
+ #
161
+ # @option options [String] :client_side_monitoring_client_id ("")
162
+ # Allows you to provide an identifier for this client which will be attached to
163
+ # all generated client side metrics. Defaults to an empty string.
164
+ #
165
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
166
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
167
+ # side monitoring agent is running on, where client metrics will be published via UDP.
168
+ #
169
+ # @option options [Integer] :client_side_monitoring_port (31000)
170
+ # Required for publishing client metrics. The port that the client side monitoring
171
+ # agent is running on, where client metrics will be published via UDP.
172
+ #
173
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
174
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
175
+ # will use the Client Side Monitoring Agent Publisher.
176
+ #
177
+ # @option options [Boolean] :convert_params (true)
178
+ # When `true`, an attempt is made to coerce request parameters into
179
+ # the required types.
180
+ #
181
+ # @option options [Boolean] :correct_clock_skew (true)
182
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
183
+ # a clock skew correction and retry requests with skewed client clocks.
184
+ #
185
+ # @option options [String] :defaults_mode ("legacy")
186
+ # See {Aws::DefaultsModeConfiguration} for a list of the
187
+ # accepted modes and the configuration defaults that are included.
188
+ #
189
+ # @option options [Boolean] :disable_host_prefix_injection (false)
190
+ # Set to true to disable SDK automatically adding host prefix
191
+ # to default service endpoint when available.
192
+ #
193
+ # @option options [String] :endpoint
194
+ # The client endpoint is normally constructed from the `:region`
195
+ # option. You should only configure an `:endpoint` when connecting
196
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
197
+ #
198
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
199
+ # Used for the maximum size limit of the LRU cache storing endpoints data
200
+ # for endpoint discovery enabled operations. Defaults to 1000.
201
+ #
202
+ # @option options [Integer] :endpoint_cache_max_threads (10)
203
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
204
+ #
205
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
206
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
207
+ # Use this option to config the time interval in seconds for making
208
+ # requests fetching endpoints information. Defaults to 60 sec.
209
+ #
210
+ # @option options [Boolean] :endpoint_discovery (false)
211
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
212
+ #
213
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
214
+ # The log formatter.
215
+ #
216
+ # @option options [Symbol] :log_level (:info)
217
+ # The log level to send messages to the `:logger` at.
218
+ #
219
+ # @option options [Logger] :logger
220
+ # The Logger instance to send log messages to. If this option
221
+ # is not set, logging will be disabled.
222
+ #
223
+ # @option options [Integer] :max_attempts (3)
224
+ # An integer representing the maximum number attempts that will be made for
225
+ # a single request, including the initial attempt. For example,
226
+ # setting this value to 5 will result in a request being retried up to
227
+ # 4 times. Used in `standard` and `adaptive` retry modes.
228
+ #
229
+ # @option options [String] :profile ("default")
230
+ # Used when loading credentials from the shared credentials file
231
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
232
+ #
233
+ # @option options [Proc] :retry_backoff
234
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
235
+ # This option is only used in the `legacy` retry mode.
236
+ #
237
+ # @option options [Float] :retry_base_delay (0.3)
238
+ # The base delay in seconds used by the default backoff function. This option
239
+ # is only used in the `legacy` retry mode.
240
+ #
241
+ # @option options [Symbol] :retry_jitter (:none)
242
+ # A delay randomiser function used by the default backoff function.
243
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
244
+ # otherwise a Proc that takes and returns a number. This option is only used
245
+ # in the `legacy` retry mode.
246
+ #
247
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
248
+ #
249
+ # @option options [Integer] :retry_limit (3)
250
+ # The maximum number of times to retry failed requests. Only
251
+ # ~ 500 level server errors and certain ~ 400 level client errors
252
+ # are retried. Generally, these are throttling errors, data
253
+ # checksum errors, networking errors, timeout errors, auth errors,
254
+ # endpoint discovery, and errors from expired credentials.
255
+ # This option is only used in the `legacy` retry mode.
256
+ #
257
+ # @option options [Integer] :retry_max_delay (0)
258
+ # The maximum number of seconds to delay between retries (0 for no limit)
259
+ # used by the default backoff function. This option is only used in the
260
+ # `legacy` retry mode.
261
+ #
262
+ # @option options [String] :retry_mode ("legacy")
263
+ # Specifies which retry algorithm to use. Values are:
264
+ #
265
+ # * `legacy` - The pre-existing retry behavior. This is default value if
266
+ # no retry mode is provided.
267
+ #
268
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
269
+ # This includes support for retry quotas, which limit the number of
270
+ # unsuccessful retries a client can make.
271
+ #
272
+ # * `adaptive` - An experimental retry mode that includes all the
273
+ # functionality of `standard` mode along with automatic client side
274
+ # throttling. This is a provisional mode that may change behavior
275
+ # in the future.
276
+ #
277
+ #
278
+ # @option options [String] :secret_access_key
279
+ #
280
+ # @option options [String] :session_token
281
+ #
282
+ # @option options [Boolean] :stub_responses (false)
283
+ # Causes the client to return stubbed responses. By default
284
+ # fake responses are generated and returned. You can specify
285
+ # the response data to return or errors to raise by calling
286
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
287
+ #
288
+ # ** Please note ** When response stubbing is enabled, no HTTP
289
+ # requests are made, and retries are disabled.
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
+ #
304
+ # @option options [Boolean] :use_dualstack_endpoint
305
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
306
+ # will be used if available.
307
+ #
308
+ # @option options [Boolean] :use_fips_endpoint
309
+ # When set to `true`, fips compatible endpoints will be used if available.
310
+ # When a `fips` region is used, the region is normalized and this config
311
+ # is set to `true`.
312
+ #
313
+ # @option options [Boolean] :validate_params (true)
314
+ # When `true`, request parameters are validated before
315
+ # sending the request.
316
+ #
317
+ # @option options [Aws::MediaPackageV2::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::MediaPackageV2::EndpointParameters`
319
+ #
320
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
321
+ # requests through. Formatted like 'http://proxy.com:123'.
322
+ #
323
+ # @option options [Float] :http_open_timeout (15) The number of
324
+ # seconds to wait when opening a HTTP session before raising a
325
+ # `Timeout::Error`.
326
+ #
327
+ # @option options [Float] :http_read_timeout (60) The default
328
+ # number of seconds to wait for response data. This value can
329
+ # safely be set per-request on the session.
330
+ #
331
+ # @option options [Float] :http_idle_timeout (5) The number of
332
+ # seconds a connection is allowed to sit idle before it is
333
+ # considered stale. Stale connections are closed and removed
334
+ # from the pool before making a request.
335
+ #
336
+ # @option options [Float] :http_continue_timeout (1) The number of
337
+ # seconds to wait for a 100-continue response before sending the
338
+ # request body. This option has no effect unless the request has
339
+ # "Expect" header set to "100-continue". Defaults to `nil` which
340
+ # disables this behaviour. This value can safely be set per
341
+ # request on the session.
342
+ #
343
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
344
+ # in seconds.
345
+ #
346
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
347
+ # HTTP debug output will be sent to the `:logger`.
348
+ #
349
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
350
+ # SSL peer certificates are verified when establishing a
351
+ # connection.
352
+ #
353
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
354
+ # certificate authority bundle file that should be used when
355
+ # verifying peer certificates. If you do not pass
356
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
357
+ # will be used if available.
358
+ #
359
+ # @option options [String] :ssl_ca_directory Full path of the
360
+ # directory that contains the unbundled SSL certificate
361
+ # authority files for verifying peer certificates. If you do
362
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
363
+ # system default will be used if available.
364
+ #
365
+ def initialize(*args)
366
+ super
367
+ end
368
+
369
+ # @!group API Operations
370
+
371
+ # Create a channel to start receiving content streams. The channel
372
+ # represents the input to MediaPackage for incoming live content from an
373
+ # encoder such as AWS Elemental MediaLive. The channel receives content,
374
+ # and after packaging it, outputs it through an origin endpoint to
375
+ # downstream devices (such as video players or CDNs) that request the
376
+ # content. You can create only one channel with each request. We
377
+ # recommend that you spread out channels between channel groups, such as
378
+ # putting redundant channels in the same AWS Region in different channel
379
+ # groups.
380
+ #
381
+ # @option params [required, String] :channel_group_name
382
+ # The name that describes the channel group. The name is the primary
383
+ # identifier for the channel group, and must be unique for your account
384
+ # in the AWS Region.
385
+ #
386
+ # @option params [required, String] :channel_name
387
+ # The name that describes the channel. The name is the primary
388
+ # identifier for the channel, and must be unique for your account in the
389
+ # AWS Region and channel group. You can't change the name after you
390
+ # create the channel.
391
+ #
392
+ # @option params [String] :client_token
393
+ # A unique, case-sensitive token that you provide to ensure the
394
+ # idempotency of the request.
395
+ #
396
+ # **A suitable default value is auto-generated.** You should normally
397
+ # not need to pass this option.**
398
+ #
399
+ # @option params [String] :description
400
+ # Enter any descriptive text that helps you to identify the channel.
401
+ #
402
+ # @option params [Hash<String,String>] :tags
403
+ # A comma-separated list of tag key:value pairs that you define. For
404
+ # example:
405
+ #
406
+ # `"Key1": "Value1",`
407
+ #
408
+ # `"Key2": "Value2"`
409
+ #
410
+ # @return [Types::CreateChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
411
+ #
412
+ # * {Types::CreateChannelResponse#arn #arn} => String
413
+ # * {Types::CreateChannelResponse#channel_name #channel_name} => String
414
+ # * {Types::CreateChannelResponse#channel_group_name #channel_group_name} => String
415
+ # * {Types::CreateChannelResponse#created_at #created_at} => Time
416
+ # * {Types::CreateChannelResponse#modified_at #modified_at} => Time
417
+ # * {Types::CreateChannelResponse#description #description} => String
418
+ # * {Types::CreateChannelResponse#ingest_endpoints #ingest_endpoints} => Array&lt;Types::IngestEndpoint&gt;
419
+ # * {Types::CreateChannelResponse#tags #tags} => Hash&lt;String,String&gt;
420
+ #
421
+ # @example Request syntax with placeholder values
422
+ #
423
+ # resp = client.create_channel({
424
+ # channel_group_name: "ResourceName", # required
425
+ # channel_name: "ResourceName", # required
426
+ # client_token: "IdempotencyToken",
427
+ # description: "ResourceDescription",
428
+ # tags: {
429
+ # "TagKey" => "TagValue",
430
+ # },
431
+ # })
432
+ #
433
+ # @example Response structure
434
+ #
435
+ # resp.arn #=> String
436
+ # resp.channel_name #=> String
437
+ # resp.channel_group_name #=> String
438
+ # resp.created_at #=> Time
439
+ # resp.modified_at #=> Time
440
+ # resp.description #=> String
441
+ # resp.ingest_endpoints #=> Array
442
+ # resp.ingest_endpoints[0].id #=> String
443
+ # resp.ingest_endpoints[0].url #=> String
444
+ # resp.tags #=> Hash
445
+ # resp.tags["TagKey"] #=> String
446
+ #
447
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/CreateChannel AWS API Documentation
448
+ #
449
+ # @overload create_channel(params = {})
450
+ # @param [Hash] params ({})
451
+ def create_channel(params = {}, options = {})
452
+ req = build_request(:create_channel, params)
453
+ req.send_request(options)
454
+ end
455
+
456
+ # Create a channel group to group your channels and origin endpoints. A
457
+ # channel group is the top-level resource that consists of channels and
458
+ # origin endpoints that are associated with it and that provides
459
+ # predictable URLs for stream delivery. All channels and origin
460
+ # endpoints within the channel group are guaranteed to share the DNS.
461
+ # You can create only one channel group with each request.
462
+ #
463
+ # @option params [required, String] :channel_group_name
464
+ # The name that describes the channel group. The name is the primary
465
+ # identifier for the channel group, and must be unique for your account
466
+ # in the AWS Region. You can't use spaces in the name. You can't
467
+ # change the name after you create the channel group.
468
+ #
469
+ # @option params [String] :client_token
470
+ # A unique, case-sensitive token that you provide to ensure the
471
+ # idempotency of the request.
472
+ #
473
+ # **A suitable default value is auto-generated.** You should normally
474
+ # not need to pass this option.**
475
+ #
476
+ # @option params [String] :description
477
+ # Enter any descriptive text that helps you to identify the channel
478
+ # group.
479
+ #
480
+ # @option params [Hash<String,String>] :tags
481
+ # A comma-separated list of tag key:value pairs that you define. For
482
+ # example:
483
+ #
484
+ # `"Key1": "Value1",`
485
+ #
486
+ # `"Key2": "Value2"`
487
+ #
488
+ # @return [Types::CreateChannelGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
489
+ #
490
+ # * {Types::CreateChannelGroupResponse#channel_group_name #channel_group_name} => String
491
+ # * {Types::CreateChannelGroupResponse#arn #arn} => String
492
+ # * {Types::CreateChannelGroupResponse#egress_domain #egress_domain} => String
493
+ # * {Types::CreateChannelGroupResponse#created_at #created_at} => Time
494
+ # * {Types::CreateChannelGroupResponse#modified_at #modified_at} => Time
495
+ # * {Types::CreateChannelGroupResponse#description #description} => String
496
+ # * {Types::CreateChannelGroupResponse#tags #tags} => Hash&lt;String,String&gt;
497
+ #
498
+ # @example Request syntax with placeholder values
499
+ #
500
+ # resp = client.create_channel_group({
501
+ # channel_group_name: "ResourceName", # required
502
+ # client_token: "IdempotencyToken",
503
+ # description: "ResourceDescription",
504
+ # tags: {
505
+ # "TagKey" => "TagValue",
506
+ # },
507
+ # })
508
+ #
509
+ # @example Response structure
510
+ #
511
+ # resp.channel_group_name #=> String
512
+ # resp.arn #=> String
513
+ # resp.egress_domain #=> String
514
+ # resp.created_at #=> Time
515
+ # resp.modified_at #=> Time
516
+ # resp.description #=> String
517
+ # resp.tags #=> Hash
518
+ # resp.tags["TagKey"] #=> String
519
+ #
520
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/CreateChannelGroup AWS API Documentation
521
+ #
522
+ # @overload create_channel_group(params = {})
523
+ # @param [Hash] params ({})
524
+ def create_channel_group(params = {}, options = {})
525
+ req = build_request(:create_channel_group, params)
526
+ req.send_request(options)
527
+ end
528
+
529
+ # The endpoint is attached to a channel, and represents the output of
530
+ # the live content. You can associate multiple endpoints to a single
531
+ # channel. Each endpoint gives players and downstream CDNs (such as
532
+ # Amazon CloudFront) access to the content for playback. Content can't
533
+ # be served from a channel until it has an endpoint. You can create only
534
+ # one endpoint with each request.
535
+ #
536
+ # @option params [required, String] :channel_group_name
537
+ # The name that describes the channel group. The name is the primary
538
+ # identifier for the channel group, and must be unique for your account
539
+ # in the AWS Region.
540
+ #
541
+ # @option params [required, String] :channel_name
542
+ # The name that describes the channel. The name is the primary
543
+ # identifier for the channel, and must be unique for your account in the
544
+ # AWS Region and channel group.
545
+ #
546
+ # @option params [required, String] :origin_endpoint_name
547
+ # The name that describes the origin endpoint. The name is the primary
548
+ # identifier for the origin endpoint, and must be unique for your
549
+ # account in the AWS Region and channel. You can't use spaces in the
550
+ # name. You can't change the name after you create the endpoint.
551
+ #
552
+ # @option params [required, String] :container_type
553
+ # The type of container to attach to this origin endpoint. A container
554
+ # type is a file format that encapsulates one or more media streams,
555
+ # such as audio and video, into a single file. You can't change the
556
+ # container type after you create the endpoint.
557
+ #
558
+ # @option params [Types::Segment] :segment
559
+ # The segment configuration, including the segment name, duration, and
560
+ # other configuration values.
561
+ #
562
+ # @option params [String] :client_token
563
+ # A unique, case-sensitive token that you provide to ensure the
564
+ # idempotency of the request.
565
+ #
566
+ # **A suitable default value is auto-generated.** You should normally
567
+ # not need to pass this option.**
568
+ #
569
+ # @option params [String] :description
570
+ # Enter any descriptive text that helps you to identify the origin
571
+ # endpoint.
572
+ #
573
+ # @option params [Integer] :startover_window_seconds
574
+ # The size of the window (in seconds) to create a window of the live
575
+ # stream that's available for on-demand viewing. Viewers can start-over
576
+ # or catch-up on content that falls within the window. The maximum
577
+ # startover window is 1,209,600 seconds (14 days).
578
+ #
579
+ # @option params [Array<Types::CreateHlsManifestConfiguration>] :hls_manifests
580
+ # An HTTP live streaming (HLS) manifest configuration.
581
+ #
582
+ # @option params [Array<Types::CreateLowLatencyHlsManifestConfiguration>] :low_latency_hls_manifests
583
+ # A low-latency HLS manifest configuration.
584
+ #
585
+ # @option params [Hash<String,String>] :tags
586
+ # A comma-separated list of tag key:value pairs that you define. For
587
+ # example:
588
+ #
589
+ # `"Key1": "Value1",`
590
+ #
591
+ # `"Key2": "Value2"`
592
+ #
593
+ # @return [Types::CreateOriginEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
594
+ #
595
+ # * {Types::CreateOriginEndpointResponse#arn #arn} => String
596
+ # * {Types::CreateOriginEndpointResponse#channel_group_name #channel_group_name} => String
597
+ # * {Types::CreateOriginEndpointResponse#channel_name #channel_name} => String
598
+ # * {Types::CreateOriginEndpointResponse#origin_endpoint_name #origin_endpoint_name} => String
599
+ # * {Types::CreateOriginEndpointResponse#container_type #container_type} => String
600
+ # * {Types::CreateOriginEndpointResponse#segment #segment} => Types::Segment
601
+ # * {Types::CreateOriginEndpointResponse#created_at #created_at} => Time
602
+ # * {Types::CreateOriginEndpointResponse#modified_at #modified_at} => Time
603
+ # * {Types::CreateOriginEndpointResponse#description #description} => String
604
+ # * {Types::CreateOriginEndpointResponse#startover_window_seconds #startover_window_seconds} => Integer
605
+ # * {Types::CreateOriginEndpointResponse#hls_manifests #hls_manifests} => Array&lt;Types::GetHlsManifestConfiguration&gt;
606
+ # * {Types::CreateOriginEndpointResponse#low_latency_hls_manifests #low_latency_hls_manifests} => Array&lt;Types::GetLowLatencyHlsManifestConfiguration&gt;
607
+ # * {Types::CreateOriginEndpointResponse#tags #tags} => Hash&lt;String,String&gt;
608
+ #
609
+ # @example Request syntax with placeholder values
610
+ #
611
+ # resp = client.create_origin_endpoint({
612
+ # channel_group_name: "ResourceName", # required
613
+ # channel_name: "ResourceName", # required
614
+ # origin_endpoint_name: "ResourceName", # required
615
+ # container_type: "TS", # required, accepts TS, CMAF
616
+ # segment: {
617
+ # segment_duration_seconds: 1,
618
+ # segment_name: "SegmentSegmentNameString",
619
+ # ts_use_audio_rendition_group: false,
620
+ # include_iframe_only_streams: false,
621
+ # ts_include_dvb_subtitles: false,
622
+ # scte: {
623
+ # scte_filter: ["SPLICE_INSERT"], # accepts SPLICE_INSERT, BREAK, PROVIDER_ADVERTISEMENT, DISTRIBUTOR_ADVERTISEMENT, PROVIDER_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_PLACEMENT_OPPORTUNITY, PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY, PROGRAM
624
+ # },
625
+ # encryption: {
626
+ # constant_initialization_vector: "EncryptionConstantInitializationVectorString",
627
+ # encryption_method: { # required
628
+ # ts_encryption_method: "AES_128", # accepts AES_128, SAMPLE_AES
629
+ # cmaf_encryption_method: "CENC", # accepts CENC, CBCS
630
+ # },
631
+ # key_rotation_interval_seconds: 1,
632
+ # speke_key_provider: { # required
633
+ # encryption_contract_configuration: { # required
634
+ # preset_speke_20_audio: "PRESET_AUDIO_1", # required, accepts PRESET_AUDIO_1, PRESET_AUDIO_2, PRESET_AUDIO_3, SHARED, UNENCRYPTED
635
+ # preset_speke_20_video: "PRESET_VIDEO_1", # required, accepts PRESET_VIDEO_1, PRESET_VIDEO_2, PRESET_VIDEO_3, PRESET_VIDEO_4, PRESET_VIDEO_5, PRESET_VIDEO_6, PRESET_VIDEO_7, PRESET_VIDEO_8, SHARED, UNENCRYPTED
636
+ # },
637
+ # resource_id: "SpekeKeyProviderResourceIdString", # required
638
+ # drm_systems: ["CLEAR_KEY_AES_128"], # required, accepts CLEAR_KEY_AES_128, FAIRPLAY, PLAYREADY, WIDEVINE
639
+ # role_arn: "SpekeKeyProviderRoleArnString", # required
640
+ # url: "SpekeKeyProviderUrlString", # required
641
+ # },
642
+ # },
643
+ # },
644
+ # client_token: "IdempotencyToken",
645
+ # description: "ResourceDescription",
646
+ # startover_window_seconds: 1,
647
+ # hls_manifests: [
648
+ # {
649
+ # manifest_name: "ManifestName", # required
650
+ # child_manifest_name: "ManifestName",
651
+ # scte_hls: {
652
+ # ad_marker_hls: "DATERANGE", # accepts DATERANGE
653
+ # },
654
+ # manifest_window_seconds: 1,
655
+ # program_date_time_interval_seconds: 1,
656
+ # },
657
+ # ],
658
+ # low_latency_hls_manifests: [
659
+ # {
660
+ # manifest_name: "ManifestName", # required
661
+ # child_manifest_name: "ManifestName",
662
+ # scte_hls: {
663
+ # ad_marker_hls: "DATERANGE", # accepts DATERANGE
664
+ # },
665
+ # manifest_window_seconds: 1,
666
+ # program_date_time_interval_seconds: 1,
667
+ # },
668
+ # ],
669
+ # tags: {
670
+ # "TagKey" => "TagValue",
671
+ # },
672
+ # })
673
+ #
674
+ # @example Response structure
675
+ #
676
+ # resp.arn #=> String
677
+ # resp.channel_group_name #=> String
678
+ # resp.channel_name #=> String
679
+ # resp.origin_endpoint_name #=> String
680
+ # resp.container_type #=> String, one of "TS", "CMAF"
681
+ # resp.segment.segment_duration_seconds #=> Integer
682
+ # resp.segment.segment_name #=> String
683
+ # resp.segment.ts_use_audio_rendition_group #=> Boolean
684
+ # resp.segment.include_iframe_only_streams #=> Boolean
685
+ # resp.segment.ts_include_dvb_subtitles #=> Boolean
686
+ # resp.segment.scte.scte_filter #=> Array
687
+ # resp.segment.scte.scte_filter[0] #=> String, one of "SPLICE_INSERT", "BREAK", "PROVIDER_ADVERTISEMENT", "DISTRIBUTOR_ADVERTISEMENT", "PROVIDER_PLACEMENT_OPPORTUNITY", "DISTRIBUTOR_PLACEMENT_OPPORTUNITY", "PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY", "DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY", "PROGRAM"
688
+ # resp.segment.encryption.constant_initialization_vector #=> String
689
+ # resp.segment.encryption.encryption_method.ts_encryption_method #=> String, one of "AES_128", "SAMPLE_AES"
690
+ # resp.segment.encryption.encryption_method.cmaf_encryption_method #=> String, one of "CENC", "CBCS"
691
+ # resp.segment.encryption.key_rotation_interval_seconds #=> Integer
692
+ # resp.segment.encryption.speke_key_provider.encryption_contract_configuration.preset_speke_20_audio #=> String, one of "PRESET_AUDIO_1", "PRESET_AUDIO_2", "PRESET_AUDIO_3", "SHARED", "UNENCRYPTED"
693
+ # resp.segment.encryption.speke_key_provider.encryption_contract_configuration.preset_speke_20_video #=> String, one of "PRESET_VIDEO_1", "PRESET_VIDEO_2", "PRESET_VIDEO_3", "PRESET_VIDEO_4", "PRESET_VIDEO_5", "PRESET_VIDEO_6", "PRESET_VIDEO_7", "PRESET_VIDEO_8", "SHARED", "UNENCRYPTED"
694
+ # resp.segment.encryption.speke_key_provider.resource_id #=> String
695
+ # resp.segment.encryption.speke_key_provider.drm_systems #=> Array
696
+ # resp.segment.encryption.speke_key_provider.drm_systems[0] #=> String, one of "CLEAR_KEY_AES_128", "FAIRPLAY", "PLAYREADY", "WIDEVINE"
697
+ # resp.segment.encryption.speke_key_provider.role_arn #=> String
698
+ # resp.segment.encryption.speke_key_provider.url #=> String
699
+ # resp.created_at #=> Time
700
+ # resp.modified_at #=> Time
701
+ # resp.description #=> String
702
+ # resp.startover_window_seconds #=> Integer
703
+ # resp.hls_manifests #=> Array
704
+ # resp.hls_manifests[0].manifest_name #=> String
705
+ # resp.hls_manifests[0].url #=> String
706
+ # resp.hls_manifests[0].child_manifest_name #=> String
707
+ # resp.hls_manifests[0].manifest_window_seconds #=> Integer
708
+ # resp.hls_manifests[0].program_date_time_interval_seconds #=> Integer
709
+ # resp.hls_manifests[0].scte_hls.ad_marker_hls #=> String, one of "DATERANGE"
710
+ # resp.low_latency_hls_manifests #=> Array
711
+ # resp.low_latency_hls_manifests[0].manifest_name #=> String
712
+ # resp.low_latency_hls_manifests[0].url #=> String
713
+ # resp.low_latency_hls_manifests[0].child_manifest_name #=> String
714
+ # resp.low_latency_hls_manifests[0].manifest_window_seconds #=> Integer
715
+ # resp.low_latency_hls_manifests[0].program_date_time_interval_seconds #=> Integer
716
+ # resp.low_latency_hls_manifests[0].scte_hls.ad_marker_hls #=> String, one of "DATERANGE"
717
+ # resp.tags #=> Hash
718
+ # resp.tags["TagKey"] #=> String
719
+ #
720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/CreateOriginEndpoint AWS API Documentation
721
+ #
722
+ # @overload create_origin_endpoint(params = {})
723
+ # @param [Hash] params ({})
724
+ def create_origin_endpoint(params = {}, options = {})
725
+ req = build_request(:create_origin_endpoint, params)
726
+ req.send_request(options)
727
+ end
728
+
729
+ # Delete a channel to stop AWS Elemental MediaPackage from receiving
730
+ # further content. You must delete the channel's origin endpoints
731
+ # before you can delete the channel.
732
+ #
733
+ # @option params [required, String] :channel_group_name
734
+ # The name that describes the channel group. The name is the primary
735
+ # identifier for the channel group, and must be unique for your account
736
+ # in the AWS Region.
737
+ #
738
+ # @option params [required, String] :channel_name
739
+ # The name that describes the channel. The name is the primary
740
+ # identifier for the channel, and must be unique for your account in the
741
+ # AWS Region and channel group.
742
+ #
743
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
744
+ #
745
+ # @example Request syntax with placeholder values
746
+ #
747
+ # resp = client.delete_channel({
748
+ # channel_group_name: "ResourceName", # required
749
+ # channel_name: "ResourceName", # required
750
+ # })
751
+ #
752
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/DeleteChannel AWS API Documentation
753
+ #
754
+ # @overload delete_channel(params = {})
755
+ # @param [Hash] params ({})
756
+ def delete_channel(params = {}, options = {})
757
+ req = build_request(:delete_channel, params)
758
+ req.send_request(options)
759
+ end
760
+
761
+ # Delete a channel group. You must delete the channel group's channels
762
+ # and origin endpoints before you can delete the channel group. If you
763
+ # delete a channel group, you'll lose access to the egress domain and
764
+ # will have to create a new channel group to replace it.
765
+ #
766
+ # @option params [required, String] :channel_group_name
767
+ # The name that describes the channel group. The name is the primary
768
+ # identifier for the channel group, and must be unique for your account
769
+ # in the AWS Region.
770
+ #
771
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
772
+ #
773
+ # @example Request syntax with placeholder values
774
+ #
775
+ # resp = client.delete_channel_group({
776
+ # channel_group_name: "ResourceName", # required
777
+ # })
778
+ #
779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/DeleteChannelGroup AWS API Documentation
780
+ #
781
+ # @overload delete_channel_group(params = {})
782
+ # @param [Hash] params ({})
783
+ def delete_channel_group(params = {}, options = {})
784
+ req = build_request(:delete_channel_group, params)
785
+ req.send_request(options)
786
+ end
787
+
788
+ # Delete a channel policy.
789
+ #
790
+ # @option params [required, String] :channel_group_name
791
+ # The name that describes the channel group. The name is the primary
792
+ # identifier for the channel group, and must be unique for your account
793
+ # in the AWS Region.
794
+ #
795
+ # @option params [required, String] :channel_name
796
+ # The name that describes the channel. The name is the primary
797
+ # identifier for the channel, and must be unique for your account in the
798
+ # AWS Region and channel group.
799
+ #
800
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
801
+ #
802
+ # @example Request syntax with placeholder values
803
+ #
804
+ # resp = client.delete_channel_policy({
805
+ # channel_group_name: "ResourceName", # required
806
+ # channel_name: "ResourceName", # required
807
+ # })
808
+ #
809
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/DeleteChannelPolicy AWS API Documentation
810
+ #
811
+ # @overload delete_channel_policy(params = {})
812
+ # @param [Hash] params ({})
813
+ def delete_channel_policy(params = {}, options = {})
814
+ req = build_request(:delete_channel_policy, params)
815
+ req.send_request(options)
816
+ end
817
+
818
+ # Origin endpoints can serve content until they're deleted. Delete the
819
+ # endpoint if it should no longer respond to playback requests. You must
820
+ # delete all endpoints from a channel before you can delete the channel.
821
+ #
822
+ # @option params [required, String] :channel_group_name
823
+ # The name that describes the channel group. The name is the primary
824
+ # identifier for the channel group, and must be unique for your account
825
+ # in the AWS Region.
826
+ #
827
+ # @option params [required, String] :channel_name
828
+ # The name that describes the channel. The name is the primary
829
+ # identifier for the channel, and must be unique for your account in the
830
+ # AWS Region and channel group.
831
+ #
832
+ # @option params [required, String] :origin_endpoint_name
833
+ # The name that describes the origin endpoint. The name is the primary
834
+ # identifier for the origin endpoint, and and must be unique for your
835
+ # account in the AWS Region and channel.
836
+ #
837
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
838
+ #
839
+ # @example Request syntax with placeholder values
840
+ #
841
+ # resp = client.delete_origin_endpoint({
842
+ # channel_group_name: "ResourceName", # required
843
+ # channel_name: "ResourceName", # required
844
+ # origin_endpoint_name: "ResourceName", # required
845
+ # })
846
+ #
847
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/DeleteOriginEndpoint AWS API Documentation
848
+ #
849
+ # @overload delete_origin_endpoint(params = {})
850
+ # @param [Hash] params ({})
851
+ def delete_origin_endpoint(params = {}, options = {})
852
+ req = build_request(:delete_origin_endpoint, params)
853
+ req.send_request(options)
854
+ end
855
+
856
+ # Delete an origin endpoint policy.
857
+ #
858
+ # @option params [required, String] :channel_group_name
859
+ # The name that describes the channel group. The name is the primary
860
+ # identifier for the channel group, and must be unique for your account
861
+ # in the AWS Region.
862
+ #
863
+ # @option params [required, String] :channel_name
864
+ # The name that describes the channel. The name is the primary
865
+ # identifier for the channel, and must be unique for your account in the
866
+ # AWS Region and channel group.
867
+ #
868
+ # @option params [required, String] :origin_endpoint_name
869
+ # The name that describes the origin endpoint. The name is the primary
870
+ # identifier for the origin endpoint, and and must be unique for your
871
+ # account in the AWS Region and channel.
872
+ #
873
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
874
+ #
875
+ # @example Request syntax with placeholder values
876
+ #
877
+ # resp = client.delete_origin_endpoint_policy({
878
+ # channel_group_name: "ResourceName", # required
879
+ # channel_name: "ResourceName", # required
880
+ # origin_endpoint_name: "ResourceName", # required
881
+ # })
882
+ #
883
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/DeleteOriginEndpointPolicy AWS API Documentation
884
+ #
885
+ # @overload delete_origin_endpoint_policy(params = {})
886
+ # @param [Hash] params ({})
887
+ def delete_origin_endpoint_policy(params = {}, options = {})
888
+ req = build_request(:delete_origin_endpoint_policy, params)
889
+ req.send_request(options)
890
+ end
891
+
892
+ # Retrieves the specified channel that's configured in AWS Elemental
893
+ # MediaPackage, including the origin endpoints that are associated with
894
+ # it.
895
+ #
896
+ # @option params [required, String] :channel_group_name
897
+ # The name that describes the channel group. The name is the primary
898
+ # identifier for the channel group, and must be unique for your account
899
+ # in the AWS Region.
900
+ #
901
+ # @option params [required, String] :channel_name
902
+ # The name that describes the channel. The name is the primary
903
+ # identifier for the channel, and must be unique for your account in the
904
+ # AWS Region and channel group.
905
+ #
906
+ # @return [Types::GetChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
907
+ #
908
+ # * {Types::GetChannelResponse#arn #arn} => String
909
+ # * {Types::GetChannelResponse#channel_name #channel_name} => String
910
+ # * {Types::GetChannelResponse#channel_group_name #channel_group_name} => String
911
+ # * {Types::GetChannelResponse#created_at #created_at} => Time
912
+ # * {Types::GetChannelResponse#modified_at #modified_at} => Time
913
+ # * {Types::GetChannelResponse#description #description} => String
914
+ # * {Types::GetChannelResponse#ingest_endpoints #ingest_endpoints} => Array&lt;Types::IngestEndpoint&gt;
915
+ # * {Types::GetChannelResponse#tags #tags} => Hash&lt;String,String&gt;
916
+ #
917
+ # @example Request syntax with placeholder values
918
+ #
919
+ # resp = client.get_channel({
920
+ # channel_group_name: "ResourceName", # required
921
+ # channel_name: "ResourceName", # required
922
+ # })
923
+ #
924
+ # @example Response structure
925
+ #
926
+ # resp.arn #=> String
927
+ # resp.channel_name #=> String
928
+ # resp.channel_group_name #=> String
929
+ # resp.created_at #=> Time
930
+ # resp.modified_at #=> Time
931
+ # resp.description #=> String
932
+ # resp.ingest_endpoints #=> Array
933
+ # resp.ingest_endpoints[0].id #=> String
934
+ # resp.ingest_endpoints[0].url #=> String
935
+ # resp.tags #=> Hash
936
+ # resp.tags["TagKey"] #=> String
937
+ #
938
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/GetChannel AWS API Documentation
939
+ #
940
+ # @overload get_channel(params = {})
941
+ # @param [Hash] params ({})
942
+ def get_channel(params = {}, options = {})
943
+ req = build_request(:get_channel, params)
944
+ req.send_request(options)
945
+ end
946
+
947
+ # Retrieves the specified channel group that's configured in AWS
948
+ # Elemental MediaPackage, including the channels and origin endpoints
949
+ # that are associated with it.
950
+ #
951
+ # @option params [required, String] :channel_group_name
952
+ # The name that describes the channel group. The name is the primary
953
+ # identifier for the channel group, and must be unique for your account
954
+ # in the AWS Region.
955
+ #
956
+ # @return [Types::GetChannelGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
957
+ #
958
+ # * {Types::GetChannelGroupResponse#channel_group_name #channel_group_name} => String
959
+ # * {Types::GetChannelGroupResponse#arn #arn} => String
960
+ # * {Types::GetChannelGroupResponse#egress_domain #egress_domain} => String
961
+ # * {Types::GetChannelGroupResponse#created_at #created_at} => Time
962
+ # * {Types::GetChannelGroupResponse#modified_at #modified_at} => Time
963
+ # * {Types::GetChannelGroupResponse#description #description} => String
964
+ # * {Types::GetChannelGroupResponse#tags #tags} => Hash&lt;String,String&gt;
965
+ #
966
+ # @example Request syntax with placeholder values
967
+ #
968
+ # resp = client.get_channel_group({
969
+ # channel_group_name: "ResourceName", # required
970
+ # })
971
+ #
972
+ # @example Response structure
973
+ #
974
+ # resp.channel_group_name #=> String
975
+ # resp.arn #=> String
976
+ # resp.egress_domain #=> String
977
+ # resp.created_at #=> Time
978
+ # resp.modified_at #=> Time
979
+ # resp.description #=> String
980
+ # resp.tags #=> Hash
981
+ # resp.tags["TagKey"] #=> String
982
+ #
983
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/GetChannelGroup AWS API Documentation
984
+ #
985
+ # @overload get_channel_group(params = {})
986
+ # @param [Hash] params ({})
987
+ def get_channel_group(params = {}, options = {})
988
+ req = build_request(:get_channel_group, params)
989
+ req.send_request(options)
990
+ end
991
+
992
+ # Retrieves the specified channel policy that's configured in AWS
993
+ # Elemental MediaPackage. With policies, you can specify who has access
994
+ # to AWS resources and what actions they can perform on those resources.
995
+ #
996
+ # @option params [required, String] :channel_group_name
997
+ # The name that describes the channel group. The name is the primary
998
+ # identifier for the channel group, and must be unique for your account
999
+ # in the AWS Region.
1000
+ #
1001
+ # @option params [required, String] :channel_name
1002
+ # The name that describes the channel. The name is the primary
1003
+ # identifier for the channel, and must be unique for your account in the
1004
+ # AWS Region and channel group.
1005
+ #
1006
+ # @return [Types::GetChannelPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1007
+ #
1008
+ # * {Types::GetChannelPolicyResponse#channel_group_name #channel_group_name} => String
1009
+ # * {Types::GetChannelPolicyResponse#channel_name #channel_name} => String
1010
+ # * {Types::GetChannelPolicyResponse#policy #policy} => String
1011
+ #
1012
+ # @example Request syntax with placeholder values
1013
+ #
1014
+ # resp = client.get_channel_policy({
1015
+ # channel_group_name: "ResourceName", # required
1016
+ # channel_name: "ResourceName", # required
1017
+ # })
1018
+ #
1019
+ # @example Response structure
1020
+ #
1021
+ # resp.channel_group_name #=> String
1022
+ # resp.channel_name #=> String
1023
+ # resp.policy #=> String
1024
+ #
1025
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/GetChannelPolicy AWS API Documentation
1026
+ #
1027
+ # @overload get_channel_policy(params = {})
1028
+ # @param [Hash] params ({})
1029
+ def get_channel_policy(params = {}, options = {})
1030
+ req = build_request(:get_channel_policy, params)
1031
+ req.send_request(options)
1032
+ end
1033
+
1034
+ # Retrieves the specified origin endpoint that's configured in AWS
1035
+ # Elemental MediaPackage to obtain its playback URL and to view the
1036
+ # packaging settings that it's currently using.
1037
+ #
1038
+ # @option params [required, String] :channel_group_name
1039
+ # The name that describes the channel group. The name is the primary
1040
+ # identifier for the channel group, and must be unique for your account
1041
+ # in the AWS Region.
1042
+ #
1043
+ # @option params [required, String] :channel_name
1044
+ # The name that describes the channel. The name is the primary
1045
+ # identifier for the channel, and must be unique for your account in the
1046
+ # AWS Region and channel group.
1047
+ #
1048
+ # @option params [required, String] :origin_endpoint_name
1049
+ # The name that describes the origin endpoint. The name is the primary
1050
+ # identifier for the origin endpoint, and and must be unique for your
1051
+ # account in the AWS Region and channel.
1052
+ #
1053
+ # @return [Types::GetOriginEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1054
+ #
1055
+ # * {Types::GetOriginEndpointResponse#arn #arn} => String
1056
+ # * {Types::GetOriginEndpointResponse#channel_group_name #channel_group_name} => String
1057
+ # * {Types::GetOriginEndpointResponse#channel_name #channel_name} => String
1058
+ # * {Types::GetOriginEndpointResponse#origin_endpoint_name #origin_endpoint_name} => String
1059
+ # * {Types::GetOriginEndpointResponse#container_type #container_type} => String
1060
+ # * {Types::GetOriginEndpointResponse#segment #segment} => Types::Segment
1061
+ # * {Types::GetOriginEndpointResponse#created_at #created_at} => Time
1062
+ # * {Types::GetOriginEndpointResponse#modified_at #modified_at} => Time
1063
+ # * {Types::GetOriginEndpointResponse#description #description} => String
1064
+ # * {Types::GetOriginEndpointResponse#startover_window_seconds #startover_window_seconds} => Integer
1065
+ # * {Types::GetOriginEndpointResponse#hls_manifests #hls_manifests} => Array&lt;Types::GetHlsManifestConfiguration&gt;
1066
+ # * {Types::GetOriginEndpointResponse#low_latency_hls_manifests #low_latency_hls_manifests} => Array&lt;Types::GetLowLatencyHlsManifestConfiguration&gt;
1067
+ # * {Types::GetOriginEndpointResponse#tags #tags} => Hash&lt;String,String&gt;
1068
+ #
1069
+ # @example Request syntax with placeholder values
1070
+ #
1071
+ # resp = client.get_origin_endpoint({
1072
+ # channel_group_name: "ResourceName", # required
1073
+ # channel_name: "ResourceName", # required
1074
+ # origin_endpoint_name: "ResourceName", # required
1075
+ # })
1076
+ #
1077
+ # @example Response structure
1078
+ #
1079
+ # resp.arn #=> String
1080
+ # resp.channel_group_name #=> String
1081
+ # resp.channel_name #=> String
1082
+ # resp.origin_endpoint_name #=> String
1083
+ # resp.container_type #=> String, one of "TS", "CMAF"
1084
+ # resp.segment.segment_duration_seconds #=> Integer
1085
+ # resp.segment.segment_name #=> String
1086
+ # resp.segment.ts_use_audio_rendition_group #=> Boolean
1087
+ # resp.segment.include_iframe_only_streams #=> Boolean
1088
+ # resp.segment.ts_include_dvb_subtitles #=> Boolean
1089
+ # resp.segment.scte.scte_filter #=> Array
1090
+ # resp.segment.scte.scte_filter[0] #=> String, one of "SPLICE_INSERT", "BREAK", "PROVIDER_ADVERTISEMENT", "DISTRIBUTOR_ADVERTISEMENT", "PROVIDER_PLACEMENT_OPPORTUNITY", "DISTRIBUTOR_PLACEMENT_OPPORTUNITY", "PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY", "DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY", "PROGRAM"
1091
+ # resp.segment.encryption.constant_initialization_vector #=> String
1092
+ # resp.segment.encryption.encryption_method.ts_encryption_method #=> String, one of "AES_128", "SAMPLE_AES"
1093
+ # resp.segment.encryption.encryption_method.cmaf_encryption_method #=> String, one of "CENC", "CBCS"
1094
+ # resp.segment.encryption.key_rotation_interval_seconds #=> Integer
1095
+ # resp.segment.encryption.speke_key_provider.encryption_contract_configuration.preset_speke_20_audio #=> String, one of "PRESET_AUDIO_1", "PRESET_AUDIO_2", "PRESET_AUDIO_3", "SHARED", "UNENCRYPTED"
1096
+ # resp.segment.encryption.speke_key_provider.encryption_contract_configuration.preset_speke_20_video #=> String, one of "PRESET_VIDEO_1", "PRESET_VIDEO_2", "PRESET_VIDEO_3", "PRESET_VIDEO_4", "PRESET_VIDEO_5", "PRESET_VIDEO_6", "PRESET_VIDEO_7", "PRESET_VIDEO_8", "SHARED", "UNENCRYPTED"
1097
+ # resp.segment.encryption.speke_key_provider.resource_id #=> String
1098
+ # resp.segment.encryption.speke_key_provider.drm_systems #=> Array
1099
+ # resp.segment.encryption.speke_key_provider.drm_systems[0] #=> String, one of "CLEAR_KEY_AES_128", "FAIRPLAY", "PLAYREADY", "WIDEVINE"
1100
+ # resp.segment.encryption.speke_key_provider.role_arn #=> String
1101
+ # resp.segment.encryption.speke_key_provider.url #=> String
1102
+ # resp.created_at #=> Time
1103
+ # resp.modified_at #=> Time
1104
+ # resp.description #=> String
1105
+ # resp.startover_window_seconds #=> Integer
1106
+ # resp.hls_manifests #=> Array
1107
+ # resp.hls_manifests[0].manifest_name #=> String
1108
+ # resp.hls_manifests[0].url #=> String
1109
+ # resp.hls_manifests[0].child_manifest_name #=> String
1110
+ # resp.hls_manifests[0].manifest_window_seconds #=> Integer
1111
+ # resp.hls_manifests[0].program_date_time_interval_seconds #=> Integer
1112
+ # resp.hls_manifests[0].scte_hls.ad_marker_hls #=> String, one of "DATERANGE"
1113
+ # resp.low_latency_hls_manifests #=> Array
1114
+ # resp.low_latency_hls_manifests[0].manifest_name #=> String
1115
+ # resp.low_latency_hls_manifests[0].url #=> String
1116
+ # resp.low_latency_hls_manifests[0].child_manifest_name #=> String
1117
+ # resp.low_latency_hls_manifests[0].manifest_window_seconds #=> Integer
1118
+ # resp.low_latency_hls_manifests[0].program_date_time_interval_seconds #=> Integer
1119
+ # resp.low_latency_hls_manifests[0].scte_hls.ad_marker_hls #=> String, one of "DATERANGE"
1120
+ # resp.tags #=> Hash
1121
+ # resp.tags["TagKey"] #=> String
1122
+ #
1123
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/GetOriginEndpoint AWS API Documentation
1124
+ #
1125
+ # @overload get_origin_endpoint(params = {})
1126
+ # @param [Hash] params ({})
1127
+ def get_origin_endpoint(params = {}, options = {})
1128
+ req = build_request(:get_origin_endpoint, params)
1129
+ req.send_request(options)
1130
+ end
1131
+
1132
+ # Retrieves the specified origin endpoint policy that's configured in
1133
+ # AWS Elemental MediaPackage.
1134
+ #
1135
+ # @option params [required, String] :channel_group_name
1136
+ # The name that describes the channel group. The name is the primary
1137
+ # identifier for the channel group, and must be unique for your account
1138
+ # in the AWS Region.
1139
+ #
1140
+ # @option params [required, String] :channel_name
1141
+ # The name that describes the channel. The name is the primary
1142
+ # identifier for the channel, and must be unique for your account in the
1143
+ # AWS Region and channel group.
1144
+ #
1145
+ # @option params [required, String] :origin_endpoint_name
1146
+ # The name that describes the origin endpoint. The name is the primary
1147
+ # identifier for the origin endpoint, and and must be unique for your
1148
+ # account in the AWS Region and channel.
1149
+ #
1150
+ # @return [Types::GetOriginEndpointPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1151
+ #
1152
+ # * {Types::GetOriginEndpointPolicyResponse#channel_group_name #channel_group_name} => String
1153
+ # * {Types::GetOriginEndpointPolicyResponse#channel_name #channel_name} => String
1154
+ # * {Types::GetOriginEndpointPolicyResponse#origin_endpoint_name #origin_endpoint_name} => String
1155
+ # * {Types::GetOriginEndpointPolicyResponse#policy #policy} => String
1156
+ #
1157
+ # @example Request syntax with placeholder values
1158
+ #
1159
+ # resp = client.get_origin_endpoint_policy({
1160
+ # channel_group_name: "ResourceName", # required
1161
+ # channel_name: "ResourceName", # required
1162
+ # origin_endpoint_name: "ResourceName", # required
1163
+ # })
1164
+ #
1165
+ # @example Response structure
1166
+ #
1167
+ # resp.channel_group_name #=> String
1168
+ # resp.channel_name #=> String
1169
+ # resp.origin_endpoint_name #=> String
1170
+ # resp.policy #=> String
1171
+ #
1172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/GetOriginEndpointPolicy AWS API Documentation
1173
+ #
1174
+ # @overload get_origin_endpoint_policy(params = {})
1175
+ # @param [Hash] params ({})
1176
+ def get_origin_endpoint_policy(params = {}, options = {})
1177
+ req = build_request(:get_origin_endpoint_policy, params)
1178
+ req.send_request(options)
1179
+ end
1180
+
1181
+ # Retrieves all channel groups that are configured in AWS Elemental
1182
+ # MediaPackage, including the channels and origin endpoints that are
1183
+ # associated with it.
1184
+ #
1185
+ # @option params [Integer] :max_results
1186
+ # The maximum number of results to return in the response.
1187
+ #
1188
+ # @option params [String] :next_token
1189
+ # The pagination token from the GET list request. Use the token to fetch
1190
+ # the next page of results.
1191
+ #
1192
+ # @return [Types::ListChannelGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1193
+ #
1194
+ # * {Types::ListChannelGroupsResponse#items #items} => Array&lt;Types::ChannelGroupListConfiguration&gt;
1195
+ # * {Types::ListChannelGroupsResponse#next_token #next_token} => String
1196
+ #
1197
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1198
+ #
1199
+ # @example Request syntax with placeholder values
1200
+ #
1201
+ # resp = client.list_channel_groups({
1202
+ # max_results: 1,
1203
+ # next_token: "String",
1204
+ # })
1205
+ #
1206
+ # @example Response structure
1207
+ #
1208
+ # resp.items #=> Array
1209
+ # resp.items[0].channel_group_name #=> String
1210
+ # resp.items[0].arn #=> String
1211
+ # resp.items[0].created_at #=> Time
1212
+ # resp.items[0].modified_at #=> Time
1213
+ # resp.items[0].description #=> String
1214
+ # resp.next_token #=> String
1215
+ #
1216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/ListChannelGroups AWS API Documentation
1217
+ #
1218
+ # @overload list_channel_groups(params = {})
1219
+ # @param [Hash] params ({})
1220
+ def list_channel_groups(params = {}, options = {})
1221
+ req = build_request(:list_channel_groups, params)
1222
+ req.send_request(options)
1223
+ end
1224
+
1225
+ # Retrieves all channels in a specific channel group that are configured
1226
+ # in AWS Elemental MediaPackage, including the origin endpoints that are
1227
+ # associated with it.
1228
+ #
1229
+ # @option params [required, String] :channel_group_name
1230
+ # The name that describes the channel group. The name is the primary
1231
+ # identifier for the channel group, and must be unique for your account
1232
+ # in the AWS Region.
1233
+ #
1234
+ # @option params [Integer] :max_results
1235
+ # The maximum number of results to return in the response.
1236
+ #
1237
+ # @option params [String] :next_token
1238
+ # The pagination token from the GET list request. Use the token to fetch
1239
+ # the next page of results.
1240
+ #
1241
+ # @return [Types::ListChannelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1242
+ #
1243
+ # * {Types::ListChannelsResponse#items #items} => Array&lt;Types::ChannelListConfiguration&gt;
1244
+ # * {Types::ListChannelsResponse#next_token #next_token} => String
1245
+ #
1246
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1247
+ #
1248
+ # @example Request syntax with placeholder values
1249
+ #
1250
+ # resp = client.list_channels({
1251
+ # channel_group_name: "ResourceName", # required
1252
+ # max_results: 1,
1253
+ # next_token: "String",
1254
+ # })
1255
+ #
1256
+ # @example Response structure
1257
+ #
1258
+ # resp.items #=> Array
1259
+ # resp.items[0].arn #=> String
1260
+ # resp.items[0].channel_name #=> String
1261
+ # resp.items[0].channel_group_name #=> String
1262
+ # resp.items[0].created_at #=> Time
1263
+ # resp.items[0].modified_at #=> Time
1264
+ # resp.items[0].description #=> String
1265
+ # resp.next_token #=> String
1266
+ #
1267
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/ListChannels AWS API Documentation
1268
+ #
1269
+ # @overload list_channels(params = {})
1270
+ # @param [Hash] params ({})
1271
+ def list_channels(params = {}, options = {})
1272
+ req = build_request(:list_channels, params)
1273
+ req.send_request(options)
1274
+ end
1275
+
1276
+ # Retrieves all origin endpoints in a specific channel that are
1277
+ # configured in AWS Elemental MediaPackage.
1278
+ #
1279
+ # @option params [required, String] :channel_group_name
1280
+ # The name that describes the channel group. The name is the primary
1281
+ # identifier for the channel group, and must be unique for your account
1282
+ # in the AWS Region.
1283
+ #
1284
+ # @option params [required, String] :channel_name
1285
+ # The name that describes the channel. The name is the primary
1286
+ # identifier for the channel, and must be unique for your account in the
1287
+ # AWS Region and channel group.
1288
+ #
1289
+ # @option params [Integer] :max_results
1290
+ # The maximum number of results to return in the response.
1291
+ #
1292
+ # @option params [String] :next_token
1293
+ # The pagination token from the GET list request. Use the token to fetch
1294
+ # the next page of results.
1295
+ #
1296
+ # @return [Types::ListOriginEndpointsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1297
+ #
1298
+ # * {Types::ListOriginEndpointsResponse#items #items} => Array&lt;Types::OriginEndpointListConfiguration&gt;
1299
+ # * {Types::ListOriginEndpointsResponse#next_token #next_token} => String
1300
+ #
1301
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1302
+ #
1303
+ # @example Request syntax with placeholder values
1304
+ #
1305
+ # resp = client.list_origin_endpoints({
1306
+ # channel_group_name: "ResourceName", # required
1307
+ # channel_name: "ResourceName", # required
1308
+ # max_results: 1,
1309
+ # next_token: "String",
1310
+ # })
1311
+ #
1312
+ # @example Response structure
1313
+ #
1314
+ # resp.items #=> Array
1315
+ # resp.items[0].arn #=> String
1316
+ # resp.items[0].channel_group_name #=> String
1317
+ # resp.items[0].channel_name #=> String
1318
+ # resp.items[0].origin_endpoint_name #=> String
1319
+ # resp.items[0].container_type #=> String, one of "TS", "CMAF"
1320
+ # resp.items[0].description #=> String
1321
+ # resp.items[0].created_at #=> Time
1322
+ # resp.items[0].modified_at #=> Time
1323
+ # resp.items[0].hls_manifests #=> Array
1324
+ # resp.items[0].hls_manifests[0].manifest_name #=> String
1325
+ # resp.items[0].hls_manifests[0].child_manifest_name #=> String
1326
+ # resp.items[0].hls_manifests[0].url #=> String
1327
+ # resp.items[0].low_latency_hls_manifests #=> Array
1328
+ # resp.items[0].low_latency_hls_manifests[0].manifest_name #=> String
1329
+ # resp.items[0].low_latency_hls_manifests[0].child_manifest_name #=> String
1330
+ # resp.items[0].low_latency_hls_manifests[0].url #=> String
1331
+ # resp.next_token #=> String
1332
+ #
1333
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/ListOriginEndpoints AWS API Documentation
1334
+ #
1335
+ # @overload list_origin_endpoints(params = {})
1336
+ # @param [Hash] params ({})
1337
+ def list_origin_endpoints(params = {}, options = {})
1338
+ req = build_request(:list_origin_endpoints, params)
1339
+ req.send_request(options)
1340
+ end
1341
+
1342
+ # Lists the tags assigned to a resource.
1343
+ #
1344
+ # @option params [required, String] :resource_arn
1345
+ # The ARN of the CloudWatch resource that you want to view tags for.
1346
+ #
1347
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1348
+ #
1349
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
1350
+ #
1351
+ # @example Request syntax with placeholder values
1352
+ #
1353
+ # resp = client.list_tags_for_resource({
1354
+ # resource_arn: "TagArn", # required
1355
+ # })
1356
+ #
1357
+ # @example Response structure
1358
+ #
1359
+ # resp.tags #=> Hash
1360
+ # resp.tags["TagKey"] #=> String
1361
+ #
1362
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/ListTagsForResource AWS API Documentation
1363
+ #
1364
+ # @overload list_tags_for_resource(params = {})
1365
+ # @param [Hash] params ({})
1366
+ def list_tags_for_resource(params = {}, options = {})
1367
+ req = build_request(:list_tags_for_resource, params)
1368
+ req.send_request(options)
1369
+ end
1370
+
1371
+ # Attaches an IAM policy to the specified channel. With policies, you
1372
+ # can specify who has access to AWS resources and what actions they can
1373
+ # perform on those resources. You can attach only one policy with each
1374
+ # request.
1375
+ #
1376
+ # @option params [required, String] :channel_group_name
1377
+ # The name that describes the channel group. The name is the primary
1378
+ # identifier for the channel group, and must be unique for your account
1379
+ # in the AWS Region.
1380
+ #
1381
+ # @option params [required, String] :channel_name
1382
+ # The name that describes the channel. The name is the primary
1383
+ # identifier for the channel, and must be unique for your account in the
1384
+ # AWS Region and channel group.
1385
+ #
1386
+ # @option params [required, String] :policy
1387
+ # The policy to attach to the specified channel.
1388
+ #
1389
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1390
+ #
1391
+ # @example Request syntax with placeholder values
1392
+ #
1393
+ # resp = client.put_channel_policy({
1394
+ # channel_group_name: "ResourceName", # required
1395
+ # channel_name: "ResourceName", # required
1396
+ # policy: "PolicyText", # required
1397
+ # })
1398
+ #
1399
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/PutChannelPolicy AWS API Documentation
1400
+ #
1401
+ # @overload put_channel_policy(params = {})
1402
+ # @param [Hash] params ({})
1403
+ def put_channel_policy(params = {}, options = {})
1404
+ req = build_request(:put_channel_policy, params)
1405
+ req.send_request(options)
1406
+ end
1407
+
1408
+ # Attaches an IAM policy to the specified origin endpoint. You can
1409
+ # attach only one policy with each request.
1410
+ #
1411
+ # @option params [required, String] :channel_group_name
1412
+ # The name that describes the channel group. The name is the primary
1413
+ # identifier for the channel group, and must be unique for your account
1414
+ # in the AWS Region.
1415
+ #
1416
+ # @option params [required, String] :channel_name
1417
+ # The name that describes the channel. The name is the primary
1418
+ # identifier for the channel, and must be unique for your account in the
1419
+ # AWS Region and channel group.
1420
+ #
1421
+ # @option params [required, String] :origin_endpoint_name
1422
+ # The name that describes the origin endpoint. The name is the primary
1423
+ # identifier for the origin endpoint, and and must be unique for your
1424
+ # account in the AWS Region and channel.
1425
+ #
1426
+ # @option params [required, String] :policy
1427
+ # The policy to attach to the specified origin endpoint.
1428
+ #
1429
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1430
+ #
1431
+ # @example Request syntax with placeholder values
1432
+ #
1433
+ # resp = client.put_origin_endpoint_policy({
1434
+ # channel_group_name: "ResourceName", # required
1435
+ # channel_name: "ResourceName", # required
1436
+ # origin_endpoint_name: "ResourceName", # required
1437
+ # policy: "PolicyText", # required
1438
+ # })
1439
+ #
1440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/PutOriginEndpointPolicy AWS API Documentation
1441
+ #
1442
+ # @overload put_origin_endpoint_policy(params = {})
1443
+ # @param [Hash] params ({})
1444
+ def put_origin_endpoint_policy(params = {}, options = {})
1445
+ req = build_request(:put_origin_endpoint_policy, params)
1446
+ req.send_request(options)
1447
+ end
1448
+
1449
+ # Assigns one of more tags (key-value pairs) to the specified
1450
+ # MediaPackage resource.
1451
+ #
1452
+ # Tags can help you organize and categorize your resources. You can also
1453
+ # use them to scope user permissions, by granting a user permission to
1454
+ # access or change only resources with certain tag values. You can use
1455
+ # the TagResource operation with a resource that already has tags. If
1456
+ # you specify a new tag key for the resource, this tag is appended to
1457
+ # the list of tags associated with the resource. If you specify a tag
1458
+ # key that is already associated with the resource, the new tag value
1459
+ # that you specify replaces the previous value for that tag.
1460
+ #
1461
+ # @option params [required, String] :resource_arn
1462
+ # The ARN of the MediaPackage resource that you're adding tags to.
1463
+ #
1464
+ # @option params [required, Hash<String,String>] :tags
1465
+ # Contains a map of the key-value pairs for the resource tag or tags
1466
+ # assigned to the resource.
1467
+ #
1468
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1469
+ #
1470
+ # @example Request syntax with placeholder values
1471
+ #
1472
+ # resp = client.tag_resource({
1473
+ # resource_arn: "TagArn", # required
1474
+ # tags: { # required
1475
+ # "TagKey" => "TagValue",
1476
+ # },
1477
+ # })
1478
+ #
1479
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/TagResource AWS API Documentation
1480
+ #
1481
+ # @overload tag_resource(params = {})
1482
+ # @param [Hash] params ({})
1483
+ def tag_resource(params = {}, options = {})
1484
+ req = build_request(:tag_resource, params)
1485
+ req.send_request(options)
1486
+ end
1487
+
1488
+ # Removes one or more tags from the specified resource.
1489
+ #
1490
+ # @option params [required, String] :resource_arn
1491
+ # The ARN of the MediaPackage resource that you're removing tags from.
1492
+ #
1493
+ # @option params [required, Array<String>] :tag_keys
1494
+ # The list of tag keys to remove from the resource.
1495
+ #
1496
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1497
+ #
1498
+ # @example Request syntax with placeholder values
1499
+ #
1500
+ # resp = client.untag_resource({
1501
+ # resource_arn: "TagArn", # required
1502
+ # tag_keys: ["TagKey"], # required
1503
+ # })
1504
+ #
1505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/UntagResource AWS API Documentation
1506
+ #
1507
+ # @overload untag_resource(params = {})
1508
+ # @param [Hash] params ({})
1509
+ def untag_resource(params = {}, options = {})
1510
+ req = build_request(:untag_resource, params)
1511
+ req.send_request(options)
1512
+ end
1513
+
1514
+ # Update the specified channel. You can edit if MediaPackage sends
1515
+ # ingest or egress access logs to the CloudWatch log group, if content
1516
+ # will be encrypted, the description on a channel, and your channel's
1517
+ # policy settings. You can't edit the name of the channel or CloudFront
1518
+ # distribution details.
1519
+ #
1520
+ # Any edits you make that impact the video output may not be reflected
1521
+ # for a few minutes.
1522
+ #
1523
+ # @option params [required, String] :channel_group_name
1524
+ # The name that describes the channel group. The name is the primary
1525
+ # identifier for the channel group, and must be unique for your account
1526
+ # in the AWS Region.
1527
+ #
1528
+ # @option params [required, String] :channel_name
1529
+ # The name that describes the channel. The name is the primary
1530
+ # identifier for the channel, and must be unique for your account in the
1531
+ # AWS Region and channel group.
1532
+ #
1533
+ # @option params [String] :description
1534
+ # Any descriptive information that you want to add to the channel for
1535
+ # future identification purposes.
1536
+ #
1537
+ # @return [Types::UpdateChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1538
+ #
1539
+ # * {Types::UpdateChannelResponse#arn #arn} => String
1540
+ # * {Types::UpdateChannelResponse#channel_name #channel_name} => String
1541
+ # * {Types::UpdateChannelResponse#channel_group_name #channel_group_name} => String
1542
+ # * {Types::UpdateChannelResponse#created_at #created_at} => Time
1543
+ # * {Types::UpdateChannelResponse#modified_at #modified_at} => Time
1544
+ # * {Types::UpdateChannelResponse#description #description} => String
1545
+ # * {Types::UpdateChannelResponse#ingest_endpoints #ingest_endpoints} => Array&lt;Types::IngestEndpoint&gt;
1546
+ # * {Types::UpdateChannelResponse#tags #tags} => Hash&lt;String,String&gt;
1547
+ #
1548
+ # @example Request syntax with placeholder values
1549
+ #
1550
+ # resp = client.update_channel({
1551
+ # channel_group_name: "ResourceName", # required
1552
+ # channel_name: "ResourceName", # required
1553
+ # description: "ResourceDescription",
1554
+ # })
1555
+ #
1556
+ # @example Response structure
1557
+ #
1558
+ # resp.arn #=> String
1559
+ # resp.channel_name #=> String
1560
+ # resp.channel_group_name #=> String
1561
+ # resp.created_at #=> Time
1562
+ # resp.modified_at #=> Time
1563
+ # resp.description #=> String
1564
+ # resp.ingest_endpoints #=> Array
1565
+ # resp.ingest_endpoints[0].id #=> String
1566
+ # resp.ingest_endpoints[0].url #=> String
1567
+ # resp.tags #=> Hash
1568
+ # resp.tags["TagKey"] #=> String
1569
+ #
1570
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/UpdateChannel AWS API Documentation
1571
+ #
1572
+ # @overload update_channel(params = {})
1573
+ # @param [Hash] params ({})
1574
+ def update_channel(params = {}, options = {})
1575
+ req = build_request(:update_channel, params)
1576
+ req.send_request(options)
1577
+ end
1578
+
1579
+ # Update the specified channel group. You can edit the description on a
1580
+ # channel group for easier identification later from the AWS Elemental
1581
+ # MediaPackage console. You can't edit the name of the channel group.
1582
+ #
1583
+ # Any edits you make that impact the video output may not be reflected
1584
+ # for a few minutes.
1585
+ #
1586
+ # @option params [required, String] :channel_group_name
1587
+ # The name that describes the channel group. The name is the primary
1588
+ # identifier for the channel group, and must be unique for your account
1589
+ # in the AWS Region.
1590
+ #
1591
+ # @option params [String] :description
1592
+ # Any descriptive information that you want to add to the channel group
1593
+ # for future identification purposes.
1594
+ #
1595
+ # @return [Types::UpdateChannelGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1596
+ #
1597
+ # * {Types::UpdateChannelGroupResponse#channel_group_name #channel_group_name} => String
1598
+ # * {Types::UpdateChannelGroupResponse#arn #arn} => String
1599
+ # * {Types::UpdateChannelGroupResponse#egress_domain #egress_domain} => String
1600
+ # * {Types::UpdateChannelGroupResponse#created_at #created_at} => Time
1601
+ # * {Types::UpdateChannelGroupResponse#modified_at #modified_at} => Time
1602
+ # * {Types::UpdateChannelGroupResponse#description #description} => String
1603
+ # * {Types::UpdateChannelGroupResponse#tags #tags} => Hash&lt;String,String&gt;
1604
+ #
1605
+ # @example Request syntax with placeholder values
1606
+ #
1607
+ # resp = client.update_channel_group({
1608
+ # channel_group_name: "ResourceName", # required
1609
+ # description: "ResourceDescription",
1610
+ # })
1611
+ #
1612
+ # @example Response structure
1613
+ #
1614
+ # resp.channel_group_name #=> String
1615
+ # resp.arn #=> String
1616
+ # resp.egress_domain #=> String
1617
+ # resp.created_at #=> Time
1618
+ # resp.modified_at #=> Time
1619
+ # resp.description #=> String
1620
+ # resp.tags #=> Hash
1621
+ # resp.tags["TagKey"] #=> String
1622
+ #
1623
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/UpdateChannelGroup AWS API Documentation
1624
+ #
1625
+ # @overload update_channel_group(params = {})
1626
+ # @param [Hash] params ({})
1627
+ def update_channel_group(params = {}, options = {})
1628
+ req = build_request(:update_channel_group, params)
1629
+ req.send_request(options)
1630
+ end
1631
+
1632
+ # Update the specified origin endpoint. Edit the packaging preferences
1633
+ # on an endpoint to optimize the viewing experience. You can't edit the
1634
+ # name of the endpoint.
1635
+ #
1636
+ # Any edits you make that impact the video output may not be reflected
1637
+ # for a few minutes.
1638
+ #
1639
+ # @option params [required, String] :channel_group_name
1640
+ # The name that describes the channel group. The name is the primary
1641
+ # identifier for the channel group, and must be unique for your account
1642
+ # in the AWS Region.
1643
+ #
1644
+ # @option params [required, String] :channel_name
1645
+ # The name that describes the channel. The name is the primary
1646
+ # identifier for the channel, and must be unique for your account in the
1647
+ # AWS Region and channel group.
1648
+ #
1649
+ # @option params [required, String] :origin_endpoint_name
1650
+ # The name that describes the origin endpoint. The name is the primary
1651
+ # identifier for the origin endpoint, and and must be unique for your
1652
+ # account in the AWS Region and channel.
1653
+ #
1654
+ # @option params [required, String] :container_type
1655
+ # The type of container attached to this origin endpoint. A container
1656
+ # type is a file format that encapsulates one or more media streams,
1657
+ # such as audio and video, into a single file.
1658
+ #
1659
+ # @option params [Types::Segment] :segment
1660
+ # The segment configuration, including the segment name, duration, and
1661
+ # other configuration values.
1662
+ #
1663
+ # @option params [String] :description
1664
+ # Any descriptive information that you want to add to the origin
1665
+ # endpoint for future identification purposes.
1666
+ #
1667
+ # @option params [Integer] :startover_window_seconds
1668
+ # The size of the window (in seconds) to create a window of the live
1669
+ # stream that's available for on-demand viewing. Viewers can start-over
1670
+ # or catch-up on content that falls within the window. The maximum
1671
+ # startover window is 1,209,600 seconds (14 days).
1672
+ #
1673
+ # @option params [Array<Types::CreateHlsManifestConfiguration>] :hls_manifests
1674
+ # An HTTP live streaming (HLS) manifest configuration.
1675
+ #
1676
+ # @option params [Array<Types::CreateLowLatencyHlsManifestConfiguration>] :low_latency_hls_manifests
1677
+ # A low-latency HLS manifest configuration.
1678
+ #
1679
+ # @return [Types::UpdateOriginEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1680
+ #
1681
+ # * {Types::UpdateOriginEndpointResponse#arn #arn} => String
1682
+ # * {Types::UpdateOriginEndpointResponse#channel_group_name #channel_group_name} => String
1683
+ # * {Types::UpdateOriginEndpointResponse#channel_name #channel_name} => String
1684
+ # * {Types::UpdateOriginEndpointResponse#origin_endpoint_name #origin_endpoint_name} => String
1685
+ # * {Types::UpdateOriginEndpointResponse#container_type #container_type} => String
1686
+ # * {Types::UpdateOriginEndpointResponse#segment #segment} => Types::Segment
1687
+ # * {Types::UpdateOriginEndpointResponse#created_at #created_at} => Time
1688
+ # * {Types::UpdateOriginEndpointResponse#modified_at #modified_at} => Time
1689
+ # * {Types::UpdateOriginEndpointResponse#description #description} => String
1690
+ # * {Types::UpdateOriginEndpointResponse#startover_window_seconds #startover_window_seconds} => Integer
1691
+ # * {Types::UpdateOriginEndpointResponse#hls_manifests #hls_manifests} => Array&lt;Types::GetHlsManifestConfiguration&gt;
1692
+ # * {Types::UpdateOriginEndpointResponse#low_latency_hls_manifests #low_latency_hls_manifests} => Array&lt;Types::GetLowLatencyHlsManifestConfiguration&gt;
1693
+ # * {Types::UpdateOriginEndpointResponse#tags #tags} => Hash&lt;String,String&gt;
1694
+ #
1695
+ # @example Request syntax with placeholder values
1696
+ #
1697
+ # resp = client.update_origin_endpoint({
1698
+ # channel_group_name: "ResourceName", # required
1699
+ # channel_name: "ResourceName", # required
1700
+ # origin_endpoint_name: "ResourceName", # required
1701
+ # container_type: "TS", # required, accepts TS, CMAF
1702
+ # segment: {
1703
+ # segment_duration_seconds: 1,
1704
+ # segment_name: "SegmentSegmentNameString",
1705
+ # ts_use_audio_rendition_group: false,
1706
+ # include_iframe_only_streams: false,
1707
+ # ts_include_dvb_subtitles: false,
1708
+ # scte: {
1709
+ # scte_filter: ["SPLICE_INSERT"], # accepts SPLICE_INSERT, BREAK, PROVIDER_ADVERTISEMENT, DISTRIBUTOR_ADVERTISEMENT, PROVIDER_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_PLACEMENT_OPPORTUNITY, PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY, PROGRAM
1710
+ # },
1711
+ # encryption: {
1712
+ # constant_initialization_vector: "EncryptionConstantInitializationVectorString",
1713
+ # encryption_method: { # required
1714
+ # ts_encryption_method: "AES_128", # accepts AES_128, SAMPLE_AES
1715
+ # cmaf_encryption_method: "CENC", # accepts CENC, CBCS
1716
+ # },
1717
+ # key_rotation_interval_seconds: 1,
1718
+ # speke_key_provider: { # required
1719
+ # encryption_contract_configuration: { # required
1720
+ # preset_speke_20_audio: "PRESET_AUDIO_1", # required, accepts PRESET_AUDIO_1, PRESET_AUDIO_2, PRESET_AUDIO_3, SHARED, UNENCRYPTED
1721
+ # preset_speke_20_video: "PRESET_VIDEO_1", # required, accepts PRESET_VIDEO_1, PRESET_VIDEO_2, PRESET_VIDEO_3, PRESET_VIDEO_4, PRESET_VIDEO_5, PRESET_VIDEO_6, PRESET_VIDEO_7, PRESET_VIDEO_8, SHARED, UNENCRYPTED
1722
+ # },
1723
+ # resource_id: "SpekeKeyProviderResourceIdString", # required
1724
+ # drm_systems: ["CLEAR_KEY_AES_128"], # required, accepts CLEAR_KEY_AES_128, FAIRPLAY, PLAYREADY, WIDEVINE
1725
+ # role_arn: "SpekeKeyProviderRoleArnString", # required
1726
+ # url: "SpekeKeyProviderUrlString", # required
1727
+ # },
1728
+ # },
1729
+ # },
1730
+ # description: "ResourceDescription",
1731
+ # startover_window_seconds: 1,
1732
+ # hls_manifests: [
1733
+ # {
1734
+ # manifest_name: "ManifestName", # required
1735
+ # child_manifest_name: "ManifestName",
1736
+ # scte_hls: {
1737
+ # ad_marker_hls: "DATERANGE", # accepts DATERANGE
1738
+ # },
1739
+ # manifest_window_seconds: 1,
1740
+ # program_date_time_interval_seconds: 1,
1741
+ # },
1742
+ # ],
1743
+ # low_latency_hls_manifests: [
1744
+ # {
1745
+ # manifest_name: "ManifestName", # required
1746
+ # child_manifest_name: "ManifestName",
1747
+ # scte_hls: {
1748
+ # ad_marker_hls: "DATERANGE", # accepts DATERANGE
1749
+ # },
1750
+ # manifest_window_seconds: 1,
1751
+ # program_date_time_interval_seconds: 1,
1752
+ # },
1753
+ # ],
1754
+ # })
1755
+ #
1756
+ # @example Response structure
1757
+ #
1758
+ # resp.arn #=> String
1759
+ # resp.channel_group_name #=> String
1760
+ # resp.channel_name #=> String
1761
+ # resp.origin_endpoint_name #=> String
1762
+ # resp.container_type #=> String, one of "TS", "CMAF"
1763
+ # resp.segment.segment_duration_seconds #=> Integer
1764
+ # resp.segment.segment_name #=> String
1765
+ # resp.segment.ts_use_audio_rendition_group #=> Boolean
1766
+ # resp.segment.include_iframe_only_streams #=> Boolean
1767
+ # resp.segment.ts_include_dvb_subtitles #=> Boolean
1768
+ # resp.segment.scte.scte_filter #=> Array
1769
+ # resp.segment.scte.scte_filter[0] #=> String, one of "SPLICE_INSERT", "BREAK", "PROVIDER_ADVERTISEMENT", "DISTRIBUTOR_ADVERTISEMENT", "PROVIDER_PLACEMENT_OPPORTUNITY", "DISTRIBUTOR_PLACEMENT_OPPORTUNITY", "PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY", "DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY", "PROGRAM"
1770
+ # resp.segment.encryption.constant_initialization_vector #=> String
1771
+ # resp.segment.encryption.encryption_method.ts_encryption_method #=> String, one of "AES_128", "SAMPLE_AES"
1772
+ # resp.segment.encryption.encryption_method.cmaf_encryption_method #=> String, one of "CENC", "CBCS"
1773
+ # resp.segment.encryption.key_rotation_interval_seconds #=> Integer
1774
+ # resp.segment.encryption.speke_key_provider.encryption_contract_configuration.preset_speke_20_audio #=> String, one of "PRESET_AUDIO_1", "PRESET_AUDIO_2", "PRESET_AUDIO_3", "SHARED", "UNENCRYPTED"
1775
+ # resp.segment.encryption.speke_key_provider.encryption_contract_configuration.preset_speke_20_video #=> String, one of "PRESET_VIDEO_1", "PRESET_VIDEO_2", "PRESET_VIDEO_3", "PRESET_VIDEO_4", "PRESET_VIDEO_5", "PRESET_VIDEO_6", "PRESET_VIDEO_7", "PRESET_VIDEO_8", "SHARED", "UNENCRYPTED"
1776
+ # resp.segment.encryption.speke_key_provider.resource_id #=> String
1777
+ # resp.segment.encryption.speke_key_provider.drm_systems #=> Array
1778
+ # resp.segment.encryption.speke_key_provider.drm_systems[0] #=> String, one of "CLEAR_KEY_AES_128", "FAIRPLAY", "PLAYREADY", "WIDEVINE"
1779
+ # resp.segment.encryption.speke_key_provider.role_arn #=> String
1780
+ # resp.segment.encryption.speke_key_provider.url #=> String
1781
+ # resp.created_at #=> Time
1782
+ # resp.modified_at #=> Time
1783
+ # resp.description #=> String
1784
+ # resp.startover_window_seconds #=> Integer
1785
+ # resp.hls_manifests #=> Array
1786
+ # resp.hls_manifests[0].manifest_name #=> String
1787
+ # resp.hls_manifests[0].url #=> String
1788
+ # resp.hls_manifests[0].child_manifest_name #=> String
1789
+ # resp.hls_manifests[0].manifest_window_seconds #=> Integer
1790
+ # resp.hls_manifests[0].program_date_time_interval_seconds #=> Integer
1791
+ # resp.hls_manifests[0].scte_hls.ad_marker_hls #=> String, one of "DATERANGE"
1792
+ # resp.low_latency_hls_manifests #=> Array
1793
+ # resp.low_latency_hls_manifests[0].manifest_name #=> String
1794
+ # resp.low_latency_hls_manifests[0].url #=> String
1795
+ # resp.low_latency_hls_manifests[0].child_manifest_name #=> String
1796
+ # resp.low_latency_hls_manifests[0].manifest_window_seconds #=> Integer
1797
+ # resp.low_latency_hls_manifests[0].program_date_time_interval_seconds #=> Integer
1798
+ # resp.low_latency_hls_manifests[0].scte_hls.ad_marker_hls #=> String, one of "DATERANGE"
1799
+ # resp.tags #=> Hash
1800
+ # resp.tags["TagKey"] #=> String
1801
+ #
1802
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/UpdateOriginEndpoint AWS API Documentation
1803
+ #
1804
+ # @overload update_origin_endpoint(params = {})
1805
+ # @param [Hash] params ({})
1806
+ def update_origin_endpoint(params = {}, options = {})
1807
+ req = build_request(:update_origin_endpoint, params)
1808
+ req.send_request(options)
1809
+ end
1810
+
1811
+ # @!endgroup
1812
+
1813
+ # @param params ({})
1814
+ # @api private
1815
+ def build_request(operation_name, params = {})
1816
+ handlers = @handlers.for(operation_name)
1817
+ context = Seahorse::Client::RequestContext.new(
1818
+ operation_name: operation_name,
1819
+ operation: config.api.operation(operation_name),
1820
+ client: self,
1821
+ params: params,
1822
+ config: config)
1823
+ context[:gem_name] = 'aws-sdk-mediapackagev2'
1824
+ context[:gem_version] = '1.0.0'
1825
+ Seahorse::Client::Request.new(handlers, context)
1826
+ end
1827
+
1828
+ # @api private
1829
+ # @deprecated
1830
+ def waiter_names
1831
+ []
1832
+ end
1833
+
1834
+ class << self
1835
+
1836
+ # @api private
1837
+ attr_reader :identifier
1838
+
1839
+ # @api private
1840
+ def errors_module
1841
+ Errors
1842
+ end
1843
+
1844
+ end
1845
+ end
1846
+ end