MediaLive / Client / create_input

create_input#

MediaLive.Client.create_input(**kwargs)#

Create an input

See also: AWS API Documentation

Request Syntax

response = client.create_input(
    Destinations=[
        {
            'StreamName': 'string'
        },
    ],
    InputDevices=[
        {
            'Id': 'string'
        },
    ],
    InputSecurityGroups=[
        'string',
    ],
    MediaConnectFlows=[
        {
            'FlowArn': 'string'
        },
    ],
    Name='string',
    RequestId='string',
    RoleArn='string',
    Sources=[
        {
            'PasswordParam': 'string',
            'Url': 'string',
            'Username': 'string'
        },
    ],
    Tags={
        'string': 'string'
    },
    Type='UDP_PUSH'|'RTP_PUSH'|'RTMP_PUSH'|'RTMP_PULL'|'URL_PULL'|'MP4_FILE'|'MEDIACONNECT'|'INPUT_DEVICE'|'AWS_CDI'|'TS_FILE'|'SRT_CALLER',
    Vpc={
        'SecurityGroupIds': [
            'string',
        ],
        'SubnetIds': [
            'string',
        ]
    },
    SrtSettings={
        'SrtCallerSources': [
            {
                'Decryption': {
                    'Algorithm': 'AES128'|'AES192'|'AES256',
                    'PassphraseSecretArn': 'string'
                },
                'MinimumLatency': 123,
                'SrtListenerAddress': 'string',
                'SrtListenerPort': 'string',
                'StreamId': 'string'
            },
        ]
    }
)
Parameters:
  • Destinations (list) –

    Destination settings for PUSH type inputs.

    • (dict) – Endpoint settings for a PUSH type input.

      • StreamName (string) – A unique name for the location the RTMP stream is being pushed to.

  • InputDevices (list) –

    Settings for the devices.

    • (dict) – Settings for an input device.

      • Id (string) – The unique ID for the device.

  • InputSecurityGroups (list) –

    A list of security groups referenced by IDs to attach to the input.

    • (string) – Placeholder documentation for __string

  • MediaConnectFlows (list) –

    A list of the MediaConnect Flows that you want to use in this input. You can specify as few as one Flow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a separate Availability Zone as this ensures your EML input is redundant to AZ issues.

    • (dict) – The settings for a MediaConnect Flow.

      • FlowArn (string) – The ARN of the MediaConnect Flow that you want to use as a source.

  • Name (string) – Name of the input.

  • RequestId (string) – Unique identifier of the request to ensure the request is handled exactly once in case of retries.This field is autopopulated if not provided.

  • RoleArn (string) – The Amazon Resource Name (ARN) of the role this input assumes during and after creation.

  • Sources (list) –

    The source URLs for a PULL-type input. Every PULL type input needs exactly two source URLs for redundancy. Only specify sources for PULL type Inputs. Leave Destinations empty.

    • (dict) – Settings for for a PULL type input.

      • PasswordParam (string) – The key used to extract the password from EC2 Parameter store.

      • Url (string) – This represents the customer’s source URL where stream is pulled from.

      • Username (string) – The username for the input source.

  • Tags (dict) –

    A collection of key-value pairs.

    • (string) – Placeholder documentation for __string

      • (string) – Placeholder documentation for __string

  • Type (string) – The different types of inputs that AWS Elemental MediaLive supports.

  • Vpc (dict) –

    Settings for a private VPC Input. When this property is specified, the input destination addresses will be created in a VPC rather than with public Internet addresses. This property requires setting the roleArn property on Input creation. Not compatible with the inputSecurityGroups property.

    • SecurityGroupIds (list) – A list of up to 5 EC2 VPC security group IDs to attach to the Input VPC network interfaces. Requires subnetIds. If none are specified then the VPC default security group will be used.

      • (string) – Placeholder documentation for __string

    • SubnetIds (list) – [REQUIRED] A list of 2 VPC subnet IDs from the same VPC. Subnet IDs must be mapped to two unique availability zones (AZ).

      • (string) – Placeholder documentation for __string

  • SrtSettings (dict) –

    The settings associated with an SRT input.

    • SrtCallerSources (list) – Placeholder documentation for __listOfSrtCallerSourceRequest

      • (dict) – Configures the connection for a source that uses SRT as the connection protocol. In terms of establishing the connection, MediaLive is always the caller and the upstream system is always the listener. In terms of transmission of the source content, MediaLive is always the receiver and the upstream system is always the sender.

        • Decryption (dict) – Complete these parameters only if the content is encrypted.

          • Algorithm (string) – The algorithm used to encrypt content.

          • PassphraseSecretArn (string) – The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. This secret holds the passphrase that MediaLive will use to decrypt the source content.

        • MinimumLatency (integer) – The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. Obtain this value from the operator at the upstream system.

        • SrtListenerAddress (string) – The IP address at the upstream system (the listener) that MediaLive (the caller) will connect to.

        • SrtListenerPort (string) – The port at the upstream system (the listener) that MediaLive (the caller) will connect to.

        • StreamId (string) – This value is required if the upstream system uses this identifier because without it, the SRT handshake between MediaLive (the caller) and the upstream system (the listener) might fail.

Return type:

dict

Returns:

Response Syntax

{
    'Input': {
        'Arn': 'string',
        'AttachedChannels': [
            'string',
        ],
        'Destinations': [
            {
                'Ip': 'string',
                'Port': 'string',
                'Url': 'string',
                'Vpc': {
                    'AvailabilityZone': 'string',
                    'NetworkInterfaceId': 'string'
                }
            },
        ],
        'Id': 'string',
        'InputClass': 'STANDARD'|'SINGLE_PIPELINE',
        'InputDevices': [
            {
                'Id': 'string'
            },
        ],
        'InputPartnerIds': [
            'string',
        ],
        'InputSourceType': 'STATIC'|'DYNAMIC',
        'MediaConnectFlows': [
            {
                'FlowArn': 'string'
            },
        ],
        'Name': 'string',
        'RoleArn': 'string',
        'SecurityGroups': [
            'string',
        ],
        'Sources': [
            {
                'PasswordParam': 'string',
                'Url': 'string',
                'Username': 'string'
            },
        ],
        'State': 'CREATING'|'DETACHED'|'ATTACHED'|'DELETING'|'DELETED',
        'Tags': {
            'string': 'string'
        },
        'Type': 'UDP_PUSH'|'RTP_PUSH'|'RTMP_PUSH'|'RTMP_PULL'|'URL_PULL'|'MP4_FILE'|'MEDIACONNECT'|'INPUT_DEVICE'|'AWS_CDI'|'TS_FILE'|'SRT_CALLER',
        'SrtSettings': {
            'SrtCallerSources': [
                {
                    'Decryption': {
                        'Algorithm': 'AES128'|'AES192'|'AES256',
                        'PassphraseSecretArn': 'string'
                    },
                    'MinimumLatency': 123,
                    'SrtListenerAddress': 'string',
                    'SrtListenerPort': 'string',
                    'StreamId': 'string'
                },
            ]
        }
    }
}

Response Structure

  • (dict) – Successfully created the input.

    • Input (dict) – Placeholder documentation for Input

      • Arn (string) – The Unique ARN of the input (generated, immutable).

      • AttachedChannels (list) – A list of channel IDs that that input is attached to (currently an input can only be attached to one channel).

        • (string) – Placeholder documentation for __string

      • Destinations (list) – A list of the destinations of the input (PUSH-type).

        • (dict) – The settings for a PUSH type input.

          • Ip (string) – The system-generated static IP address of endpoint. It remains fixed for the lifetime of the input.

          • Port (string) – The port number for the input.

          • Url (string) – This represents the endpoint that the customer stream will be pushed to.

          • Vpc (dict) – The properties for a VPC type input destination.

            • AvailabilityZone (string) – The availability zone of the Input destination.

            • NetworkInterfaceId (string) – The network interface ID of the Input destination in the VPC.

      • Id (string) – The generated ID of the input (unique for user account, immutable).

      • InputClass (string) – STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails. SINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input.

      • InputDevices (list) – Settings for the input devices.

        • (dict) – Settings for an input device.

          • Id (string) – The unique ID for the device.

      • InputPartnerIds (list) – A list of IDs for all Inputs which are partners of this one.

        • (string) – Placeholder documentation for __string

      • InputSourceType (string) – Certain pull input sources can be dynamic, meaning that they can have their URL’s dynamically changes during input switch actions. Presently, this functionality only works with MP4_FILE and TS_FILE inputs.

      • MediaConnectFlows (list) – A list of MediaConnect Flows for this input.

        • (dict) – The settings for a MediaConnect Flow.

          • FlowArn (string) – The unique ARN of the MediaConnect Flow being used as a source.

      • Name (string) – The user-assigned name (This is a mutable value).

      • RoleArn (string) – The Amazon Resource Name (ARN) of the role this input assumes during and after creation.

      • SecurityGroups (list) – A list of IDs for all the Input Security Groups attached to the input.

        • (string) – Placeholder documentation for __string

      • Sources (list) – A list of the sources of the input (PULL-type).

        • (dict) – The settings for a PULL type input.

          • PasswordParam (string) – The key used to extract the password from EC2 Parameter store.

          • Url (string) – This represents the customer’s source URL where stream is pulled from.

          • Username (string) – The username for the input source.

      • State (string) – Placeholder documentation for InputState

      • Tags (dict) – A collection of key-value pairs.

        • (string) – Placeholder documentation for __string

          • (string) – Placeholder documentation for __string

      • Type (string) – The different types of inputs that AWS Elemental MediaLive supports.

      • SrtSettings (dict) – The settings associated with an SRT input.

        • SrtCallerSources (list) – Placeholder documentation for __listOfSrtCallerSource

          • (dict) – The configuration for a source that uses SRT as the connection protocol. In terms of establishing the connection, MediaLive is always caller and the upstream system is always the listener. In terms of transmission of the source content, MediaLive is always the receiver and the upstream system is always the sender.

            • Decryption (dict) – The decryption settings for the SRT caller source. Present only if the source has decryption enabled.

              • Algorithm (string) – The algorithm used to encrypt content.

              • PassphraseSecretArn (string) – The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. The secret holds the passphrase that MediaLive uses to decrypt the source content.

            • MinimumLatency (integer) – The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT.

            • SrtListenerAddress (string) – The IP address at the upstream system (the listener) that MediaLive (the caller) connects to.

            • SrtListenerPort (string) – The port at the upstream system (the listener) that MediaLive (the caller) connects to.

            • StreamId (string) – The stream ID, if the upstream system uses this identifier.

Exceptions

  • MediaLive.Client.exceptions.BadRequestException

  • MediaLive.Client.exceptions.InternalServerErrorException

  • MediaLive.Client.exceptions.ForbiddenException

  • MediaLive.Client.exceptions.BadGatewayException

  • MediaLive.Client.exceptions.GatewayTimeoutException

  • MediaLive.Client.exceptions.TooManyRequestsException