public function withEndpointGroupConfigurations()

in src/Ga/V20191120/GaApiResolver.php [1204:1272]


	public function withEndpointGroupConfigurations(array $endpointGroupConfigurations)
	{
	    $this->data['EndpointGroupConfigurations'] = $endpointGroupConfigurations;
		foreach ($endpointGroupConfigurations as $depth1 => $depth1Value) {
			if(isset($depth1Value['EndpointGroupName'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EndpointGroupName'] = $depth1Value['EndpointGroupName'];
			}
			if(isset($depth1Value['EndpointGroupDescription'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EndpointGroupDescription'] = $depth1Value['EndpointGroupDescription'];
			}
			if(isset($depth1Value['EndpointGroupRegion'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EndpointGroupRegion'] = $depth1Value['EndpointGroupRegion'];
			}
			if(isset($depth1Value['TrafficPercentage'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.TrafficPercentage'] = $depth1Value['TrafficPercentage'];
			}
			if(isset($depth1Value['HealthCheckEnabled'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.HealthCheckEnabled'] = $depth1Value['HealthCheckEnabled'];
			}
			if(isset($depth1Value['HealthCheckIntervalSeconds'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.HealthCheckIntervalSeconds'] = $depth1Value['HealthCheckIntervalSeconds'];
			}
			if(isset($depth1Value['HealthCheckPath'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.HealthCheckPath'] = $depth1Value['HealthCheckPath'];
			}
			if(isset($depth1Value['HealthCheckPort'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.HealthCheckPort'] = $depth1Value['HealthCheckPort'];
			}
			if(isset($depth1Value['HealthCheckProtocol'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.HealthCheckProtocol'] = $depth1Value['HealthCheckProtocol'];
			}
			if(isset($depth1Value['ThresholdCount'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.ThresholdCount'] = $depth1Value['ThresholdCount'];
			}
			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['Weight'])){
					$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EndpointConfigurations.' . ($depth2 + 1) . '.Weight'] = $depth2Value['Weight'];
				}
				if(isset($depth2Value['Endpoint'])){
					$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EndpointConfigurations.' . ($depth2 + 1) . '.Endpoint'] = $depth2Value['Endpoint'];
				}
			}
			if(isset($depth1Value['EndpointRequestProtocol'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EndpointRequestProtocol'] = $depth1Value['EndpointRequestProtocol'];
			}
			if(isset($depth1Value['EndpointGroupType'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EndpointGroupType'] = $depth1Value['EndpointGroupType'];
			}
			foreach ($depth1Value['PortOverrides'] as $depth2 => $depth2Value) {
				if(isset($depth2Value['ListenerPort'])){
					$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.PortOverrides.' . ($depth2 + 1) . '.ListenerPort'] = $depth2Value['ListenerPort'];
				}
				if(isset($depth2Value['EndpointPort'])){
					$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.PortOverrides.' . ($depth2 + 1) . '.EndpointPort'] = $depth2Value['EndpointPort'];
				}
			}
			if(isset($depth1Value['EnableClientIPPreservationToa'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EnableClientIPPreservationToa'] = $depth1Value['EnableClientIPPreservationToa'];
			}
			if(isset($depth1Value['EnableClientIPPreservationProxyProtocol'])){
				$this->options['query']['EndpointGroupConfigurations.' . ($depth1 + 1) . '.EnableClientIPPreservationProxyProtocol'] = $depth1Value['EnableClientIPPreservationProxyProtocol'];
			}
		}

		return $this;
    }