class Aws::MediaConnect::Types::CreateFlowRequest

Creates a new flow. The request must include one source. The request optionally can include outputs (up to 50) and entitlements (up to 50.)

@note When making an API call, you may pass CreateFlowRequest

data as a hash:

    {
      availability_zone: "__string",
      entitlements: [
        {
          data_transfer_subscriber_fee_percent: 1,
          description: "__string",
          encryption: {
            algorithm: "aes128", # accepts aes128, aes192, aes256
            constant_initialization_vector: "__string",
            device_id: "__string",
            key_type: "speke", # accepts speke, static-key, srt-password
            region: "__string",
            resource_id: "__string",
            role_arn: "__string", # required
            secret_arn: "__string",
            url: "__string",
          },
          entitlement_status: "ENABLED", # accepts ENABLED, DISABLED
          name: "__string",
          subscribers: ["__string"], # required
        },
      ],
      media_streams: [
        {
          attributes: {
            fmtp: {
              channel_order: "__string",
              colorimetry: "BT601", # accepts BT601, BT709, BT2020, BT2100, ST2065-1, ST2065-3, XYZ
              exact_framerate: "__string",
              par: "__string",
              range: "NARROW", # accepts NARROW, FULL, FULLPROTECT
              scan_mode: "progressive", # accepts progressive, interlace, progressive-segmented-frame
              tcs: "SDR", # accepts SDR, PQ, HLG, LINEAR, BT2100LINPQ, BT2100LINHLG, ST2065-1, ST428-1, DENSITY
            },
            lang: "__string",
          },
          clock_rate: 1,
          description: "__string",
          media_stream_id: 1, # required
          media_stream_name: "__string", # required
          media_stream_type: "video", # required, accepts video, audio, ancillary-data
          video_format: "__string",
        },
      ],
      name: "__string", # required
      outputs: [
        {
          cidr_allow_list: ["__string"],
          description: "__string",
          destination: "__string",
          encryption: {
            algorithm: "aes128", # accepts aes128, aes192, aes256
            constant_initialization_vector: "__string",
            device_id: "__string",
            key_type: "speke", # accepts speke, static-key, srt-password
            region: "__string",
            resource_id: "__string",
            role_arn: "__string", # required
            secret_arn: "__string",
            url: "__string",
          },
          max_latency: 1,
          media_stream_output_configurations: [
            {
              destination_configurations: [
                {
                  destination_ip: "__string", # required
                  destination_port: 1, # required
                  interface: { # required
                    name: "__string", # required
                  },
                },
              ],
              encoding_name: "jxsv", # required, accepts jxsv, raw, smpte291, pcm
              encoding_parameters: {
                compression_factor: 1.0, # required
                encoder_profile: "main", # required, accepts main, high
              },
              media_stream_name: "__string", # required
            },
          ],
          min_latency: 1,
          name: "__string",
          port: 1,
          protocol: "zixi-push", # required, accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
          remote_id: "__string",
          smoothing_latency: 1,
          stream_id: "__string",
          vpc_interface_attachment: {
            vpc_interface_name: "__string",
          },
        },
      ],
      source: {
        decryption: {
          algorithm: "aes128", # accepts aes128, aes192, aes256
          constant_initialization_vector: "__string",
          device_id: "__string",
          key_type: "speke", # accepts speke, static-key, srt-password
          region: "__string",
          resource_id: "__string",
          role_arn: "__string", # required
          secret_arn: "__string",
          url: "__string",
        },
        description: "__string",
        entitlement_arn: "__string",
        ingest_port: 1,
        max_bitrate: 1,
        max_latency: 1,
        max_sync_buffer: 1,
        media_stream_source_configurations: [
          {
            encoding_name: "jxsv", # required, accepts jxsv, raw, smpte291, pcm
            input_configurations: [
              {
                input_port: 1, # required
                interface: { # required
                  name: "__string", # required
                },
              },
            ],
            media_stream_name: "__string", # required
          },
        ],
        min_latency: 1,
        name: "__string",
        protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
        stream_id: "__string",
        vpc_interface_name: "__string",
        whitelist_cidr: "__string",
      },
      source_failover_config: {
        failover_mode: "MERGE", # accepts MERGE, FAILOVER
        recovery_window: 1,
        source_priority: {
          primary_source: "__string",
        },
        state: "ENABLED", # accepts ENABLED, DISABLED
      },
      sources: [
        {
          decryption: {
            algorithm: "aes128", # accepts aes128, aes192, aes256
            constant_initialization_vector: "__string",
            device_id: "__string",
            key_type: "speke", # accepts speke, static-key, srt-password
            region: "__string",
            resource_id: "__string",
            role_arn: "__string", # required
            secret_arn: "__string",
            url: "__string",
          },
          description: "__string",
          entitlement_arn: "__string",
          ingest_port: 1,
          max_bitrate: 1,
          max_latency: 1,
          max_sync_buffer: 1,
          media_stream_source_configurations: [
            {
              encoding_name: "jxsv", # required, accepts jxsv, raw, smpte291, pcm
              input_configurations: [
                {
                  input_port: 1, # required
                  interface: { # required
                    name: "__string", # required
                  },
                },
              ],
              media_stream_name: "__string", # required
            },
          ],
          min_latency: 1,
          name: "__string",
          protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
          stream_id: "__string",
          vpc_interface_name: "__string",
          whitelist_cidr: "__string",
        },
      ],
      vpc_interfaces: [
        {
          name: "__string", # required
          network_interface_type: "ena", # accepts ena, efa
          role_arn: "__string", # required
          security_group_ids: ["__string"], # required
          subnet_id: "__string", # required
        },
      ],
    }

@!attribute [rw] availability_zone

The Availability Zone that you want to create the flow in. These
options are limited to the Availability Zones within the current AWS
Region.
@return [String]

@!attribute [rw] entitlements

The entitlements that you want to grant on a flow.
@return [Array<Types::GrantEntitlementRequest>]

@!attribute [rw] media_streams

The media streams that you want to add to the flow. You can
associate these media streams with sources and outputs on the flow.
@return [Array<Types::AddMediaStreamRequest>]

@!attribute [rw] name

The name of the flow.
@return [String]

@!attribute [rw] outputs

The outputs that you want to add to this flow.
@return [Array<Types::AddOutputRequest>]

@!attribute [rw] source

The settings for the source of the flow.
@return [Types::SetSourceRequest]

@!attribute [rw] source_failover_config

The settings for source failover
@return [Types::FailoverConfig]

@!attribute [rw] sources

@return [Array<Types::SetSourceRequest>]

@!attribute [rw] vpc_interfaces

The VPC interfaces you want on the flow.
@return [Array<Types::VpcInterfaceRequest>]

@see docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/CreateFlowRequest AWS API Documentation

Constants

SENSITIVE