1<?php 2/* 3 * Copyright 2014 Google Inc. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 6 * use this file except in compliance with the License. You may obtain a copy of 7 * the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 * License for the specific language governing permissions and limitations under 15 * the License. 16 */ 17 18namespace Google\Service\Compute; 19 20class InstanceProperties extends \Google\Collection 21{ 22 protected $collection_key = 'serviceAccounts'; 23 protected $advancedMachineFeaturesType = AdvancedMachineFeatures::class; 24 protected $advancedMachineFeaturesDataType = ''; 25 /** 26 * @var bool 27 */ 28 public $canIpForward; 29 protected $confidentialInstanceConfigType = ConfidentialInstanceConfig::class; 30 protected $confidentialInstanceConfigDataType = ''; 31 /** 32 * @var string 33 */ 34 public $description; 35 protected $disksType = AttachedDisk::class; 36 protected $disksDataType = 'array'; 37 protected $guestAcceleratorsType = AcceleratorConfig::class; 38 protected $guestAcceleratorsDataType = 'array'; 39 /** 40 * @var string[] 41 */ 42 public $labels; 43 /** 44 * @var string 45 */ 46 public $machineType; 47 protected $metadataType = Metadata::class; 48 protected $metadataDataType = ''; 49 /** 50 * @var string 51 */ 52 public $minCpuPlatform; 53 protected $networkInterfacesType = NetworkInterface::class; 54 protected $networkInterfacesDataType = 'array'; 55 protected $networkPerformanceConfigType = NetworkPerformanceConfig::class; 56 protected $networkPerformanceConfigDataType = ''; 57 /** 58 * @var string 59 */ 60 public $privateIpv6GoogleAccess; 61 protected $reservationAffinityType = ReservationAffinity::class; 62 protected $reservationAffinityDataType = ''; 63 /** 64 * @var string[] 65 */ 66 public $resourceManagerTags; 67 /** 68 * @var string[] 69 */ 70 public $resourcePolicies; 71 protected $schedulingType = Scheduling::class; 72 protected $schedulingDataType = ''; 73 protected $serviceAccountsType = ServiceAccount::class; 74 protected $serviceAccountsDataType = 'array'; 75 protected $shieldedInstanceConfigType = ShieldedInstanceConfig::class; 76 protected $shieldedInstanceConfigDataType = ''; 77 protected $tagsType = Tags::class; 78 protected $tagsDataType = ''; 79 80 /** 81 * @param AdvancedMachineFeatures 82 */ 83 public function setAdvancedMachineFeatures(AdvancedMachineFeatures $advancedMachineFeatures) 84 { 85 $this->advancedMachineFeatures = $advancedMachineFeatures; 86 } 87 /** 88 * @return AdvancedMachineFeatures 89 */ 90 public function getAdvancedMachineFeatures() 91 { 92 return $this->advancedMachineFeatures; 93 } 94 /** 95 * @param bool 96 */ 97 public function setCanIpForward($canIpForward) 98 { 99 $this->canIpForward = $canIpForward; 100 } 101 /** 102 * @return bool 103 */ 104 public function getCanIpForward() 105 { 106 return $this->canIpForward; 107 } 108 /** 109 * @param ConfidentialInstanceConfig 110 */ 111 public function setConfidentialInstanceConfig(ConfidentialInstanceConfig $confidentialInstanceConfig) 112 { 113 $this->confidentialInstanceConfig = $confidentialInstanceConfig; 114 } 115 /** 116 * @return ConfidentialInstanceConfig 117 */ 118 public function getConfidentialInstanceConfig() 119 { 120 return $this->confidentialInstanceConfig; 121 } 122 /** 123 * @param string 124 */ 125 public function setDescription($description) 126 { 127 $this->description = $description; 128 } 129 /** 130 * @return string 131 */ 132 public function getDescription() 133 { 134 return $this->description; 135 } 136 /** 137 * @param AttachedDisk[] 138 */ 139 public function setDisks($disks) 140 { 141 $this->disks = $disks; 142 } 143 /** 144 * @return AttachedDisk[] 145 */ 146 public function getDisks() 147 { 148 return $this->disks; 149 } 150 /** 151 * @param AcceleratorConfig[] 152 */ 153 public function setGuestAccelerators($guestAccelerators) 154 { 155 $this->guestAccelerators = $guestAccelerators; 156 } 157 /** 158 * @return AcceleratorConfig[] 159 */ 160 public function getGuestAccelerators() 161 { 162 return $this->guestAccelerators; 163 } 164 /** 165 * @param string[] 166 */ 167 public function setLabels($labels) 168 { 169 $this->labels = $labels; 170 } 171 /** 172 * @return string[] 173 */ 174 public function getLabels() 175 { 176 return $this->labels; 177 } 178 /** 179 * @param string 180 */ 181 public function setMachineType($machineType) 182 { 183 $this->machineType = $machineType; 184 } 185 /** 186 * @return string 187 */ 188 public function getMachineType() 189 { 190 return $this->machineType; 191 } 192 /** 193 * @param Metadata 194 */ 195 public function setMetadata(Metadata $metadata) 196 { 197 $this->metadata = $metadata; 198 } 199 /** 200 * @return Metadata 201 */ 202 public function getMetadata() 203 { 204 return $this->metadata; 205 } 206 /** 207 * @param string 208 */ 209 public function setMinCpuPlatform($minCpuPlatform) 210 { 211 $this->minCpuPlatform = $minCpuPlatform; 212 } 213 /** 214 * @return string 215 */ 216 public function getMinCpuPlatform() 217 { 218 return $this->minCpuPlatform; 219 } 220 /** 221 * @param NetworkInterface[] 222 */ 223 public function setNetworkInterfaces($networkInterfaces) 224 { 225 $this->networkInterfaces = $networkInterfaces; 226 } 227 /** 228 * @return NetworkInterface[] 229 */ 230 public function getNetworkInterfaces() 231 { 232 return $this->networkInterfaces; 233 } 234 /** 235 * @param NetworkPerformanceConfig 236 */ 237 public function setNetworkPerformanceConfig(NetworkPerformanceConfig $networkPerformanceConfig) 238 { 239 $this->networkPerformanceConfig = $networkPerformanceConfig; 240 } 241 /** 242 * @return NetworkPerformanceConfig 243 */ 244 public function getNetworkPerformanceConfig() 245 { 246 return $this->networkPerformanceConfig; 247 } 248 /** 249 * @param string 250 */ 251 public function setPrivateIpv6GoogleAccess($privateIpv6GoogleAccess) 252 { 253 $this->privateIpv6GoogleAccess = $privateIpv6GoogleAccess; 254 } 255 /** 256 * @return string 257 */ 258 public function getPrivateIpv6GoogleAccess() 259 { 260 return $this->privateIpv6GoogleAccess; 261 } 262 /** 263 * @param ReservationAffinity 264 */ 265 public function setReservationAffinity(ReservationAffinity $reservationAffinity) 266 { 267 $this->reservationAffinity = $reservationAffinity; 268 } 269 /** 270 * @return ReservationAffinity 271 */ 272 public function getReservationAffinity() 273 { 274 return $this->reservationAffinity; 275 } 276 /** 277 * @param string[] 278 */ 279 public function setResourceManagerTags($resourceManagerTags) 280 { 281 $this->resourceManagerTags = $resourceManagerTags; 282 } 283 /** 284 * @return string[] 285 */ 286 public function getResourceManagerTags() 287 { 288 return $this->resourceManagerTags; 289 } 290 /** 291 * @param string[] 292 */ 293 public function setResourcePolicies($resourcePolicies) 294 { 295 $this->resourcePolicies = $resourcePolicies; 296 } 297 /** 298 * @return string[] 299 */ 300 public function getResourcePolicies() 301 { 302 return $this->resourcePolicies; 303 } 304 /** 305 * @param Scheduling 306 */ 307 public function setScheduling(Scheduling $scheduling) 308 { 309 $this->scheduling = $scheduling; 310 } 311 /** 312 * @return Scheduling 313 */ 314 public function getScheduling() 315 { 316 return $this->scheduling; 317 } 318 /** 319 * @param ServiceAccount[] 320 */ 321 public function setServiceAccounts($serviceAccounts) 322 { 323 $this->serviceAccounts = $serviceAccounts; 324 } 325 /** 326 * @return ServiceAccount[] 327 */ 328 public function getServiceAccounts() 329 { 330 return $this->serviceAccounts; 331 } 332 /** 333 * @param ShieldedInstanceConfig 334 */ 335 public function setShieldedInstanceConfig(ShieldedInstanceConfig $shieldedInstanceConfig) 336 { 337 $this->shieldedInstanceConfig = $shieldedInstanceConfig; 338 } 339 /** 340 * @return ShieldedInstanceConfig 341 */ 342 public function getShieldedInstanceConfig() 343 { 344 return $this->shieldedInstanceConfig; 345 } 346 /** 347 * @param Tags 348 */ 349 public function setTags(Tags $tags) 350 { 351 $this->tags = $tags; 352 } 353 /** 354 * @return Tags 355 */ 356 public function getTags() 357 { 358 return $this->tags; 359 } 360} 361 362// Adding a class alias for backwards compatibility with the previous class name. 363class_alias(InstanceProperties::class, 'Google_Service_Compute_InstanceProperties'); 364