/**
  * Fill IPRange from array.
  *
  * @param array $options Array containing values for object properties
  */
 public function fromArray($options)
 {
     if (isset($options['Allow'])) {
         Validate::isArray($options['Allow'], 'options[Allow]');
         foreach ($options['Allow'] as $allow) {
             $this->_allow[] = IPRange::createFromOptions($allow);
         }
     }
 }
 private function makeChannelEncodingTypeStandard($name)
 {
     $channel = new Channel();
     $channel->setName($name);
     $channel->setDescription("Description of channel {$name}");
     // channel Input
     $channelInput = new ChannelInput();
     $channelInput->setStreamingProtocol(StreamingProtocol::RTPMPEG2TS);
     // channel Input\ChannelInputAccessControl
     $channelInputAccessControl = new ChannelInputAccessControl();
     $ciacIPAccessControl = new IPAccessControl();
     $ciacIPRange = new IPRange();
     $ciacIPRange->setName("default");
     $ciacIPRange->setAddress("0.0.0.0");
     $ciacIPRange->setSubnetPrefixLength("0");
     $ciacIPAccessControl->setAllow(array($ciacIPRange));
     $channelInputAccessControl->setIP($ciacIPAccessControl);
     $channelInput->setAccessControl($channelInputAccessControl);
     $channel->setInput($channelInput);
     // channel Preview
     $channelPreview = new ChannelPreview();
     // channel Preview\ChannelPreviewAccessControl
     $channelPreviewAccessControl = new ChannelPreviewAccessControl();
     $cpacIPAccessControl = new IPAccessControl();
     $cpacIPRange = new IPRange();
     $cpacIPRange->setName("default");
     $cpacIPRange->setAddress("0.0.0.0");
     $cpacIPRange->setSubnetPrefixLength("0");
     $cpacIPAccessControl->setAllow(array($cpacIPRange));
     $channelPreviewAccessControl->setIP($cpacIPAccessControl);
     $channelPreview->setAccessControl($channelPreviewAccessControl);
     $channel->setPreview($channelPreview);
     // encoding type
     $channel->setEncodingType(EncodingType::Standard);
     $channelEncoding = new ChannelEncoding();
     $channelEncoding->setSystemPreset(ChannelEncodingPresets::Default720p);
     $channelEncoding->setAdMarkerSource(AdMarkerSources::Scte35);
     $channelEncoding->setIgnoreCea708ClosedCaptions(true);
     $vs = new VideoStream();
     $vs->setIndex(0);
     $channelEncoding->setVideoStreams(array($vs));
     $as = new AudioStream();
     $as->setIndex(0);
     $as->setLanguage("eng");
     $channelEncoding->setAudioStreams(array($as));
     $channel->setEncoding($channelEncoding);
     // cors rules
     $channel->setCrossSiteAccessPolicies(new CrossSiteAccessPolicies());
     return $channel;
 }
function createOpenIPAccessControl()
{
    $iPAccessControl = new IPAccessControl();
    $iPRange = new IPRange();
    $iPRange->setName("default");
    $iPRange->setAddress("0.0.0.0");
    $iPRange->setSubnetPrefixLength("0");
    $iPAccessControl->setAllow(array($iPRange));
    return $iPAccessControl;
}