InterconnectRemoteLocation.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560
  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. namespace Google\Service\Compute;
  18. class InterconnectRemoteLocation extends \Google\Collection
  19. {
  20. public const CONTINENT_AFRICA = 'AFRICA';
  21. public const CONTINENT_ASIA_PAC = 'ASIA_PAC';
  22. public const CONTINENT_EUROPE = 'EUROPE';
  23. public const CONTINENT_NORTH_AMERICA = 'NORTH_AMERICA';
  24. public const CONTINENT_SOUTH_AMERICA = 'SOUTH_AMERICA';
  25. /**
  26. * LACP_SUPPORTED: LACP is supported, and enabled by default on the Cross-
  27. * Cloud Interconnect.
  28. */
  29. public const LACP_LACP_SUPPORTED = 'LACP_SUPPORTED';
  30. /**
  31. * LACP_UNSUPPORTED: LACP is not supported and is not be enabled on this port.
  32. * GetDiagnostics shows bundleAggregationType as "static". GCP does not
  33. * support LAGs without LACP, so requestedLinkCount must be 1.
  34. */
  35. public const LACP_LACP_UNSUPPORTED = 'LACP_UNSUPPORTED';
  36. /**
  37. * The InterconnectRemoteLocation is available for provisioning new Cross-
  38. * Cloud Interconnects.
  39. */
  40. public const STATUS_AVAILABLE = 'AVAILABLE';
  41. /**
  42. * The InterconnectRemoteLocation is closed for provisioning new Cross-Cloud
  43. * Interconnects.
  44. */
  45. public const STATUS_CLOSED = 'CLOSED';
  46. protected $collection_key = 'permittedConnections';
  47. /**
  48. * Output only. [Output Only] The postal address of the Point of Presence,
  49. * each line in the address is separated by a newline character.
  50. *
  51. * @var string
  52. */
  53. public $address;
  54. protected $attachmentConfigurationConstraintsType = InterconnectAttachmentConfigurationConstraints::class;
  55. protected $attachmentConfigurationConstraintsDataType = '';
  56. /**
  57. * Output only. [Output Only] Metropolitan area designator that indicates
  58. * which city an interconnect is located. For example: "Chicago, IL",
  59. * "Amsterdam, Netherlands".
  60. *
  61. * @var string
  62. */
  63. public $city;
  64. protected $constraintsType = InterconnectRemoteLocationConstraints::class;
  65. protected $constraintsDataType = '';
  66. /**
  67. * Output only. [Output Only] Continent for this location, which can take one
  68. * of the following values: - AFRICA - ASIA_PAC - EUROPE -
  69. * NORTH_AMERICA - SOUTH_AMERICA
  70. *
  71. * @var string
  72. */
  73. public $continent;
  74. /**
  75. * Output only. [Output Only] Creation timestamp inRFC3339 text format.
  76. *
  77. * @var string
  78. */
  79. public $creationTimestamp;
  80. /**
  81. * Output only. [Output Only] An optional description of the resource.
  82. *
  83. * @var string
  84. */
  85. public $description;
  86. /**
  87. * Output only. [Output Only] The name of the provider for this facility
  88. * (e.g., EQUINIX).
  89. *
  90. * @var string
  91. */
  92. public $facilityProvider;
  93. /**
  94. * Output only. [Output Only] A provider-assigned Identifier for this facility
  95. * (e.g., Ashburn-DC1).
  96. *
  97. * @var string
  98. */
  99. public $facilityProviderFacilityId;
  100. /**
  101. * Output only. [Output Only] The unique identifier for the resource. This
  102. * identifier is defined by the server.
  103. *
  104. * @var string
  105. */
  106. public $id;
  107. /**
  108. * Output only. [Output Only] Type of the resource.
  109. * Alwayscompute#interconnectRemoteLocation for interconnect remote locations.
  110. *
  111. * @var string
  112. */
  113. public $kind;
  114. /**
  115. * Output only. [Output Only] Link Aggregation Control Protocol (LACP)
  116. * constraints, which can take one of the following values: LACP_SUPPORTED,
  117. * LACP_UNSUPPORTED
  118. *
  119. * @var string
  120. */
  121. public $lacp;
  122. /**
  123. * Output only. [Output Only] The maximum number of 100 Gbps ports supported
  124. * in a link aggregation group (LAG). When linkType is 100 Gbps,
  125. * requestedLinkCount cannot exceed max_lag_size_100_gbps.
  126. *
  127. * @var int
  128. */
  129. public $maxLagSize100Gbps;
  130. /**
  131. * Output only. [Output Only] The maximum number of 10 Gbps ports supported in
  132. * a link aggregation group (LAG). When linkType is 10 Gbps,
  133. * requestedLinkCount cannot exceed max_lag_size_10_gbps.
  134. *
  135. * @var int
  136. */
  137. public $maxLagSize10Gbps;
  138. /**
  139. * Output only. [Output Only] The maximum number of 400 Gbps ports supported
  140. * in a link aggregation group (LAG). When linkType is 400 Gbps,
  141. * requestedLinkCount cannot exceed max_lag_size_400_gbps.
  142. *
  143. * @var int
  144. */
  145. public $maxLagSize400Gbps;
  146. /**
  147. * Output only. [Output Only] Name of the resource.
  148. *
  149. * @var string
  150. */
  151. public $name;
  152. /**
  153. * Output only. [Output Only] The peeringdb identifier for this facility
  154. * (corresponding with a netfac type in peeringdb).
  155. *
  156. * @var string
  157. */
  158. public $peeringdbFacilityId;
  159. protected $permittedConnectionsType = InterconnectRemoteLocationPermittedConnections::class;
  160. protected $permittedConnectionsDataType = 'array';
  161. /**
  162. * Output only. [Output Only] Indicates the service provider present at the
  163. * remote location. Example values: "Amazon Web Services", "Microsoft Azure".
  164. *
  165. * @var string
  166. */
  167. public $remoteService;
  168. /**
  169. * Output only. [Output Only] Server-defined URL for the resource.
  170. *
  171. * @var string
  172. */
  173. public $selfLink;
  174. /**
  175. * Output only. [Output Only] The status of this InterconnectRemoteLocation,
  176. * which can take one of the following values: - CLOSED: The
  177. * InterconnectRemoteLocation is closed and is unavailable for provisioning
  178. * new Cross-Cloud Interconnects. - AVAILABLE: The
  179. * InterconnectRemoteLocation is available for provisioning new Cross-Cloud
  180. * Interconnects.
  181. *
  182. * @var string
  183. */
  184. public $status;
  185. /**
  186. * Output only. [Output Only] The postal address of the Point of Presence,
  187. * each line in the address is separated by a newline character.
  188. *
  189. * @param string $address
  190. */
  191. public function setAddress($address)
  192. {
  193. $this->address = $address;
  194. }
  195. /**
  196. * @return string
  197. */
  198. public function getAddress()
  199. {
  200. return $this->address;
  201. }
  202. /**
  203. * Output only. [Output Only] Subset of fields from InterconnectAttachment's
  204. * |configurationConstraints| field that apply to all attachments for this
  205. * remote location.
  206. *
  207. * @param InterconnectAttachmentConfigurationConstraints $attachmentConfigurationConstraints
  208. */
  209. public function setAttachmentConfigurationConstraints(InterconnectAttachmentConfigurationConstraints $attachmentConfigurationConstraints)
  210. {
  211. $this->attachmentConfigurationConstraints = $attachmentConfigurationConstraints;
  212. }
  213. /**
  214. * @return InterconnectAttachmentConfigurationConstraints
  215. */
  216. public function getAttachmentConfigurationConstraints()
  217. {
  218. return $this->attachmentConfigurationConstraints;
  219. }
  220. /**
  221. * Output only. [Output Only] Metropolitan area designator that indicates
  222. * which city an interconnect is located. For example: "Chicago, IL",
  223. * "Amsterdam, Netherlands".
  224. *
  225. * @param string $city
  226. */
  227. public function setCity($city)
  228. {
  229. $this->city = $city;
  230. }
  231. /**
  232. * @return string
  233. */
  234. public function getCity()
  235. {
  236. return $this->city;
  237. }
  238. /**
  239. * Output only. [Output Only] Constraints on the parameters for creating
  240. * Cross-Cloud Interconnect and associated InterconnectAttachments.
  241. *
  242. * @param InterconnectRemoteLocationConstraints $constraints
  243. */
  244. public function setConstraints(InterconnectRemoteLocationConstraints $constraints)
  245. {
  246. $this->constraints = $constraints;
  247. }
  248. /**
  249. * @return InterconnectRemoteLocationConstraints
  250. */
  251. public function getConstraints()
  252. {
  253. return $this->constraints;
  254. }
  255. /**
  256. * Output only. [Output Only] Continent for this location, which can take one
  257. * of the following values: - AFRICA - ASIA_PAC - EUROPE -
  258. * NORTH_AMERICA - SOUTH_AMERICA
  259. *
  260. * Accepted values: AFRICA, ASIA_PAC, EUROPE, NORTH_AMERICA, SOUTH_AMERICA
  261. *
  262. * @param self::CONTINENT_* $continent
  263. */
  264. public function setContinent($continent)
  265. {
  266. $this->continent = $continent;
  267. }
  268. /**
  269. * @return self::CONTINENT_*
  270. */
  271. public function getContinent()
  272. {
  273. return $this->continent;
  274. }
  275. /**
  276. * Output only. [Output Only] Creation timestamp inRFC3339 text format.
  277. *
  278. * @param string $creationTimestamp
  279. */
  280. public function setCreationTimestamp($creationTimestamp)
  281. {
  282. $this->creationTimestamp = $creationTimestamp;
  283. }
  284. /**
  285. * @return string
  286. */
  287. public function getCreationTimestamp()
  288. {
  289. return $this->creationTimestamp;
  290. }
  291. /**
  292. * Output only. [Output Only] An optional description of the resource.
  293. *
  294. * @param string $description
  295. */
  296. public function setDescription($description)
  297. {
  298. $this->description = $description;
  299. }
  300. /**
  301. * @return string
  302. */
  303. public function getDescription()
  304. {
  305. return $this->description;
  306. }
  307. /**
  308. * Output only. [Output Only] The name of the provider for this facility
  309. * (e.g., EQUINIX).
  310. *
  311. * @param string $facilityProvider
  312. */
  313. public function setFacilityProvider($facilityProvider)
  314. {
  315. $this->facilityProvider = $facilityProvider;
  316. }
  317. /**
  318. * @return string
  319. */
  320. public function getFacilityProvider()
  321. {
  322. return $this->facilityProvider;
  323. }
  324. /**
  325. * Output only. [Output Only] A provider-assigned Identifier for this facility
  326. * (e.g., Ashburn-DC1).
  327. *
  328. * @param string $facilityProviderFacilityId
  329. */
  330. public function setFacilityProviderFacilityId($facilityProviderFacilityId)
  331. {
  332. $this->facilityProviderFacilityId = $facilityProviderFacilityId;
  333. }
  334. /**
  335. * @return string
  336. */
  337. public function getFacilityProviderFacilityId()
  338. {
  339. return $this->facilityProviderFacilityId;
  340. }
  341. /**
  342. * Output only. [Output Only] The unique identifier for the resource. This
  343. * identifier is defined by the server.
  344. *
  345. * @param string $id
  346. */
  347. public function setId($id)
  348. {
  349. $this->id = $id;
  350. }
  351. /**
  352. * @return string
  353. */
  354. public function getId()
  355. {
  356. return $this->id;
  357. }
  358. /**
  359. * Output only. [Output Only] Type of the resource.
  360. * Alwayscompute#interconnectRemoteLocation for interconnect remote locations.
  361. *
  362. * @param string $kind
  363. */
  364. public function setKind($kind)
  365. {
  366. $this->kind = $kind;
  367. }
  368. /**
  369. * @return string
  370. */
  371. public function getKind()
  372. {
  373. return $this->kind;
  374. }
  375. /**
  376. * Output only. [Output Only] Link Aggregation Control Protocol (LACP)
  377. * constraints, which can take one of the following values: LACP_SUPPORTED,
  378. * LACP_UNSUPPORTED
  379. *
  380. * Accepted values: LACP_SUPPORTED, LACP_UNSUPPORTED
  381. *
  382. * @param self::LACP_* $lacp
  383. */
  384. public function setLacp($lacp)
  385. {
  386. $this->lacp = $lacp;
  387. }
  388. /**
  389. * @return self::LACP_*
  390. */
  391. public function getLacp()
  392. {
  393. return $this->lacp;
  394. }
  395. /**
  396. * Output only. [Output Only] The maximum number of 100 Gbps ports supported
  397. * in a link aggregation group (LAG). When linkType is 100 Gbps,
  398. * requestedLinkCount cannot exceed max_lag_size_100_gbps.
  399. *
  400. * @param int $maxLagSize100Gbps
  401. */
  402. public function setMaxLagSize100Gbps($maxLagSize100Gbps)
  403. {
  404. $this->maxLagSize100Gbps = $maxLagSize100Gbps;
  405. }
  406. /**
  407. * @return int
  408. */
  409. public function getMaxLagSize100Gbps()
  410. {
  411. return $this->maxLagSize100Gbps;
  412. }
  413. /**
  414. * Output only. [Output Only] The maximum number of 10 Gbps ports supported in
  415. * a link aggregation group (LAG). When linkType is 10 Gbps,
  416. * requestedLinkCount cannot exceed max_lag_size_10_gbps.
  417. *
  418. * @param int $maxLagSize10Gbps
  419. */
  420. public function setMaxLagSize10Gbps($maxLagSize10Gbps)
  421. {
  422. $this->maxLagSize10Gbps = $maxLagSize10Gbps;
  423. }
  424. /**
  425. * @return int
  426. */
  427. public function getMaxLagSize10Gbps()
  428. {
  429. return $this->maxLagSize10Gbps;
  430. }
  431. /**
  432. * Output only. [Output Only] The maximum number of 400 Gbps ports supported
  433. * in a link aggregation group (LAG). When linkType is 400 Gbps,
  434. * requestedLinkCount cannot exceed max_lag_size_400_gbps.
  435. *
  436. * @param int $maxLagSize400Gbps
  437. */
  438. public function setMaxLagSize400Gbps($maxLagSize400Gbps)
  439. {
  440. $this->maxLagSize400Gbps = $maxLagSize400Gbps;
  441. }
  442. /**
  443. * @return int
  444. */
  445. public function getMaxLagSize400Gbps()
  446. {
  447. return $this->maxLagSize400Gbps;
  448. }
  449. /**
  450. * Output only. [Output Only] Name of the resource.
  451. *
  452. * @param string $name
  453. */
  454. public function setName($name)
  455. {
  456. $this->name = $name;
  457. }
  458. /**
  459. * @return string
  460. */
  461. public function getName()
  462. {
  463. return $this->name;
  464. }
  465. /**
  466. * Output only. [Output Only] The peeringdb identifier for this facility
  467. * (corresponding with a netfac type in peeringdb).
  468. *
  469. * @param string $peeringdbFacilityId
  470. */
  471. public function setPeeringdbFacilityId($peeringdbFacilityId)
  472. {
  473. $this->peeringdbFacilityId = $peeringdbFacilityId;
  474. }
  475. /**
  476. * @return string
  477. */
  478. public function getPeeringdbFacilityId()
  479. {
  480. return $this->peeringdbFacilityId;
  481. }
  482. /**
  483. * Output only. [Output Only] Permitted connections.
  484. *
  485. * @param InterconnectRemoteLocationPermittedConnections[] $permittedConnections
  486. */
  487. public function setPermittedConnections($permittedConnections)
  488. {
  489. $this->permittedConnections = $permittedConnections;
  490. }
  491. /**
  492. * @return InterconnectRemoteLocationPermittedConnections[]
  493. */
  494. public function getPermittedConnections()
  495. {
  496. return $this->permittedConnections;
  497. }
  498. /**
  499. * Output only. [Output Only] Indicates the service provider present at the
  500. * remote location. Example values: "Amazon Web Services", "Microsoft Azure".
  501. *
  502. * @param string $remoteService
  503. */
  504. public function setRemoteService($remoteService)
  505. {
  506. $this->remoteService = $remoteService;
  507. }
  508. /**
  509. * @return string
  510. */
  511. public function getRemoteService()
  512. {
  513. return $this->remoteService;
  514. }
  515. /**
  516. * Output only. [Output Only] Server-defined URL for the resource.
  517. *
  518. * @param string $selfLink
  519. */
  520. public function setSelfLink($selfLink)
  521. {
  522. $this->selfLink = $selfLink;
  523. }
  524. /**
  525. * @return string
  526. */
  527. public function getSelfLink()
  528. {
  529. return $this->selfLink;
  530. }
  531. /**
  532. * Output only. [Output Only] The status of this InterconnectRemoteLocation,
  533. * which can take one of the following values: - CLOSED: The
  534. * InterconnectRemoteLocation is closed and is unavailable for provisioning
  535. * new Cross-Cloud Interconnects. - AVAILABLE: The
  536. * InterconnectRemoteLocation is available for provisioning new Cross-Cloud
  537. * Interconnects.
  538. *
  539. * Accepted values: AVAILABLE, CLOSED
  540. *
  541. * @param self::STATUS_* $status
  542. */
  543. public function setStatus($status)
  544. {
  545. $this->status = $status;
  546. }
  547. /**
  548. * @return self::STATUS_*
  549. */
  550. public function getStatus()
  551. {
  552. return $this->status;
  553. }
  554. }
  555. // Adding a class alias for backwards compatibility with the previous class name.
  556. class_alias(InterconnectRemoteLocation::class, 'Google_Service_Compute_InterconnectRemoteLocation');