/// <summary>
 /// Initializes a new instance of the LiveEventInput class.
 /// </summary>
 /// <param name="streamingProtocol">The streaming protocol for the Live
 /// Event.  This is specified at creation time and cannot be updated.
 /// Possible values include: 'FragmentedMP4', 'RTMP'</param>
 /// <param name="accessControl">The access control for LiveEvent
 /// Input.</param>
 /// <param name="keyFrameIntervalDuration">ISO 8601 timespan duration
 /// of the key frame interval duration.</param>
 /// <param name="accessToken">A unique identifier for a stream.  This
 /// can be specified at creation time but cannot be updated.  If
 /// omitted, the service will generate a unique value.</param>
 /// <param name="endpoints">The input endpoints for the Live
 /// Event.</param>
 public LiveEventInput(LiveEventInputProtocol streamingProtocol, LiveEventInputAccessControl accessControl = default(LiveEventInputAccessControl), string keyFrameIntervalDuration = default(string), string accessToken = default(string), IList <LiveEventEndpoint> endpoints = default(IList <LiveEventEndpoint>))
 {
     StreamingProtocol        = streamingProtocol;
     AccessControl            = accessControl;
     KeyFrameIntervalDuration = keyFrameIntervalDuration;
     AccessToken = accessToken;
     Endpoints   = endpoints;
     CustomInit();
 }
        internal static string ToSerializedValue(this LiveEventInputProtocol value)
        {
            switch (value)
            {
            case LiveEventInputProtocol.FragmentedMP4:
                return("FragmentedMP4");

            case LiveEventInputProtocol.RTMP:
                return("RTMP");
            }
            return(null);
        }