import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class InputSourceRequest { Username ? : Value < string > ; PasswordParam ? : Value < string > ; Url ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class InputDeviceRequest { Id ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class InputDeviceSettings { Id ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class InputVpcRequest { SecurityGroupIds ? : List < Value < string > > ; SubnetIds ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class InputDestinationRequest { StreamName ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class MediaConnectFlowRequest { FlowArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface InputProperties { Type ? : Value < string > ; Destinations ? : List < InputDestinationRequest > ; Vpc ? : InputVpcRequest ; MediaConnectFlows ? : List < MediaConnectFlowRequest > ; InputSecurityGroups ? : List < Value < string > > ; InputDevices ? : List < InputDeviceSettings > ; Sources ? : List < InputSourceRequest > ; RoleArn ? : Value < string > ; Tags ? : { [ key ] : any ; } ; Name ? : Value < string > ; } export default class Input extends ResourceBase < InputProperties > { static InputSourceRequest = InputSourceRequest ; static InputDeviceRequest = InputDeviceRequest ; static InputDeviceSettings = InputDeviceSettings ; static InputVpcRequest = InputVpcRequest ; static InputDestinationRequest = InputDestinationRequest ; static MediaConnectFlowRequest = MediaConnectFlowRequest ; constructor ( properties ? ) { super ( 'AWS::MediaLive::Input' , properties || { } ) ; } }