You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::MediaPackage::Client

Inherits:
Seahorse::Client::Base show all
Defined in:
(unknown)

Overview

An API client for AWS Elemental MediaPackage. To construct a client, you need to configure a :region and :credentials.

mediapackage = Aws::MediaPackage::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

See #initialize for a full list of supported configuration options.

Region

You can configure a default region in the following locations:

  • ENV['AWS_REGION']
  • Aws.config[:region]

Go here for a list of supported regions.

Credentials

Default credentials are loaded automatically from the following locations:

  • ENV['AWS_ACCESS_KEY_ID'] and ENV['AWS_SECRET_ACCESS_KEY']
  • Aws.config[:credentials]
  • The shared credentials ini file at ~/.aws/credentials (more information)
  • From an instance profile when running on EC2

You can also construct a credentials object from one of the following classes:

Alternatively, you configure credentials with :access_key_id and :secret_access_key:

# load credentials from disk
creds = YAML.load(File.read('/path/to/secrets'))

Aws::MediaPackage::Client.new(
  access_key_id: creds['access_key_id'],
  secret_access_key: creds['secret_access_key']
)

Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.

Attribute Summary collapse

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

Constructor collapse

API Operations collapse

Instance Method Summary collapse

Methods inherited from Seahorse::Client::Base

add_plugin, api, #build_request, clear_plugins, define, new, #operation, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options = {}) ⇒ Aws::MediaPackage::Client

Constructs an API client.

Options Hash (options):

  • :access_key_id (String) —

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :active_endpoint_cache (Boolean) —

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false. See Plugins::EndpointDiscovery for more details.

  • :convert_params (Boolean) — default: true —

    When true, an attempt is made to coerce request parameters into the required types. See Plugins::ParamConverter for more details.

  • :credentials (required, Credentials) —

    Your AWS credentials. The following locations will be searched in order for credentials:

    • :access_key_id, :secret_access_key, and :session_token options
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • HOME/.aws/credentials shared credentials file
    • EC2 instance profile credentials See Plugins::RequestSigner for more details.
  • :disable_host_prefix_injection (Boolean) —

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available. See Plugins::EndpointPattern for more details.

  • :endpoint (String) —

    A default endpoint is constructed from the :region. See Plugins::RegionalEndpoint for more details.

  • :endpoint_cache_max_entries (Integer) —

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_max_threads (Integer) —

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_poll_interval (Integer) —

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec. See Plugins::EndpointDiscovery for more details.

  • :endpoint_discovery (Boolean) —

    When set to true, endpoint discovery will be enabled for operations when available. Defaults to false. See Plugins::EndpointDiscovery for more details.

  • :http_continue_timeout (Float) — default: 1 —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_idle_timeout (Integer) — default: 5 —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_open_timeout (Integer) — default: 15 —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_proxy (String) —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_read_timeout (Integer) — default: 60 —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_wire_trace (Boolean) — default: false —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :log_level (Symbol) — default: :info —

    The log level to send messages to the logger at. See Plugins::Logging for more details.

  • :log_formatter (Logging::LogFormatter) —

    The log formatter. Defaults to Seahorse::Client::Logging::Formatter.default. See Plugins::Logging for more details.

  • :logger (Logger) — default: nil —

    The Logger instance to send log messages to. If this option is not set, logging will be disabled. See Plugins::Logging for more details.

  • :profile (String) —

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used. See Plugins::RequestSigner for more details.

  • :raise_response_errors (Boolean) — default: true —

    When true, response errors are raised. See Seahorse::Client::Plugins::RaiseResponseErrors for more details.

  • :region (required, String) —

    The AWS region to connect to. The region is used to construct the client endpoint. Defaults to ENV['AWS_REGION']. Also checks AMAZON_REGION and AWS_DEFAULT_REGION. See Plugins::RegionalEndpoint for more details.

  • :retry_limit (Integer) — default: 3 —

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors and auth errors from expired credentials. See Plugins::RetryErrors for more details.

  • :secret_access_key (String) —

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :session_token (String) —

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :ssl_ca_bundle (String) —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_directory (String) —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_store (String) —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_verify_peer (Boolean) — default: true —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :stub_responses (Boolean) — default: false —

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled. See Plugins::StubResponses for more details.

  • :validate_params (Boolean) — default: true —

    When true, request parameters are validated before sending the request. See Plugins::ParamValidator for more details.

Instance Method Details

#configure_logs(options = {}) ⇒ Types::ConfigureLogsResponse

Changes the Channel's properities to configure log subscription

Examples:

Request syntax with placeholder values


resp = client.configure_logs({
  egress_access_logs: {
    log_group_name: "__string",
  },
  id: "__string", # required
  ingress_access_logs: {
    log_group_name: "__string",
  },
})

Response structure


resp.arn #=> String
resp.description #=> String
resp.egress_access_logs.log_group_name #=> String
resp.hls_ingest.ingest_endpoints #=> Array
resp.hls_ingest.ingest_endpoints[0].id #=> String
resp.hls_ingest.ingest_endpoints[0].password #=> String
resp.hls_ingest.ingest_endpoints[0].url #=> String
resp.hls_ingest.ingest_endpoints[0].username #=> String
resp.id #=> String
resp.ingress_access_logs.log_group_name #=> String
resp.tags #=> Hash
resp.tags["__string"] #=> String

Options Hash (options):

Returns:

See Also:

#create_channel(options = {}) ⇒ Types::CreateChannelResponse

Creates a new Channel.

Examples:

Request syntax with placeholder values


resp = client.create_channel({
  description: "__string",
  id: "__string", # required
  tags: {
    "__string" => "__string",
  },
})

Response structure


resp.arn #=> String
resp.description #=> String
resp.egress_access_logs.log_group_name #=> String
resp.hls_ingest.ingest_endpoints #=> Array
resp.hls_ingest.ingest_endpoints[0].id #=> String
resp.hls_ingest.ingest_endpoints[0].password #=> String
resp.hls_ingest.ingest_endpoints[0].url #=> String
resp.hls_ingest.ingest_endpoints[0].username #=> String
resp.id #=> String
resp.ingress_access_logs.log_group_name #=> String
resp.tags #=> Hash
resp.tags["__string"] #=> String

Options Hash (options):

  • :description (String)
  • :id (required, String)
  • :tags (Hash<String,String>) —

    A collection of tags associated with a resource

Returns:

See Also:

#create_harvest_job(options = {}) ⇒ Types::CreateHarvestJobResponse

Creates a new HarvestJob record.

Examples:

Request syntax with placeholder values


resp = client.create_harvest_job({
  end_time: "__string", # required
  id: "__string", # required
  origin_endpoint_id: "__string", # required
  s3_destination: { # required
    bucket_name: "__string", # required
    manifest_key: "__string", # required
    role_arn: "__string", # required
  },
  start_time: "__string", # required
})

Response structure


resp.arn #=> String
resp.channel_id #=> String
resp.created_at #=> String
resp.end_time #=> String
resp.id #=> String
resp.origin_endpoint_id #=> String
resp.s3_destination.bucket_name #=> String
resp.s3_destination.manifest_key #=> String
resp.s3_destination.role_arn #=> String
resp.start_time #=> String
resp.status #=> String, one of "IN_PROGRESS", "SUCCEEDED", "FAILED"

Options Hash (options):

  • :end_time (required, String)
  • :id (required, String)
  • :origin_endpoint_id (required, String)
  • :s3_destination (required, Types::S3Destination) —

    Configuration parameters for where in an S3 bucket to place the harvested content

  • :start_time (required, String)

Returns:

See Also:

#create_origin_endpoint(options = {}) ⇒ Types::CreateOriginEndpointResponse

Creates a new OriginEndpoint record.

Examples:

Request syntax with placeholder values


resp = client.create_origin_endpoint({
  authorization: {
    cdn_identifier_secret: "__string", # required
    secrets_role_arn: "__string", # required
  },
  channel_id: "__string", # required
  cmaf_package: {
    encryption: {
      key_rotation_interval_seconds: 1,
      speke_key_provider: { # required
        certificate_arn: "__string",
        resource_id: "__string", # required
        role_arn: "__string", # required
        system_ids: ["__string"], # required
        url: "__string", # required
      },
    },
    hls_manifests: [
      {
        ad_markers: "NONE", # accepts NONE, SCTE35_ENHANCED, PASSTHROUGH, DATERANGE
        ad_triggers: ["SPLICE_INSERT"], # accepts SPLICE_INSERT, BREAK, PROVIDER_ADVERTISEMENT, DISTRIBUTOR_ADVERTISEMENT, PROVIDER_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_PLACEMENT_OPPORTUNITY, PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY
        ads_on_delivery_restrictions: "NONE", # accepts NONE, RESTRICTED, UNRESTRICTED, BOTH
        id: "__string", # required
        include_iframe_only_stream: false,
        manifest_name: "__string",
        playlist_type: "NONE", # accepts NONE, EVENT, VOD
        playlist_window_seconds: 1,
        program_date_time_interval_seconds: 1,
      },
    ],
    segment_duration_seconds: 1,
    segment_prefix: "__string",
    stream_selection: {
      max_video_bits_per_second: 1,
      min_video_bits_per_second: 1,
      stream_order: "ORIGINAL", # accepts ORIGINAL, VIDEO_BITRATE_ASCENDING, VIDEO_BITRATE_DESCENDING
    },
  },
  dash_package: {
    ad_triggers: ["SPLICE_INSERT"], # accepts SPLICE_INSERT, BREAK, PROVIDER_ADVERTISEMENT, DISTRIBUTOR_ADVERTISEMENT, PROVIDER_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_PLACEMENT_OPPORTUNITY, PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY
    ads_on_delivery_restrictions: "NONE", # accepts NONE, RESTRICTED, UNRESTRICTED, BOTH
    encryption: {
      key_rotation_interval_seconds: 1,
      speke_key_provider: { # required
        certificate_arn: "__string",
        resource_id: "__string", # required
        role_arn: "__string", # required
        system_ids: ["__string"], # required
        url: "__string", # required
      },
    },
    manifest_layout: "FULL", # accepts FULL, COMPACT
    manifest_window_seconds: 1,
    min_buffer_time_seconds: 1,
    min_update_period_seconds: 1,
    period_triggers: ["ADS"], # accepts ADS
    profile: "NONE", # accepts NONE, HBBTV_1_5
    segment_duration_seconds: 1,
    segment_template_format: "NUMBER_WITH_TIMELINE", # accepts NUMBER_WITH_TIMELINE, TIME_WITH_TIMELINE, NUMBER_WITH_DURATION
    stream_selection: {
      max_video_bits_per_second: 1,
      min_video_bits_per_second: 1,
      stream_order: "ORIGINAL", # accepts ORIGINAL, VIDEO_BITRATE_ASCENDING, VIDEO_BITRATE_DESCENDING
    },
    suggested_presentation_delay_seconds: 1,
    utc_timing: "NONE", # accepts NONE, HTTP-HEAD, HTTP-ISO
    utc_timing_uri: "__string",
  },
  description: "__string",
  hls_package: {
    ad_markers: "NONE", # accepts NONE, SCTE35_ENHANCED, PASSTHROUGH, DATERANGE
    ad_triggers: ["SPLICE_INSERT"], # accepts SPLICE_INSERT, BREAK, PROVIDER_ADVERTISEMENT, DISTRIBUTOR_ADVERTISEMENT, PROVIDER_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_PLACEMENT_OPPORTUNITY, PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY
    ads_on_delivery_restrictions: "NONE", # accepts NONE, RESTRICTED, UNRESTRICTED, BOTH
    encryption: {
      constant_initialization_vector: "__string",
      encryption_method: "AES_128", # accepts AES_128, SAMPLE_AES
      key_rotation_interval_seconds: 1,
      repeat_ext_x_key: false,
      speke_key_provider: { # required
        certificate_arn: "__string",
        resource_id: "__string", # required
        role_arn: "__string", # required
        system_ids: ["__string"], # required
        url: "__string", # required
      },
    },
    include_iframe_only_stream: false,
    playlist_type: "NONE", # accepts NONE, EVENT, VOD
    playlist_window_seconds: 1,
    program_date_time_interval_seconds: 1,
    segment_duration_seconds: 1,
    stream_selection: {
      max_video_bits_per_second: 1,
      min_video_bits_per_second: 1,
      stream_order: "ORIGINAL", # accepts ORIGINAL, VIDEO_BITRATE_ASCENDING, VIDEO_BITRATE_DESCENDING
    },
    use_audio_rendition_group: false,
  },
  id: "__string", # required
  manifest_name: "__string",
  mss_package: {
    encryption: {
      speke_key_provider: { # required
        certificate_arn: "__string",
        resource_id: "__string", # required
        role_arn: "__string", # required
        system_ids: ["__string"], # required
        url: "__string", # required
      },
    },
    manifest_window_seconds: 1,
    segment_duration_seconds: 1,
    stream_selection: {
      max_video_bits_per_second: 1,
      min_video_bits_per_second: 1,
      stream_order: "ORIGINAL", # accepts ORIGINAL, VIDEO_BITRATE_ASCENDING, VIDEO_BITRATE_DESCENDING
    },
  },
  origination: "ALLOW", # accepts ALLOW, DENY
  startover_window_seconds: 1,
  tags: {
    "__string" => "__string",
  },
  time_delay_seconds: 1,
  whitelist: ["__string"],
})

Response structure


resp.arn #=> String
resp.authorization.cdn_identifier_secret #=> String
resp.authorization.secrets_role_arn #=> String
resp.channel_id #=> String
resp.cmaf_package.encryption.key_rotation_interval_seconds #=> Integer
resp.cmaf_package.encryption.speke_key_provider.certificate_arn #=> String
resp.cmaf_package.encryption.speke_key_provider.resource_id #=> String
resp.cmaf_package.encryption.speke_key_provider.role_arn #=> String
resp.cmaf_package.encryption.speke_key_provider.system_ids #=> Array
resp.cmaf_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.cmaf_package.encryption.speke_key_provider.url #=> String
resp.cmaf_package.hls_manifests #=> Array
resp.cmaf_package.hls_manifests[0].ad_markers #=> String, one of "NONE", "SCTE35_ENHANCED", "PASSTHROUGH", "DATERANGE"
resp.cmaf_package.hls_manifests[0].id #=> String
resp.cmaf_package.hls_manifests[0].include_iframe_only_stream #=> true/false
resp.cmaf_package.hls_manifests[0].manifest_name #=> String
resp.cmaf_package.hls_manifests[0].playlist_type #=> String, one of "NONE", "EVENT", "VOD"
resp.cmaf_package.hls_manifests[0].playlist_window_seconds #=> Integer
resp.cmaf_package.hls_manifests[0].program_date_time_interval_seconds #=> Integer
resp.cmaf_package.hls_manifests[0].url #=> String
resp.cmaf_package.segment_duration_seconds #=> Integer
resp.cmaf_package.segment_prefix #=> String
resp.cmaf_package.stream_selection.max_video_bits_per_second #=> Integer
resp.cmaf_package.stream_selection.min_video_bits_per_second #=> Integer
resp.cmaf_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.dash_package.ad_triggers #=> Array
resp.dash_package.ad_triggers[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"
resp.dash_package.ads_on_delivery_restrictions #=> String, one of "NONE", "RESTRICTED", "UNRESTRICTED", "BOTH"
resp.dash_package.encryption.key_rotation_interval_seconds #=> Integer
resp.dash_package.encryption.speke_key_provider.certificate_arn #=> String
resp.dash_package.encryption.speke_key_provider.resource_id #=> String
resp.dash_package.encryption.speke_key_provider.role_arn #=> String
resp.dash_package.encryption.speke_key_provider.system_ids #=> Array
resp.dash_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.dash_package.encryption.speke_key_provider.url #=> String
resp.dash_package.manifest_layout #=> String, one of "FULL", "COMPACT"
resp.dash_package.manifest_window_seconds #=> Integer
resp.dash_package.min_buffer_time_seconds #=> Integer
resp.dash_package.min_update_period_seconds #=> Integer
resp.dash_package.period_triggers #=> Array
resp.dash_package.period_triggers[0] #=> String, one of "ADS"
resp.dash_package.profile #=> String, one of "NONE", "HBBTV_1_5"
resp.dash_package.segment_duration_seconds #=> Integer
resp.dash_package.segment_template_format #=> String, one of "NUMBER_WITH_TIMELINE", "TIME_WITH_TIMELINE", "NUMBER_WITH_DURATION"
resp.dash_package.stream_selection.max_video_bits_per_second #=> Integer
resp.dash_package.stream_selection.min_video_bits_per_second #=> Integer
resp.dash_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.dash_package.suggested_presentation_delay_seconds #=> Integer
resp.dash_package.utc_timing #=> String, one of "NONE", "HTTP-HEAD", "HTTP-ISO"
resp.dash_package.utc_timing_uri #=> String
resp.description #=> String
resp.hls_package.ad_markers #=> String, one of "NONE", "SCTE35_ENHANCED", "PASSTHROUGH", "DATERANGE"
resp.hls_package.ad_triggers #=> Array
resp.hls_package.ad_triggers[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"
resp.hls_package.ads_on_delivery_restrictions #=> String, one of "NONE", "RESTRICTED", "UNRESTRICTED", "BOTH"
resp.hls_package.encryption.constant_initialization_vector #=> String
resp.hls_package.encryption.encryption_method #=> String, one of "AES_128", "SAMPLE_AES"
resp.hls_package.encryption.key_rotation_interval_seconds #=> Integer
resp.hls_package.encryption.repeat_ext_x_key #=> true/false
resp.hls_package.encryption.speke_key_provider.certificate_arn #=> String
resp.hls_package.encryption.speke_key_provider.resource_id #=> String
resp.hls_package.encryption.speke_key_provider.role_arn #=> String
resp.hls_package.encryption.speke_key_provider.system_ids #=> Array
resp.hls_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.hls_package.encryption.speke_key_provider.url #=> String
resp.hls_package.include_iframe_only_stream #=> true/false
resp.hls_package.playlist_type #=> String, one of "NONE", "EVENT", "VOD"
resp.hls_package.playlist_window_seconds #=> Integer
resp.hls_package.program_date_time_interval_seconds #=> Integer
resp.hls_package.segment_duration_seconds #=> Integer
resp.hls_package.stream_selection.max_video_bits_per_second #=> Integer
resp.hls_package.stream_selection.min_video_bits_per_second #=> Integer
resp.hls_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.hls_package.use_audio_rendition_group #=> true/false
resp.id #=> String
resp.manifest_name #=> String
resp.mss_package.encryption.speke_key_provider.certificate_arn #=> String
resp.mss_package.encryption.speke_key_provider.resource_id #=> String
resp.mss_package.encryption.speke_key_provider.role_arn #=> String
resp.mss_package.encryption.speke_key_provider.system_ids #=> Array
resp.mss_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.mss_package.encryption.speke_key_provider.url #=> String
resp.mss_package.manifest_window_seconds #=> Integer
resp.mss_package.segment_duration_seconds #=> Integer
resp.mss_package.stream_selection.max_video_bits_per_second #=> Integer
resp.mss_package.stream_selection.min_video_bits_per_second #=> Integer
resp.mss_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.origination #=> String, one of "ALLOW", "DENY"
resp.startover_window_seconds #=> Integer
resp.tags #=> Hash
resp.tags["__string"] #=> String
resp.time_delay_seconds #=> Integer
resp.url #=> String
resp.whitelist #=> Array
resp.whitelist[0] #=> String

Options Hash (options):

  • :authorization (Types::Authorization) —

    CDN Authorization credentials

  • :channel_id (required, String)
  • :cmaf_package (Types::CmafPackageCreateOrUpdateParameters) —

    A Common Media Application Format (CMAF) packaging configuration.

  • :dash_package (Types::DashPackage) —

    A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.

  • :description (String)
  • :hls_package (Types::HlsPackage) —

    An HTTP Live Streaming (HLS) packaging configuration.

  • :id (required, String)
  • :manifest_name (String)
  • :mss_package (Types::MssPackage) —

    A Microsoft Smooth Streaming (MSS) packaging configuration.

  • :origination (String)
  • :startover_window_seconds (Integer)
  • :tags (Hash<String,String>) —

    A collection of tags associated with a resource

  • :time_delay_seconds (Integer)
  • :whitelist (Array<String>)

Returns:

See Also:

#delete_channel(options = {}) ⇒ Struct

Deletes an existing Channel.

Examples:

Request syntax with placeholder values


resp = client.delete_channel({
  id: "__string", # required
})

Options Hash (options):

  • :id (required, String)

Returns:

  • (Struct) —

    Returns an empty response.

See Also:

#delete_origin_endpoint(options = {}) ⇒ Struct

Deletes an existing OriginEndpoint.

Examples:

Request syntax with placeholder values


resp = client.delete_origin_endpoint({
  id: "__string", # required
})

Options Hash (options):

  • :id (required, String)

Returns:

  • (Struct) —

    Returns an empty response.

See Also:

#describe_channel(options = {}) ⇒ Types::DescribeChannelResponse

Gets details about a Channel.

Examples:

Request syntax with placeholder values


resp = client.describe_channel({
  id: "__string", # required
})

Response structure


resp.arn #=> String
resp.description #=> String
resp.egress_access_logs.log_group_name #=> String
resp.hls_ingest.ingest_endpoints #=> Array
resp.hls_ingest.ingest_endpoints[0].id #=> String
resp.hls_ingest.ingest_endpoints[0].password #=> String
resp.hls_ingest.ingest_endpoints[0].url #=> String
resp.hls_ingest.ingest_endpoints[0].username #=> String
resp.id #=> String
resp.ingress_access_logs.log_group_name #=> String
resp.tags #=> Hash
resp.tags["__string"] #=> String

Options Hash (options):

  • :id (required, String)

Returns:

See Also:

#describe_harvest_job(options = {}) ⇒ Types::DescribeHarvestJobResponse

Gets details about an existing HarvestJob.

Examples:

Request syntax with placeholder values


resp = client.describe_harvest_job({
  id: "__string", # required
})

Response structure


resp.arn #=> String
resp.channel_id #=> String
resp.created_at #=> String
resp.end_time #=> String
resp.id #=> String
resp.origin_endpoint_id #=> String
resp.s3_destination.bucket_name #=> String
resp.s3_destination.manifest_key #=> String
resp.s3_destination.role_arn #=> String
resp.start_time #=> String
resp.status #=> String, one of "IN_PROGRESS", "SUCCEEDED", "FAILED"

Options Hash (options):

  • :id (required, String)

Returns:

See Also:

#describe_origin_endpoint(options = {}) ⇒ Types::DescribeOriginEndpointResponse

Gets details about an existing OriginEndpoint.

Examples:

Request syntax with placeholder values


resp = client.describe_origin_endpoint({
  id: "__string", # required
})

Response structure


resp.arn #=> String
resp.authorization.cdn_identifier_secret #=> String
resp.authorization.secrets_role_arn #=> String
resp.channel_id #=> String
resp.cmaf_package.encryption.key_rotation_interval_seconds #=> Integer
resp.cmaf_package.encryption.speke_key_provider.certificate_arn #=> String
resp.cmaf_package.encryption.speke_key_provider.resource_id #=> String
resp.cmaf_package.encryption.speke_key_provider.role_arn #=> String
resp.cmaf_package.encryption.speke_key_provider.system_ids #=> Array
resp.cmaf_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.cmaf_package.encryption.speke_key_provider.url #=> String
resp.cmaf_package.hls_manifests #=> Array
resp.cmaf_package.hls_manifests[0].ad_markers #=> String, one of "NONE", "SCTE35_ENHANCED", "PASSTHROUGH", "DATERANGE"
resp.cmaf_package.hls_manifests[0].id #=> String
resp.cmaf_package.hls_manifests[0].include_iframe_only_stream #=> true/false
resp.cmaf_package.hls_manifests[0].manifest_name #=> String
resp.cmaf_package.hls_manifests[0].playlist_type #=> String, one of "NONE", "EVENT", "VOD"
resp.cmaf_package.hls_manifests[0].playlist_window_seconds #=> Integer
resp.cmaf_package.hls_manifests[0].program_date_time_interval_seconds #=> Integer
resp.cmaf_package.hls_manifests[0].url #=> String
resp.cmaf_package.segment_duration_seconds #=> Integer
resp.cmaf_package.segment_prefix #=> String
resp.cmaf_package.stream_selection.max_video_bits_per_second #=> Integer
resp.cmaf_package.stream_selection.min_video_bits_per_second #=> Integer
resp.cmaf_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.dash_package.ad_triggers #=> Array
resp.dash_package.ad_triggers[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"
resp.dash_package.ads_on_delivery_restrictions #=> String, one of "NONE", "RESTRICTED", "UNRESTRICTED", "BOTH"
resp.dash_package.encryption.key_rotation_interval_seconds #=> Integer
resp.dash_package.encryption.speke_key_provider.certificate_arn #=> String
resp.dash_package.encryption.speke_key_provider.resource_id #=> String
resp.dash_package.encryption.speke_key_provider.role_arn #=> String
resp.dash_package.encryption.speke_key_provider.system_ids #=> Array
resp.dash_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.dash_package.encryption.speke_key_provider.url #=> String
resp.dash_package.manifest_layout #=> String, one of "FULL", "COMPACT"
resp.dash_package.manifest_window_seconds #=> Integer
resp.dash_package.min_buffer_time_seconds #=> Integer
resp.dash_package.min_update_period_seconds #=> Integer
resp.dash_package.period_triggers #=> Array
resp.dash_package.period_triggers[0] #=> String, one of "ADS"
resp.dash_package.profile #=> String, one of "NONE", "HBBTV_1_5"
resp.dash_package.segment_duration_seconds #=> Integer
resp.dash_package.segment_template_format #=> String, one of "NUMBER_WITH_TIMELINE", "TIME_WITH_TIMELINE", "NUMBER_WITH_DURATION"
resp.dash_package.stream_selection.max_video_bits_per_second #=> Integer
resp.dash_package.stream_selection.min_video_bits_per_second #=> Integer
resp.dash_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.dash_package.suggested_presentation_delay_seconds #=> Integer
resp.dash_package.utc_timing #=> String, one of "NONE", "HTTP-HEAD", "HTTP-ISO"
resp.dash_package.utc_timing_uri #=> String
resp.description #=> String
resp.hls_package.ad_markers #=> String, one of "NONE", "SCTE35_ENHANCED", "PASSTHROUGH", "DATERANGE"
resp.hls_package.ad_triggers #=> Array
resp.hls_package.ad_triggers[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"
resp.hls_package.ads_on_delivery_restrictions #=> String, one of "NONE", "RESTRICTED", "UNRESTRICTED", "BOTH"
resp.hls_package.encryption.constant_initialization_vector #=> String
resp.hls_package.encryption.encryption_method #=> String, one of "AES_128", "SAMPLE_AES"
resp.hls_package.encryption.key_rotation_interval_seconds #=> Integer
resp.hls_package.encryption.repeat_ext_x_key #=> true/false
resp.hls_package.encryption.speke_key_provider.certificate_arn #=> String
resp.hls_package.encryption.speke_key_provider.resource_id #=> String
resp.hls_package.encryption.speke_key_provider.role_arn #=> String
resp.hls_package.encryption.speke_key_provider.system_ids #=> Array
resp.hls_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.hls_package.encryption.speke_key_provider.url #=> String
resp.hls_package.include_iframe_only_stream #=> true/false
resp.hls_package.playlist_type #=> String, one of "NONE", "EVENT", "VOD"
resp.hls_package.playlist_window_seconds #=> Integer
resp.hls_package.program_date_time_interval_seconds #=> Integer
resp.hls_package.segment_duration_seconds #=> Integer
resp.hls_package.stream_selection.max_video_bits_per_second #=> Integer
resp.hls_package.stream_selection.min_video_bits_per_second #=> Integer
resp.hls_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.hls_package.use_audio_rendition_group #=> true/false
resp.id #=> String
resp.manifest_name #=> String
resp.mss_package.encryption.speke_key_provider.certificate_arn #=> String
resp.mss_package.encryption.speke_key_provider.resource_id #=> String
resp.mss_package.encryption.speke_key_provider.role_arn #=> String
resp.mss_package.encryption.speke_key_provider.system_ids #=> Array
resp.mss_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.mss_package.encryption.speke_key_provider.url #=> String
resp.mss_package.manifest_window_seconds #=> Integer
resp.mss_package.segment_duration_seconds #=> Integer
resp.mss_package.stream_selection.max_video_bits_per_second #=> Integer
resp.mss_package.stream_selection.min_video_bits_per_second #=> Integer
resp.mss_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.origination #=> String, one of "ALLOW", "DENY"
resp.startover_window_seconds #=> Integer
resp.tags #=> Hash
resp.tags["__string"] #=> String
resp.time_delay_seconds #=> Integer
resp.url #=> String
resp.whitelist #=> Array
resp.whitelist[0] #=> String

Options Hash (options):

  • :id (required, String)

Returns:

See Also:

#list_channels(options = {}) ⇒ Types::ListChannelsResponse

Returns a collection of Channels.

Examples:

Request syntax with placeholder values


resp = client.list_channels({
  max_results: 1,
  next_token: "__string",
})

Response structure


resp.channels #=> Array
resp.channels[0].arn #=> String
resp.channels[0].description #=> String
resp.channels[0].egress_access_logs.log_group_name #=> String
resp.channels[0].hls_ingest.ingest_endpoints #=> Array
resp.channels[0].hls_ingest.ingest_endpoints[0].id #=> String
resp.channels[0].hls_ingest.ingest_endpoints[0].password #=> String
resp.channels[0].hls_ingest.ingest_endpoints[0].url #=> String
resp.channels[0].hls_ingest.ingest_endpoints[0].username #=> String
resp.channels[0].id #=> String
resp.channels[0].ingress_access_logs.log_group_name #=> String
resp.channels[0].tags #=> Hash
resp.channels[0].tags["__string"] #=> String
resp.next_token #=> String

Options Hash (options):

  • :max_results (Integer)
  • :next_token (String)

Returns:

See Also:

#list_harvest_jobs(options = {}) ⇒ Types::ListHarvestJobsResponse

Returns a collection of HarvestJob records.

Examples:

Request syntax with placeholder values


resp = client.list_harvest_jobs({
  include_channel_id: "__string",
  include_status: "__string",
  max_results: 1,
  next_token: "__string",
})

Response structure


resp.harvest_jobs #=> Array
resp.harvest_jobs[0].arn #=> String
resp.harvest_jobs[0].channel_id #=> String
resp.harvest_jobs[0].created_at #=> String
resp.harvest_jobs[0].end_time #=> String
resp.harvest_jobs[0].id #=> String
resp.harvest_jobs[0].origin_endpoint_id #=> String
resp.harvest_jobs[0].s3_destination.bucket_name #=> String
resp.harvest_jobs[0].s3_destination.manifest_key #=> String
resp.harvest_jobs[0].s3_destination.role_arn #=> String
resp.harvest_jobs[0].start_time #=> String
resp.harvest_jobs[0].status #=> String, one of "IN_PROGRESS", "SUCCEEDED", "FAILED"
resp.next_token #=> String

Options Hash (options):

  • :include_channel_id (String)
  • :include_status (String)
  • :max_results (Integer)
  • :next_token (String)

Returns:

See Also:

#list_origin_endpoints(options = {}) ⇒ Types::ListOriginEndpointsResponse

Returns a collection of OriginEndpoint records.

Examples:

Request syntax with placeholder values


resp = client.list_origin_endpoints({
  channel_id: "__string",
  max_results: 1,
  next_token: "__string",
})

Response structure


resp.next_token #=> String
resp.origin_endpoints #=> Array
resp.origin_endpoints[0].arn #=> String
resp.origin_endpoints[0].authorization.cdn_identifier_secret #=> String
resp.origin_endpoints[0].authorization.secrets_role_arn #=> String
resp.origin_endpoints[0].channel_id #=> String
resp.origin_endpoints[0].cmaf_package.encryption.key_rotation_interval_seconds #=> Integer
resp.origin_endpoints[0].cmaf_package.encryption.speke_key_provider.certificate_arn #=> String
resp.origin_endpoints[0].cmaf_package.encryption.speke_key_provider.resource_id #=> String
resp.origin_endpoints[0].cmaf_package.encryption.speke_key_provider.role_arn #=> String
resp.origin_endpoints[0].cmaf_package.encryption.speke_key_provider.system_ids #=> Array
resp.origin_endpoints[0].cmaf_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.origin_endpoints[0].cmaf_package.encryption.speke_key_provider.url #=> String
resp.origin_endpoints[0].cmaf_package.hls_manifests #=> Array
resp.origin_endpoints[0].cmaf_package.hls_manifests[0].ad_markers #=> String, one of "NONE", "SCTE35_ENHANCED", "PASSTHROUGH", "DATERANGE"
resp.origin_endpoints[0].cmaf_package.hls_manifests[0].id #=> String
resp.origin_endpoints[0].cmaf_package.hls_manifests[0].include_iframe_only_stream #=> true/false
resp.origin_endpoints[0].cmaf_package.hls_manifests[0].manifest_name #=> String
resp.origin_endpoints[0].cmaf_package.hls_manifests[0].playlist_type #=> String, one of "NONE", "EVENT", "VOD"
resp.origin_endpoints[0].cmaf_package.hls_manifests[0].playlist_window_seconds #=> Integer
resp.origin_endpoints[0].cmaf_package.hls_manifests[0].program_date_time_interval_seconds #=> Integer
resp.origin_endpoints[0].cmaf_package.hls_manifests[0].url #=> String
resp.origin_endpoints[0].cmaf_package.segment_duration_seconds #=> Integer
resp.origin_endpoints[0].cmaf_package.segment_prefix #=> String
resp.origin_endpoints[0].cmaf_package.stream_selection.max_video_bits_per_second #=> Integer
resp.origin_endpoints[0].cmaf_package.stream_selection.min_video_bits_per_second #=> Integer
resp.origin_endpoints[0].cmaf_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.origin_endpoints[0].dash_package.ad_triggers #=> Array
resp.origin_endpoints[0].dash_package.ad_triggers[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"
resp.origin_endpoints[0].dash_package.ads_on_delivery_restrictions #=> String, one of "NONE", "RESTRICTED", "UNRESTRICTED", "BOTH"
resp.origin_endpoints[0].dash_package.encryption.key_rotation_interval_seconds #=> Integer
resp.origin_endpoints[0].dash_package.encryption.speke_key_provider.certificate_arn #=> String
resp.origin_endpoints[0].dash_package.encryption.speke_key_provider.resource_id #=> String
resp.origin_endpoints[0].dash_package.encryption.speke_key_provider.role_arn #=> String
resp.origin_endpoints[0].dash_package.encryption.speke_key_provider.system_ids #=> Array
resp.origin_endpoints[0].dash_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.origin_endpoints[0].dash_package.encryption.speke_key_provider.url #=> String
resp.origin_endpoints[0].dash_package.manifest_layout #=> String, one of "FULL", "COMPACT"
resp.origin_endpoints[0].dash_package.manifest_window_seconds #=> Integer
resp.origin_endpoints[0].dash_package.min_buffer_time_seconds #=> Integer
resp.origin_endpoints[0].dash_package.min_update_period_seconds #=> Integer
resp.origin_endpoints[0].dash_package.period_triggers #=> Array
resp.origin_endpoints[0].dash_package.period_triggers[0] #=> String, one of "ADS"
resp.origin_endpoints[0].dash_package.profile #=> String, one of "NONE", "HBBTV_1_5"
resp.origin_endpoints[0].dash_package.segment_duration_seconds #=> Integer
resp.origin_endpoints[0].dash_package.segment_template_format #=> String, one of "NUMBER_WITH_TIMELINE", "TIME_WITH_TIMELINE", "NUMBER_WITH_DURATION"
resp.origin_endpoints[0].dash_package.stream_selection.max_video_bits_per_second #=> Integer
resp.origin_endpoints[0].dash_package.stream_selection.min_video_bits_per_second #=> Integer
resp.origin_endpoints[0].dash_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.origin_endpoints[0].dash_package.suggested_presentation_delay_seconds #=> Integer
resp.origin_endpoints[0].dash_package.utc_timing #=> String, one of "NONE", "HTTP-HEAD", "HTTP-ISO"
resp.origin_endpoints[0].dash_package.utc_timing_uri #=> String
resp.origin_endpoints[0].description #=> String
resp.origin_endpoints[0].hls_package.ad_markers #=> String, one of "NONE", "SCTE35_ENHANCED", "PASSTHROUGH", "DATERANGE"
resp.origin_endpoints[0].hls_package.ad_triggers #=> Array
resp.origin_endpoints[0].hls_package.ad_triggers[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"
resp.origin_endpoints[0].hls_package.ads_on_delivery_restrictions #=> String, one of "NONE", "RESTRICTED", "UNRESTRICTED", "BOTH"
resp.origin_endpoints[0].hls_package.encryption.constant_initialization_vector #=> String
resp.origin_endpoints[0].hls_package.encryption.encryption_method #=> String, one of "AES_128", "SAMPLE_AES"
resp.origin_endpoints[0].hls_package.encryption.key_rotation_interval_seconds #=> Integer
resp.origin_endpoints[0].hls_package.encryption.repeat_ext_x_key #=> true/false
resp.origin_endpoints[0].hls_package.encryption.speke_key_provider.certificate_arn #=> String
resp.origin_endpoints[0].hls_package.encryption.speke_key_provider.resource_id #=> String
resp.origin_endpoints[0].hls_package.encryption.speke_key_provider.role_arn #=> String
resp.origin_endpoints[0].hls_package.encryption.speke_key_provider.system_ids #=> Array
resp.origin_endpoints[0].hls_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.origin_endpoints[0].hls_package.encryption.speke_key_provider.url #=> String
resp.origin_endpoints[0].hls_package.include_iframe_only_stream #=> true/false
resp.origin_endpoints[0].hls_package.playlist_type #=> String, one of "NONE", "EVENT", "VOD"
resp.origin_endpoints[0].hls_package.playlist_window_seconds #=> Integer
resp.origin_endpoints[0].hls_package.program_date_time_interval_seconds #=> Integer
resp.origin_endpoints[0].hls_package.segment_duration_seconds #=> Integer
resp.origin_endpoints[0].hls_package.stream_selection.max_video_bits_per_second #=> Integer
resp.origin_endpoints[0].hls_package.stream_selection.min_video_bits_per_second #=> Integer
resp.origin_endpoints[0].hls_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.origin_endpoints[0].hls_package.use_audio_rendition_group #=> true/false
resp.origin_endpoints[0].id #=> String
resp.origin_endpoints[0].manifest_name #=> String
resp.origin_endpoints[0].mss_package.encryption.speke_key_provider.certificate_arn #=> String
resp.origin_endpoints[0].mss_package.encryption.speke_key_provider.resource_id #=> String
resp.origin_endpoints[0].mss_package.encryption.speke_key_provider.role_arn #=> String
resp.origin_endpoints[0].mss_package.encryption.speke_key_provider.system_ids #=> Array
resp.origin_endpoints[0].mss_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.origin_endpoints[0].mss_package.encryption.speke_key_provider.url #=> String
resp.origin_endpoints[0].mss_package.manifest_window_seconds #=> Integer
resp.origin_endpoints[0].mss_package.segment_duration_seconds #=> Integer
resp.origin_endpoints[0].mss_package.stream_selection.max_video_bits_per_second #=> Integer
resp.origin_endpoints[0].mss_package.stream_selection.min_video_bits_per_second #=> Integer
resp.origin_endpoints[0].mss_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.origin_endpoints[0].origination #=> String, one of "ALLOW", "DENY"
resp.origin_endpoints[0].startover_window_seconds #=> Integer
resp.origin_endpoints[0].tags #=> Hash
resp.origin_endpoints[0].tags["__string"] #=> String
resp.origin_endpoints[0].time_delay_seconds #=> Integer
resp.origin_endpoints[0].url #=> String
resp.origin_endpoints[0].whitelist #=> Array
resp.origin_endpoints[0].whitelist[0] #=> String

Options Hash (options):

  • :channel_id (String)
  • :max_results (Integer)
  • :next_token (String)

Returns:

See Also:

#list_tags_for_resource(options = {}) ⇒ Types::ListTagsForResourceResponse

Returns a response object which responds to the following methods:

  • #tags => Hash<String,String>

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "__string", # required
})

Response structure


resp.tags #=> Hash
resp.tags["__string"] #=> String

Options Hash (options):

  • :resource_arn (required, String)

Returns:

See Also:

#rotate_channel_credentials(options = {}) ⇒ Types::RotateChannelCredentialsResponse

Changes the Channel's first IngestEndpoint's username and password. WARNING - This API is deprecated. Please use RotateIngestEndpointCredentials instead

Examples:

Request syntax with placeholder values


resp = client.rotate_channel_credentials({
  id: "__string", # required
})

Response structure


resp.arn #=> String
resp.description #=> String
resp.egress_access_logs.log_group_name #=> String
resp.hls_ingest.ingest_endpoints #=> Array
resp.hls_ingest.ingest_endpoints[0].id #=> String
resp.hls_ingest.ingest_endpoints[0].password #=> String
resp.hls_ingest.ingest_endpoints[0].url #=> String
resp.hls_ingest.ingest_endpoints[0].username #=> String
resp.id #=> String
resp.ingress_access_logs.log_group_name #=> String
resp.tags #=> Hash
resp.tags["__string"] #=> String

Options Hash (options):

  • :id (required, String)

Returns:

See Also:

#rotate_ingest_endpoint_credentials(options = {}) ⇒ Types::RotateIngestEndpointCredentialsResponse

Rotate the IngestEndpoint's username and password, as specified by the IngestEndpoint's id.

Examples:

Request syntax with placeholder values


resp = client.rotate_ingest_endpoint_credentials({
  id: "__string", # required
  ingest_endpoint_id: "__string", # required
})

Response structure


resp.arn #=> String
resp.description #=> String
resp.egress_access_logs.log_group_name #=> String
resp.hls_ingest.ingest_endpoints #=> Array
resp.hls_ingest.ingest_endpoints[0].id #=> String
resp.hls_ingest.ingest_endpoints[0].password #=> String
resp.hls_ingest.ingest_endpoints[0].url #=> String
resp.hls_ingest.ingest_endpoints[0].username #=> String
resp.id #=> String
resp.ingress_access_logs.log_group_name #=> String
resp.tags #=> Hash
resp.tags["__string"] #=> String

Options Hash (options):

  • :id (required, String)
  • :ingest_endpoint_id (required, String)

Returns:

See Also:

#tag_resource(options = {}) ⇒ Struct

Returns an empty response.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "__string", # required
  tags: { # required
    "__string" => "__string",
  },
})

Options Hash (options):

  • :resource_arn (required, String)
  • :tags (required, Hash<String,String>)

Returns:

  • (Struct) —

    Returns an empty response.

See Also:

#untag_resource(options = {}) ⇒ Struct

Returns an empty response.

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "__string", # required
  tag_keys: ["__string"], # required
})

Options Hash (options):

  • :resource_arn (required, String)
  • :tag_keys (required, Array<String>)

Returns:

  • (Struct) —

    Returns an empty response.

See Also:

#update_channel(options = {}) ⇒ Types::UpdateChannelResponse

Updates an existing Channel.

Examples:

Request syntax with placeholder values


resp = client.update_channel({
  description: "__string",
  id: "__string", # required
})

Response structure


resp.arn #=> String
resp.description #=> String
resp.egress_access_logs.log_group_name #=> String
resp.hls_ingest.ingest_endpoints #=> Array
resp.hls_ingest.ingest_endpoints[0].id #=> String
resp.hls_ingest.ingest_endpoints[0].password #=> String
resp.hls_ingest.ingest_endpoints[0].url #=> String
resp.hls_ingest.ingest_endpoints[0].username #=> String
resp.id #=> String
resp.ingress_access_logs.log_group_name #=> String
resp.tags #=> Hash
resp.tags["__string"] #=> String

Options Hash (options):

  • :description (String)
  • :id (required, String)

Returns:

See Also:

#update_origin_endpoint(options = {}) ⇒ Types::UpdateOriginEndpointResponse

Updates an existing OriginEndpoint.

Examples:

Request syntax with placeholder values


resp = client.update_origin_endpoint({
  authorization: {
    cdn_identifier_secret: "__string", # required
    secrets_role_arn: "__string", # required
  },
  cmaf_package: {
    encryption: {
      key_rotation_interval_seconds: 1,
      speke_key_provider: { # required
        certificate_arn: "__string",
        resource_id: "__string", # required
        role_arn: "__string", # required
        system_ids: ["__string"], # required
        url: "__string", # required
      },
    },
    hls_manifests: [
      {
        ad_markers: "NONE", # accepts NONE, SCTE35_ENHANCED, PASSTHROUGH, DATERANGE
        ad_triggers: ["SPLICE_INSERT"], # accepts SPLICE_INSERT, BREAK, PROVIDER_ADVERTISEMENT, DISTRIBUTOR_ADVERTISEMENT, PROVIDER_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_PLACEMENT_OPPORTUNITY, PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY
        ads_on_delivery_restrictions: "NONE", # accepts NONE, RESTRICTED, UNRESTRICTED, BOTH
        id: "__string", # required
        include_iframe_only_stream: false,
        manifest_name: "__string",
        playlist_type: "NONE", # accepts NONE, EVENT, VOD
        playlist_window_seconds: 1,
        program_date_time_interval_seconds: 1,
      },
    ],
    segment_duration_seconds: 1,
    segment_prefix: "__string",
    stream_selection: {
      max_video_bits_per_second: 1,
      min_video_bits_per_second: 1,
      stream_order: "ORIGINAL", # accepts ORIGINAL, VIDEO_BITRATE_ASCENDING, VIDEO_BITRATE_DESCENDING
    },
  },
  dash_package: {
    ad_triggers: ["SPLICE_INSERT"], # accepts SPLICE_INSERT, BREAK, PROVIDER_ADVERTISEMENT, DISTRIBUTOR_ADVERTISEMENT, PROVIDER_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_PLACEMENT_OPPORTUNITY, PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY
    ads_on_delivery_restrictions: "NONE", # accepts NONE, RESTRICTED, UNRESTRICTED, BOTH
    encryption: {
      key_rotation_interval_seconds: 1,
      speke_key_provider: { # required
        certificate_arn: "__string",
        resource_id: "__string", # required
        role_arn: "__string", # required
        system_ids: ["__string"], # required
        url: "__string", # required
      },
    },
    manifest_layout: "FULL", # accepts FULL, COMPACT
    manifest_window_seconds: 1,
    min_buffer_time_seconds: 1,
    min_update_period_seconds: 1,
    period_triggers: ["ADS"], # accepts ADS
    profile: "NONE", # accepts NONE, HBBTV_1_5
    segment_duration_seconds: 1,
    segment_template_format: "NUMBER_WITH_TIMELINE", # accepts NUMBER_WITH_TIMELINE, TIME_WITH_TIMELINE, NUMBER_WITH_DURATION
    stream_selection: {
      max_video_bits_per_second: 1,
      min_video_bits_per_second: 1,
      stream_order: "ORIGINAL", # accepts ORIGINAL, VIDEO_BITRATE_ASCENDING, VIDEO_BITRATE_DESCENDING
    },
    suggested_presentation_delay_seconds: 1,
    utc_timing: "NONE", # accepts NONE, HTTP-HEAD, HTTP-ISO
    utc_timing_uri: "__string",
  },
  description: "__string",
  hls_package: {
    ad_markers: "NONE", # accepts NONE, SCTE35_ENHANCED, PASSTHROUGH, DATERANGE
    ad_triggers: ["SPLICE_INSERT"], # accepts SPLICE_INSERT, BREAK, PROVIDER_ADVERTISEMENT, DISTRIBUTOR_ADVERTISEMENT, PROVIDER_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_PLACEMENT_OPPORTUNITY, PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY, DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY
    ads_on_delivery_restrictions: "NONE", # accepts NONE, RESTRICTED, UNRESTRICTED, BOTH
    encryption: {
      constant_initialization_vector: "__string",
      encryption_method: "AES_128", # accepts AES_128, SAMPLE_AES
      key_rotation_interval_seconds: 1,
      repeat_ext_x_key: false,
      speke_key_provider: { # required
        certificate_arn: "__string",
        resource_id: "__string", # required
        role_arn: "__string", # required
        system_ids: ["__string"], # required
        url: "__string", # required
      },
    },
    include_iframe_only_stream: false,
    playlist_type: "NONE", # accepts NONE, EVENT, VOD
    playlist_window_seconds: 1,
    program_date_time_interval_seconds: 1,
    segment_duration_seconds: 1,
    stream_selection: {
      max_video_bits_per_second: 1,
      min_video_bits_per_second: 1,
      stream_order: "ORIGINAL", # accepts ORIGINAL, VIDEO_BITRATE_ASCENDING, VIDEO_BITRATE_DESCENDING
    },
    use_audio_rendition_group: false,
  },
  id: "__string", # required
  manifest_name: "__string",
  mss_package: {
    encryption: {
      speke_key_provider: { # required
        certificate_arn: "__string",
        resource_id: "__string", # required
        role_arn: "__string", # required
        system_ids: ["__string"], # required
        url: "__string", # required
      },
    },
    manifest_window_seconds: 1,
    segment_duration_seconds: 1,
    stream_selection: {
      max_video_bits_per_second: 1,
      min_video_bits_per_second: 1,
      stream_order: "ORIGINAL", # accepts ORIGINAL, VIDEO_BITRATE_ASCENDING, VIDEO_BITRATE_DESCENDING
    },
  },
  origination: "ALLOW", # accepts ALLOW, DENY
  startover_window_seconds: 1,
  time_delay_seconds: 1,
  whitelist: ["__string"],
})

Response structure


resp.arn #=> String
resp.authorization.cdn_identifier_secret #=> String
resp.authorization.secrets_role_arn #=> String
resp.channel_id #=> String
resp.cmaf_package.encryption.key_rotation_interval_seconds #=> Integer
resp.cmaf_package.encryption.speke_key_provider.certificate_arn #=> String
resp.cmaf_package.encryption.speke_key_provider.resource_id #=> String
resp.cmaf_package.encryption.speke_key_provider.role_arn #=> String
resp.cmaf_package.encryption.speke_key_provider.system_ids #=> Array
resp.cmaf_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.cmaf_package.encryption.speke_key_provider.url #=> String
resp.cmaf_package.hls_manifests #=> Array
resp.cmaf_package.hls_manifests[0].ad_markers #=> String, one of "NONE", "SCTE35_ENHANCED", "PASSTHROUGH", "DATERANGE"
resp.cmaf_package.hls_manifests[0].id #=> String
resp.cmaf_package.hls_manifests[0].include_iframe_only_stream #=> true/false
resp.cmaf_package.hls_manifests[0].manifest_name #=> String
resp.cmaf_package.hls_manifests[0].playlist_type #=> String, one of "NONE", "EVENT", "VOD"
resp.cmaf_package.hls_manifests[0].playlist_window_seconds #=> Integer
resp.cmaf_package.hls_manifests[0].program_date_time_interval_seconds #=> Integer
resp.cmaf_package.hls_manifests[0].url #=> String
resp.cmaf_package.segment_duration_seconds #=> Integer
resp.cmaf_package.segment_prefix #=> String
resp.cmaf_package.stream_selection.max_video_bits_per_second #=> Integer
resp.cmaf_package.stream_selection.min_video_bits_per_second #=> Integer
resp.cmaf_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.dash_package.ad_triggers #=> Array
resp.dash_package.ad_triggers[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"
resp.dash_package.ads_on_delivery_restrictions #=> String, one of "NONE", "RESTRICTED", "UNRESTRICTED", "BOTH"
resp.dash_package.encryption.key_rotation_interval_seconds #=> Integer
resp.dash_package.encryption.speke_key_provider.certificate_arn #=> String
resp.dash_package.encryption.speke_key_provider.resource_id #=> String
resp.dash_package.encryption.speke_key_provider.role_arn #=> String
resp.dash_package.encryption.speke_key_provider.system_ids #=> Array
resp.dash_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.dash_package.encryption.speke_key_provider.url #=> String
resp.dash_package.manifest_layout #=> String, one of "FULL", "COMPACT"
resp.dash_package.manifest_window_seconds #=> Integer
resp.dash_package.min_buffer_time_seconds #=> Integer
resp.dash_package.min_update_period_seconds #=> Integer
resp.dash_package.period_triggers #=> Array
resp.dash_package.period_triggers[0] #=> String, one of "ADS"
resp.dash_package.profile #=> String, one of "NONE", "HBBTV_1_5"
resp.dash_package.segment_duration_seconds #=> Integer
resp.dash_package.segment_template_format #=> String, one of "NUMBER_WITH_TIMELINE", "TIME_WITH_TIMELINE", "NUMBER_WITH_DURATION"
resp.dash_package.stream_selection.max_video_bits_per_second #=> Integer
resp.dash_package.stream_selection.min_video_bits_per_second #=> Integer
resp.dash_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.dash_package.suggested_presentation_delay_seconds #=> Integer
resp.dash_package.utc_timing #=> String, one of "NONE", "HTTP-HEAD", "HTTP-ISO"
resp.dash_package.utc_timing_uri #=> String
resp.description #=> String
resp.hls_package.ad_markers #=> String, one of "NONE", "SCTE35_ENHANCED", "PASSTHROUGH", "DATERANGE"
resp.hls_package.ad_triggers #=> Array
resp.hls_package.ad_triggers[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"
resp.hls_package.ads_on_delivery_restrictions #=> String, one of "NONE", "RESTRICTED", "UNRESTRICTED", "BOTH"
resp.hls_package.encryption.constant_initialization_vector #=> String
resp.hls_package.encryption.encryption_method #=> String, one of "AES_128", "SAMPLE_AES"
resp.hls_package.encryption.key_rotation_interval_seconds #=> Integer
resp.hls_package.encryption.repeat_ext_x_key #=> true/false
resp.hls_package.encryption.speke_key_provider.certificate_arn #=> String
resp.hls_package.encryption.speke_key_provider.resource_id #=> String
resp.hls_package.encryption.speke_key_provider.role_arn #=> String
resp.hls_package.encryption.speke_key_provider.system_ids #=> Array
resp.hls_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.hls_package.encryption.speke_key_provider.url #=> String
resp.hls_package.include_iframe_only_stream #=> true/false
resp.hls_package.playlist_type #=> String, one of "NONE", "EVENT", "VOD"
resp.hls_package.playlist_window_seconds #=> Integer
resp.hls_package.program_date_time_interval_seconds #=> Integer
resp.hls_package.segment_duration_seconds #=> Integer
resp.hls_package.stream_selection.max_video_bits_per_second #=> Integer
resp.hls_package.stream_selection.min_video_bits_per_second #=> Integer
resp.hls_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.hls_package.use_audio_rendition_group #=> true/false
resp.id #=> String
resp.manifest_name #=> String
resp.mss_package.encryption.speke_key_provider.certificate_arn #=> String
resp.mss_package.encryption.speke_key_provider.resource_id #=> String
resp.mss_package.encryption.speke_key_provider.role_arn #=> String
resp.mss_package.encryption.speke_key_provider.system_ids #=> Array
resp.mss_package.encryption.speke_key_provider.system_ids[0] #=> String
resp.mss_package.encryption.speke_key_provider.url #=> String
resp.mss_package.manifest_window_seconds #=> Integer
resp.mss_package.segment_duration_seconds #=> Integer
resp.mss_package.stream_selection.max_video_bits_per_second #=> Integer
resp.mss_package.stream_selection.min_video_bits_per_second #=> Integer
resp.mss_package.stream_selection.stream_order #=> String, one of "ORIGINAL", "VIDEO_BITRATE_ASCENDING", "VIDEO_BITRATE_DESCENDING"
resp.origination #=> String, one of "ALLOW", "DENY"
resp.startover_window_seconds #=> Integer
resp.tags #=> Hash
resp.tags["__string"] #=> String
resp.time_delay_seconds #=> Integer
resp.url #=> String
resp.whitelist #=> Array
resp.whitelist[0] #=> String

Options Hash (options):

  • :authorization (Types::Authorization) —

    CDN Authorization credentials

  • :cmaf_package (Types::CmafPackageCreateOrUpdateParameters) —

    A Common Media Application Format (CMAF) packaging configuration.

  • :dash_package (Types::DashPackage) —

    A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.

  • :description (String)
  • :hls_package (Types::HlsPackage) —

    An HTTP Live Streaming (HLS) packaging configuration.

  • :id (required, String)
  • :manifest_name (String)
  • :mss_package (Types::MssPackage) —

    A Microsoft Smooth Streaming (MSS) packaging configuration.

  • :origination (String)
  • :startover_window_seconds (Integer)
  • :time_delay_seconds (Integer)
  • :whitelist (Array<String>)

Returns:

See Also:

#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean

Waiters polls an API operation until a resource enters a desired state.

Basic Usage

Waiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.

# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)

Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:

# poll for ~25 seconds
client.wait_until(...) do |w|
  w.max_attempts = 5
  w.delay = 5
end

Callbacks

You can be notified before each polling attempt and before each delay. If you throw :success or :failure from these callbacks, it will terminate the waiter.

started_at = Time.now
client.wait_until(...) do |w|

  # disable max attempts
  w.max_attempts = nil

  # poll for 1 hour, instead of a number of attempts
  w.before_wait do |attempts, response|
    throw :failure if Time.now - started_at > 3600
  end

end

Handling Errors

When a waiter is successful, it returns true. When a waiter fails, it raises an error. All errors raised extend from Waiters::Errors::WaiterFailed.

begin
  client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
  # resource did not enter the desired state in time
end

Parameters:

  • waiter_name (Symbol) —

    The name of the waiter. See #waiter_names for a full list of supported waiters.

  • params (Hash) (defaults to: {}) —

    Additional request parameters. See the #waiter_names for a list of supported waiters and what request they call. The called request determines the list of accepted parameters.

Yield Parameters:

Returns:

  • (Boolean) —

    Returns true if the waiter was successful.

Raises:

  • (Errors::FailureStateError) —

    Raised when the waiter terminates because the waiter has entered a state that it will not transition out of, preventing success.

  • (Errors::TooManyAttemptsError) —

    Raised when the configured maximum number of attempts have been made, and the waiter is not yet successful.

  • (Errors::UnexpectedError) —

    Raised when an error is encounted while polling for a resource that is not expected.

  • (Errors::NoSuchWaiterError) —

    Raised when you request to wait for an unknown state.

#waiter_names ⇒ Array<Symbol>

Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:

Waiter NameClient MethodDefault Delay:Default Max Attempts:

Returns:

  • (Array<Symbol>) —

    the list of supported waiters.