public function withEndpointGroupConfigurations()

in src/Ga/V20191120/GaApiResolver.php [892:943]


	public function withEndpointGroupConfigurations(array $endpointGroupConfigurations)
	{
	    $this->data['EndpointGroupConfigurations'] = $endpointGroupConfigurations;
		foreach ($endpointGroupConfigurations as $depth1 => $depth1Value) {
			if(isset($depth1Value['EndpointGroupRegion'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EndpointGroupRegion'] = $depth1Value['EndpointGroupRegion'];
			}
			if(isset($depth1Value['Name'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.Name'] = $depth1Value['Name'];
			}
			if(isset($depth1Value['Description'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.Description'] = $depth1Value['Description'];
			}
			foreach ($depth1Value['DestinationConfigurations'] as $depth2 => $depth2Value) {
				foreach ($depth2Value['Protocols'] as $i => $iValue) {
					$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.DestinationConfigurations.' . ($depth2 + 1) . '.Protocols.' . ($i + 1)] = $iValue;
				}
				if(isset($depth2Value['FromPort'])){
					$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.DestinationConfigurations.' . ($depth2 + 1) . '.FromPort'] = $depth2Value['FromPort'];
				}
				if(isset($depth2Value['ToPort'])){
					$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.DestinationConfigurations.' . ($depth2 + 1) . '.ToPort'] = $depth2Value['ToPort'];
				}
			}
			foreach ($depth1Value['EndpointConfigurations'] as $depth2 => $depth2Value) {
				if(isset($depth2Value['Type'])){
					$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EndpointConfigurations.' . ($depth2 + 1) . '.Type'] = $depth2Value['Type'];
				}
				if(isset($depth2Value['Endpoint'])){
					$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EndpointConfigurations.' . ($depth2 + 1) . '.Endpoint'] = $depth2Value['Endpoint'];
				}
				if(isset($depth2Value['TrafficToEndpointPolicy'])){
					$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EndpointConfigurations.' . ($depth2 + 1) . '.TrafficToEndpointPolicy'] = $depth2Value['TrafficToEndpointPolicy'];
				}
				foreach ($depth2Value['PolicyConfigurations'] as $depth3 => $depth3Value) {
					if(isset($depth3Value['Address'])){
						$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EndpointConfigurations.' . ($depth2 + 1) . '.PolicyConfigurations.' . ($depth3 + 1) . '.Address'] = $depth3Value['Address'];
					}
					foreach ($depth3Value['PortRanges'] as $depth4 => $depth4Value) {
						if(isset($depth4Value['FromPort'])){
							$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EndpointConfigurations.' . ($depth2 + 1) . '.PolicyConfigurations.' . ($depth3 + 1) . '.PortRanges.' . ($depth4 + 1) . '.FromPort'] = $depth4Value['FromPort'];
						}
						if(isset($depth4Value['ToPort'])){
							$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EndpointConfigurations.' . ($depth2 + 1) . '.PolicyConfigurations.' . ($depth3 + 1) . '.PortRanges.' . ($depth4 + 1) . '.ToPort'] = $depth4Value['ToPort'];
						}
					}
				}
			}
		}

		return $this;
    }