googlecontainer.pp 49 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711
  1. unit googlecontainer;
  2. {
  3. **********************************************************************
  4. This file is part of the Free Component Library (FCL)
  5. Copyright (c) 2015 The free pascal team.
  6. See the file COPYING.FPC, included in this distribution,
  7. for details about the copyright.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  11. **********************************************************************
  12. }
  13. //Generated on: 16-5-15 08:53:01
  14. {$MODE objfpc}
  15. {$H+}
  16. interface
  17. uses sysutils, classes, googleservice, restbase, googlebase;
  18. type
  19. //Top-level schema types
  20. TCluster = Class;
  21. TCreateClusterRequest = Class;
  22. TListAggregatedClustersResponse = Class;
  23. TListAggregatedOperationsResponse = Class;
  24. TListClustersResponse = Class;
  25. TListOperationsResponse = Class;
  26. TMasterAuth = Class;
  27. TNodeConfig = Class;
  28. TOperation = Class;
  29. TServiceAccount = Class;
  30. TClusterArray = Array of TCluster;
  31. TCreateClusterRequestArray = Array of TCreateClusterRequest;
  32. TListAggregatedClustersResponseArray = Array of TListAggregatedClustersResponse;
  33. TListAggregatedOperationsResponseArray = Array of TListAggregatedOperationsResponse;
  34. TListClustersResponseArray = Array of TListClustersResponse;
  35. TListOperationsResponseArray = Array of TListOperationsResponse;
  36. TMasterAuthArray = Array of TMasterAuth;
  37. TNodeConfigArray = Array of TNodeConfig;
  38. TOperationArray = Array of TOperation;
  39. TServiceAccountArray = Array of TServiceAccount;
  40. //Anonymous types, using auto-generated names
  41. TListAggregatedClustersResponseTypeclustersArray = Array of TCluster;
  42. TListAggregatedOperationsResponseTypeoperationsArray = Array of TOperation;
  43. TListClustersResponseTypeclustersArray = Array of TCluster;
  44. TListOperationsResponseTypeoperationsArray = Array of TOperation;
  45. TNodeConfigTypeserviceAccountsArray = Array of TServiceAccount;
  46. { --------------------------------------------------------------------
  47. TCluster
  48. --------------------------------------------------------------------}
  49. TCluster = Class(TGoogleBaseObject)
  50. Private
  51. FclusterApiVersion : String;
  52. FcontainerIpv4Cidr : String;
  53. FcreationTimestamp : String;
  54. Fdescription : String;
  55. FenableCloudLogging : boolean;
  56. Fendpoint : String;
  57. FmasterAuth : TMasterAuth;
  58. Fname : String;
  59. Fnetwork : String;
  60. FnodeConfig : TNodeConfig;
  61. FnodeRoutingPrefixSize : integer;
  62. FnumNodes : integer;
  63. FselfLink : String;
  64. FservicesIpv4Cidr : String;
  65. Fstatus : String;
  66. FstatusMessage : String;
  67. Fzone : String;
  68. Protected
  69. //Property setters
  70. Procedure SetclusterApiVersion(AIndex : Integer; const AValue : String); virtual;
  71. Procedure SetcontainerIpv4Cidr(AIndex : Integer; const AValue : String); virtual;
  72. Procedure SetcreationTimestamp(AIndex : Integer; const AValue : String); virtual;
  73. Procedure Setdescription(AIndex : Integer; const AValue : String); virtual;
  74. Procedure SetenableCloudLogging(AIndex : Integer; AValue : boolean); virtual;
  75. Procedure Setendpoint(AIndex : Integer; const AValue : String); virtual;
  76. Procedure SetmasterAuth(AIndex : Integer; AValue : TMasterAuth); virtual;
  77. Procedure Setname(AIndex : Integer; const AValue : String); virtual;
  78. Procedure Setnetwork(AIndex : Integer; const AValue : String); virtual;
  79. Procedure SetnodeConfig(AIndex : Integer; AValue : TNodeConfig); virtual;
  80. Procedure SetnodeRoutingPrefixSize(AIndex : Integer; AValue : integer); virtual;
  81. Procedure SetnumNodes(AIndex : Integer; AValue : integer); virtual;
  82. Procedure SetselfLink(AIndex : Integer; const AValue : String); virtual;
  83. Procedure SetservicesIpv4Cidr(AIndex : Integer; const AValue : String); virtual;
  84. Procedure Setstatus(AIndex : Integer; const AValue : String); virtual;
  85. Procedure SetstatusMessage(AIndex : Integer; const AValue : String); virtual;
  86. Procedure Setzone(AIndex : Integer; const AValue : String); virtual;
  87. Public
  88. Published
  89. Property clusterApiVersion : String Index 0 Read FclusterApiVersion Write SetclusterApiVersion;
  90. Property containerIpv4Cidr : String Index 8 Read FcontainerIpv4Cidr Write SetcontainerIpv4Cidr;
  91. Property creationTimestamp : String Index 16 Read FcreationTimestamp Write SetcreationTimestamp;
  92. Property description : String Index 24 Read Fdescription Write Setdescription;
  93. Property enableCloudLogging : boolean Index 32 Read FenableCloudLogging Write SetenableCloudLogging;
  94. Property endpoint : String Index 40 Read Fendpoint Write Setendpoint;
  95. Property masterAuth : TMasterAuth Index 48 Read FmasterAuth Write SetmasterAuth;
  96. Property name : String Index 56 Read Fname Write Setname;
  97. Property network : String Index 64 Read Fnetwork Write Setnetwork;
  98. Property nodeConfig : TNodeConfig Index 72 Read FnodeConfig Write SetnodeConfig;
  99. Property nodeRoutingPrefixSize : integer Index 80 Read FnodeRoutingPrefixSize Write SetnodeRoutingPrefixSize;
  100. Property numNodes : integer Index 88 Read FnumNodes Write SetnumNodes;
  101. Property selfLink : String Index 96 Read FselfLink Write SetselfLink;
  102. Property servicesIpv4Cidr : String Index 104 Read FservicesIpv4Cidr Write SetservicesIpv4Cidr;
  103. Property status : String Index 112 Read Fstatus Write Setstatus;
  104. Property statusMessage : String Index 120 Read FstatusMessage Write SetstatusMessage;
  105. Property zone : String Index 128 Read Fzone Write Setzone;
  106. end;
  107. TClusterClass = Class of TCluster;
  108. { --------------------------------------------------------------------
  109. TCreateClusterRequest
  110. --------------------------------------------------------------------}
  111. TCreateClusterRequest = Class(TGoogleBaseObject)
  112. Private
  113. Fcluster : TCluster;
  114. Protected
  115. //Property setters
  116. Procedure Setcluster(AIndex : Integer; AValue : TCluster); virtual;
  117. Public
  118. Published
  119. Property cluster : TCluster Index 0 Read Fcluster Write Setcluster;
  120. end;
  121. TCreateClusterRequestClass = Class of TCreateClusterRequest;
  122. { --------------------------------------------------------------------
  123. TListAggregatedClustersResponse
  124. --------------------------------------------------------------------}
  125. TListAggregatedClustersResponse = Class(TGoogleBaseObject)
  126. Private
  127. Fclusters : TListAggregatedClustersResponseTypeclustersArray;
  128. Protected
  129. //Property setters
  130. Procedure Setclusters(AIndex : Integer; AValue : TListAggregatedClustersResponseTypeclustersArray); virtual;
  131. //2.6.4. bug workaround
  132. {$IFDEF VER2_6}
  133. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  134. {$ENDIF VER2_6}
  135. Public
  136. Published
  137. Property clusters : TListAggregatedClustersResponseTypeclustersArray Index 0 Read Fclusters Write Setclusters;
  138. end;
  139. TListAggregatedClustersResponseClass = Class of TListAggregatedClustersResponse;
  140. { --------------------------------------------------------------------
  141. TListAggregatedOperationsResponse
  142. --------------------------------------------------------------------}
  143. TListAggregatedOperationsResponse = Class(TGoogleBaseObject)
  144. Private
  145. Foperations : TListAggregatedOperationsResponseTypeoperationsArray;
  146. Protected
  147. //Property setters
  148. Procedure Setoperations(AIndex : Integer; AValue : TListAggregatedOperationsResponseTypeoperationsArray); virtual;
  149. //2.6.4. bug workaround
  150. {$IFDEF VER2_6}
  151. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  152. {$ENDIF VER2_6}
  153. Public
  154. Published
  155. Property operations : TListAggregatedOperationsResponseTypeoperationsArray Index 0 Read Foperations Write Setoperations;
  156. end;
  157. TListAggregatedOperationsResponseClass = Class of TListAggregatedOperationsResponse;
  158. { --------------------------------------------------------------------
  159. TListClustersResponse
  160. --------------------------------------------------------------------}
  161. TListClustersResponse = Class(TGoogleBaseObject)
  162. Private
  163. Fclusters : TListClustersResponseTypeclustersArray;
  164. Protected
  165. //Property setters
  166. Procedure Setclusters(AIndex : Integer; AValue : TListClustersResponseTypeclustersArray); virtual;
  167. //2.6.4. bug workaround
  168. {$IFDEF VER2_6}
  169. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  170. {$ENDIF VER2_6}
  171. Public
  172. Published
  173. Property clusters : TListClustersResponseTypeclustersArray Index 0 Read Fclusters Write Setclusters;
  174. end;
  175. TListClustersResponseClass = Class of TListClustersResponse;
  176. { --------------------------------------------------------------------
  177. TListOperationsResponse
  178. --------------------------------------------------------------------}
  179. TListOperationsResponse = Class(TGoogleBaseObject)
  180. Private
  181. Foperations : TListOperationsResponseTypeoperationsArray;
  182. Protected
  183. //Property setters
  184. Procedure Setoperations(AIndex : Integer; AValue : TListOperationsResponseTypeoperationsArray); virtual;
  185. //2.6.4. bug workaround
  186. {$IFDEF VER2_6}
  187. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  188. {$ENDIF VER2_6}
  189. Public
  190. Published
  191. Property operations : TListOperationsResponseTypeoperationsArray Index 0 Read Foperations Write Setoperations;
  192. end;
  193. TListOperationsResponseClass = Class of TListOperationsResponse;
  194. { --------------------------------------------------------------------
  195. TMasterAuth
  196. --------------------------------------------------------------------}
  197. TMasterAuth = Class(TGoogleBaseObject)
  198. Private
  199. FbearerToken : String;
  200. Fpassword : String;
  201. Fuser : String;
  202. Protected
  203. //Property setters
  204. Procedure SetbearerToken(AIndex : Integer; const AValue : String); virtual;
  205. Procedure Setpassword(AIndex : Integer; const AValue : String); virtual;
  206. Procedure Setuser(AIndex : Integer; const AValue : String); virtual;
  207. Public
  208. Published
  209. Property bearerToken : String Index 0 Read FbearerToken Write SetbearerToken;
  210. Property password : String Index 8 Read Fpassword Write Setpassword;
  211. Property user : String Index 16 Read Fuser Write Setuser;
  212. end;
  213. TMasterAuthClass = Class of TMasterAuth;
  214. { --------------------------------------------------------------------
  215. TNodeConfig
  216. --------------------------------------------------------------------}
  217. TNodeConfig = Class(TGoogleBaseObject)
  218. Private
  219. FmachineType : String;
  220. FserviceAccounts : TNodeConfigTypeserviceAccountsArray;
  221. FsourceImage : String;
  222. Protected
  223. //Property setters
  224. Procedure SetmachineType(AIndex : Integer; const AValue : String); virtual;
  225. Procedure SetserviceAccounts(AIndex : Integer; AValue : TNodeConfigTypeserviceAccountsArray); virtual;
  226. Procedure SetsourceImage(AIndex : Integer; const AValue : String); virtual;
  227. //2.6.4. bug workaround
  228. {$IFDEF VER2_6}
  229. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  230. {$ENDIF VER2_6}
  231. Public
  232. Published
  233. Property machineType : String Index 0 Read FmachineType Write SetmachineType;
  234. Property serviceAccounts : TNodeConfigTypeserviceAccountsArray Index 8 Read FserviceAccounts Write SetserviceAccounts;
  235. Property sourceImage : String Index 16 Read FsourceImage Write SetsourceImage;
  236. end;
  237. TNodeConfigClass = Class of TNodeConfig;
  238. { --------------------------------------------------------------------
  239. TOperation
  240. --------------------------------------------------------------------}
  241. TOperation = Class(TGoogleBaseObject)
  242. Private
  243. FerrorMessage : String;
  244. Fname : String;
  245. FoperationType : String;
  246. FselfLink : String;
  247. Fstatus : String;
  248. Ftarget : String;
  249. FtargetLink : String;
  250. Fzone : String;
  251. Protected
  252. //Property setters
  253. Procedure SeterrorMessage(AIndex : Integer; const AValue : String); virtual;
  254. Procedure Setname(AIndex : Integer; const AValue : String); virtual;
  255. Procedure SetoperationType(AIndex : Integer; const AValue : String); virtual;
  256. Procedure SetselfLink(AIndex : Integer; const AValue : String); virtual;
  257. Procedure Setstatus(AIndex : Integer; const AValue : String); virtual;
  258. Procedure Settarget(AIndex : Integer; const AValue : String); virtual;
  259. Procedure SettargetLink(AIndex : Integer; const AValue : String); virtual;
  260. Procedure Setzone(AIndex : Integer; const AValue : String); virtual;
  261. Public
  262. Published
  263. Property errorMessage : String Index 0 Read FerrorMessage Write SeterrorMessage;
  264. Property name : String Index 8 Read Fname Write Setname;
  265. Property operationType : String Index 16 Read FoperationType Write SetoperationType;
  266. Property selfLink : String Index 24 Read FselfLink Write SetselfLink;
  267. Property status : String Index 32 Read Fstatus Write Setstatus;
  268. Property target : String Index 40 Read Ftarget Write Settarget;
  269. Property targetLink : String Index 48 Read FtargetLink Write SettargetLink;
  270. Property zone : String Index 56 Read Fzone Write Setzone;
  271. end;
  272. TOperationClass = Class of TOperation;
  273. { --------------------------------------------------------------------
  274. TServiceAccount
  275. --------------------------------------------------------------------}
  276. TServiceAccount = Class(TGoogleBaseObject)
  277. Private
  278. Femail : String;
  279. Fscopes : TStringArray;
  280. Protected
  281. //Property setters
  282. Procedure Setemail(AIndex : Integer; const AValue : String); virtual;
  283. Procedure Setscopes(AIndex : Integer; AValue : TStringArray); virtual;
  284. //2.6.4. bug workaround
  285. {$IFDEF VER2_6}
  286. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  287. {$ENDIF VER2_6}
  288. Public
  289. Published
  290. Property email : String Index 0 Read Femail Write Setemail;
  291. Property scopes : TStringArray Index 8 Read Fscopes Write Setscopes;
  292. end;
  293. TServiceAccountClass = Class of TServiceAccount;
  294. { --------------------------------------------------------------------
  295. TProjectsClustersResource
  296. --------------------------------------------------------------------}
  297. TProjectsClustersResource = Class(TGoogleResource)
  298. Public
  299. Class Function ResourceName : String; override;
  300. Class Function DefaultAPI : TGoogleAPIClass; override;
  301. Function List(projectId: string) : TListAggregatedClustersResponse;
  302. end;
  303. { --------------------------------------------------------------------
  304. TProjectsOperationsResource
  305. --------------------------------------------------------------------}
  306. TProjectsOperationsResource = Class(TGoogleResource)
  307. Public
  308. Class Function ResourceName : String; override;
  309. Class Function DefaultAPI : TGoogleAPIClass; override;
  310. Function List(projectId: string) : TListAggregatedOperationsResponse;
  311. end;
  312. { --------------------------------------------------------------------
  313. TProjectsZonesClustersResource
  314. --------------------------------------------------------------------}
  315. TProjectsZonesClustersResource = Class(TGoogleResource)
  316. Public
  317. Class Function ResourceName : String; override;
  318. Class Function DefaultAPI : TGoogleAPIClass; override;
  319. Function Create(projectId: string; zoneId: string; aCreateClusterRequest : TCreateClusterRequest) : TOperation;overload;
  320. Function Delete(clusterId: string; projectId: string; zoneId: string) : TOperation;
  321. Function Get(clusterId: string; projectId: string; zoneId: string) : TCluster;
  322. Function List(projectId: string; zoneId: string) : TListClustersResponse;
  323. end;
  324. { --------------------------------------------------------------------
  325. TProjectsZonesOperationsResource
  326. --------------------------------------------------------------------}
  327. TProjectsZonesOperationsResource = Class(TGoogleResource)
  328. Public
  329. Class Function ResourceName : String; override;
  330. Class Function DefaultAPI : TGoogleAPIClass; override;
  331. Function Get(operationId: string; projectId: string; zoneId: string) : TOperation;
  332. Function List(projectId: string; zoneId: string) : TListOperationsResponse;
  333. end;
  334. { --------------------------------------------------------------------
  335. TProjectsZonesResource
  336. --------------------------------------------------------------------}
  337. TProjectsZonesResource = Class(TGoogleResource)
  338. Private
  339. FClustersInstance : TProjectsZonesClustersResource;
  340. FOperationsInstance : TProjectsZonesOperationsResource;
  341. Function GetClustersInstance : TProjectsZonesClustersResource;virtual;
  342. Function GetOperationsInstance : TProjectsZonesOperationsResource;virtual;
  343. Public
  344. Class Function ResourceName : String; override;
  345. Class Function DefaultAPI : TGoogleAPIClass; override;
  346. Function CreateClustersResource(AOwner : TComponent) : TProjectsZonesClustersResource;virtual;overload;
  347. Function CreateClustersResource : TProjectsZonesClustersResource;virtual;overload;
  348. Function CreateOperationsResource(AOwner : TComponent) : TProjectsZonesOperationsResource;virtual;overload;
  349. Function CreateOperationsResource : TProjectsZonesOperationsResource;virtual;overload;
  350. Property ClustersResource : TProjectsZonesClustersResource Read GetClustersInstance;
  351. Property OperationsResource : TProjectsZonesOperationsResource Read GetOperationsInstance;
  352. end;
  353. { --------------------------------------------------------------------
  354. TProjectsResource
  355. --------------------------------------------------------------------}
  356. TProjectsResource = Class(TGoogleResource)
  357. Private
  358. FClustersInstance : TProjectsClustersResource;
  359. FOperationsInstance : TProjectsOperationsResource;
  360. FZonesClustersInstance : TProjectsZonesClustersResource;
  361. FZonesOperationsInstance : TProjectsZonesOperationsResource;
  362. FZonesInstance : TProjectsZonesResource;
  363. Function GetClustersInstance : TProjectsClustersResource;virtual;
  364. Function GetOperationsInstance : TProjectsOperationsResource;virtual;
  365. Function GetZonesClustersInstance : TProjectsZonesClustersResource;virtual;
  366. Function GetZonesOperationsInstance : TProjectsZonesOperationsResource;virtual;
  367. Function GetZonesInstance : TProjectsZonesResource;virtual;
  368. Public
  369. Class Function ResourceName : String; override;
  370. Class Function DefaultAPI : TGoogleAPIClass; override;
  371. Function CreateClustersResource(AOwner : TComponent) : TProjectsClustersResource;virtual;overload;
  372. Function CreateClustersResource : TProjectsClustersResource;virtual;overload;
  373. Function CreateOperationsResource(AOwner : TComponent) : TProjectsOperationsResource;virtual;overload;
  374. Function CreateOperationsResource : TProjectsOperationsResource;virtual;overload;
  375. Function CreateZonesClustersResource(AOwner : TComponent) : TProjectsZonesClustersResource;virtual;overload;
  376. Function CreateZonesClustersResource : TProjectsZonesClustersResource;virtual;overload;
  377. Function CreateZonesOperationsResource(AOwner : TComponent) : TProjectsZonesOperationsResource;virtual;overload;
  378. Function CreateZonesOperationsResource : TProjectsZonesOperationsResource;virtual;overload;
  379. Function CreateZonesResource(AOwner : TComponent) : TProjectsZonesResource;virtual;overload;
  380. Function CreateZonesResource : TProjectsZonesResource;virtual;overload;
  381. Property ClustersResource : TProjectsClustersResource Read GetClustersInstance;
  382. Property OperationsResource : TProjectsOperationsResource Read GetOperationsInstance;
  383. Property ZonesClustersResource : TProjectsZonesClustersResource Read GetZonesClustersInstance;
  384. Property ZonesOperationsResource : TProjectsZonesOperationsResource Read GetZonesOperationsInstance;
  385. Property ZonesResource : TProjectsZonesResource Read GetZonesInstance;
  386. end;
  387. { --------------------------------------------------------------------
  388. TContainerAPI
  389. --------------------------------------------------------------------}
  390. TContainerAPI = Class(TGoogleAPI)
  391. Private
  392. FProjectsClustersInstance : TProjectsClustersResource;
  393. FProjectsOperationsInstance : TProjectsOperationsResource;
  394. FProjectsZonesClustersInstance : TProjectsZonesClustersResource;
  395. FProjectsZonesOperationsInstance : TProjectsZonesOperationsResource;
  396. FProjectsZonesInstance : TProjectsZonesResource;
  397. FProjectsInstance : TProjectsResource;
  398. Function GetProjectsClustersInstance : TProjectsClustersResource;virtual;
  399. Function GetProjectsOperationsInstance : TProjectsOperationsResource;virtual;
  400. Function GetProjectsZonesClustersInstance : TProjectsZonesClustersResource;virtual;
  401. Function GetProjectsZonesOperationsInstance : TProjectsZonesOperationsResource;virtual;
  402. Function GetProjectsZonesInstance : TProjectsZonesResource;virtual;
  403. Function GetProjectsInstance : TProjectsResource;virtual;
  404. Public
  405. //Override class functions with API info
  406. Class Function APIName : String; override;
  407. Class Function APIVersion : String; override;
  408. Class Function APIRevision : String; override;
  409. Class Function APIID : String; override;
  410. Class Function APITitle : String; override;
  411. Class Function APIDescription : String; override;
  412. Class Function APIOwnerDomain : String; override;
  413. Class Function APIOwnerName : String; override;
  414. Class Function APIIcon16 : String; override;
  415. Class Function APIIcon32 : String; override;
  416. Class Function APIdocumentationLink : String; override;
  417. Class Function APIrootUrl : string; override;
  418. Class Function APIbasePath : string;override;
  419. Class Function APIbaseURL : String;override;
  420. Class Function APIProtocol : string;override;
  421. Class Function APIservicePath : string;override;
  422. Class Function APIbatchPath : String;override;
  423. Class Function APIAuthScopes : TScopeInfoArray;override;
  424. Class Function APINeedsAuth : Boolean;override;
  425. Class Procedure RegisterAPIResources; override;
  426. //Add create function for resources
  427. Function CreateProjectsClustersResource(AOwner : TComponent) : TProjectsClustersResource;virtual;overload;
  428. Function CreateProjectsClustersResource : TProjectsClustersResource;virtual;overload;
  429. Function CreateProjectsOperationsResource(AOwner : TComponent) : TProjectsOperationsResource;virtual;overload;
  430. Function CreateProjectsOperationsResource : TProjectsOperationsResource;virtual;overload;
  431. Function CreateProjectsZonesClustersResource(AOwner : TComponent) : TProjectsZonesClustersResource;virtual;overload;
  432. Function CreateProjectsZonesClustersResource : TProjectsZonesClustersResource;virtual;overload;
  433. Function CreateProjectsZonesOperationsResource(AOwner : TComponent) : TProjectsZonesOperationsResource;virtual;overload;
  434. Function CreateProjectsZonesOperationsResource : TProjectsZonesOperationsResource;virtual;overload;
  435. Function CreateProjectsZonesResource(AOwner : TComponent) : TProjectsZonesResource;virtual;overload;
  436. Function CreateProjectsZonesResource : TProjectsZonesResource;virtual;overload;
  437. Function CreateProjectsResource(AOwner : TComponent) : TProjectsResource;virtual;overload;
  438. Function CreateProjectsResource : TProjectsResource;virtual;overload;
  439. //Add default on-demand instances for resources
  440. Property ProjectsClustersResource : TProjectsClustersResource Read GetProjectsClustersInstance;
  441. Property ProjectsOperationsResource : TProjectsOperationsResource Read GetProjectsOperationsInstance;
  442. Property ProjectsZonesClustersResource : TProjectsZonesClustersResource Read GetProjectsZonesClustersInstance;
  443. Property ProjectsZonesOperationsResource : TProjectsZonesOperationsResource Read GetProjectsZonesOperationsInstance;
  444. Property ProjectsZonesResource : TProjectsZonesResource Read GetProjectsZonesInstance;
  445. Property ProjectsResource : TProjectsResource Read GetProjectsInstance;
  446. end;
  447. implementation
  448. { --------------------------------------------------------------------
  449. TCluster
  450. --------------------------------------------------------------------}
  451. Procedure TCluster.SetclusterApiVersion(AIndex : Integer; const AValue : String);
  452. begin
  453. If (FclusterApiVersion=AValue) then exit;
  454. FclusterApiVersion:=AValue;
  455. MarkPropertyChanged(AIndex);
  456. end;
  457. Procedure TCluster.SetcontainerIpv4Cidr(AIndex : Integer; const AValue : String);
  458. begin
  459. If (FcontainerIpv4Cidr=AValue) then exit;
  460. FcontainerIpv4Cidr:=AValue;
  461. MarkPropertyChanged(AIndex);
  462. end;
  463. Procedure TCluster.SetcreationTimestamp(AIndex : Integer; const AValue : String);
  464. begin
  465. If (FcreationTimestamp=AValue) then exit;
  466. FcreationTimestamp:=AValue;
  467. MarkPropertyChanged(AIndex);
  468. end;
  469. Procedure TCluster.Setdescription(AIndex : Integer; const AValue : String);
  470. begin
  471. If (Fdescription=AValue) then exit;
  472. Fdescription:=AValue;
  473. MarkPropertyChanged(AIndex);
  474. end;
  475. Procedure TCluster.SetenableCloudLogging(AIndex : Integer; AValue : boolean);
  476. begin
  477. If (FenableCloudLogging=AValue) then exit;
  478. FenableCloudLogging:=AValue;
  479. MarkPropertyChanged(AIndex);
  480. end;
  481. Procedure TCluster.Setendpoint(AIndex : Integer; const AValue : String);
  482. begin
  483. If (Fendpoint=AValue) then exit;
  484. Fendpoint:=AValue;
  485. MarkPropertyChanged(AIndex);
  486. end;
  487. Procedure TCluster.SetmasterAuth(AIndex : Integer; AValue : TMasterAuth);
  488. begin
  489. If (FmasterAuth=AValue) then exit;
  490. FmasterAuth:=AValue;
  491. MarkPropertyChanged(AIndex);
  492. end;
  493. Procedure TCluster.Setname(AIndex : Integer; const AValue : String);
  494. begin
  495. If (Fname=AValue) then exit;
  496. Fname:=AValue;
  497. MarkPropertyChanged(AIndex);
  498. end;
  499. Procedure TCluster.Setnetwork(AIndex : Integer; const AValue : String);
  500. begin
  501. If (Fnetwork=AValue) then exit;
  502. Fnetwork:=AValue;
  503. MarkPropertyChanged(AIndex);
  504. end;
  505. Procedure TCluster.SetnodeConfig(AIndex : Integer; AValue : TNodeConfig);
  506. begin
  507. If (FnodeConfig=AValue) then exit;
  508. FnodeConfig:=AValue;
  509. MarkPropertyChanged(AIndex);
  510. end;
  511. Procedure TCluster.SetnodeRoutingPrefixSize(AIndex : Integer; AValue : integer);
  512. begin
  513. If (FnodeRoutingPrefixSize=AValue) then exit;
  514. FnodeRoutingPrefixSize:=AValue;
  515. MarkPropertyChanged(AIndex);
  516. end;
  517. Procedure TCluster.SetnumNodes(AIndex : Integer; AValue : integer);
  518. begin
  519. If (FnumNodes=AValue) then exit;
  520. FnumNodes:=AValue;
  521. MarkPropertyChanged(AIndex);
  522. end;
  523. Procedure TCluster.SetselfLink(AIndex : Integer; const AValue : String);
  524. begin
  525. If (FselfLink=AValue) then exit;
  526. FselfLink:=AValue;
  527. MarkPropertyChanged(AIndex);
  528. end;
  529. Procedure TCluster.SetservicesIpv4Cidr(AIndex : Integer; const AValue : String);
  530. begin
  531. If (FservicesIpv4Cidr=AValue) then exit;
  532. FservicesIpv4Cidr:=AValue;
  533. MarkPropertyChanged(AIndex);
  534. end;
  535. Procedure TCluster.Setstatus(AIndex : Integer; const AValue : String);
  536. begin
  537. If (Fstatus=AValue) then exit;
  538. Fstatus:=AValue;
  539. MarkPropertyChanged(AIndex);
  540. end;
  541. Procedure TCluster.SetstatusMessage(AIndex : Integer; const AValue : String);
  542. begin
  543. If (FstatusMessage=AValue) then exit;
  544. FstatusMessage:=AValue;
  545. MarkPropertyChanged(AIndex);
  546. end;
  547. Procedure TCluster.Setzone(AIndex : Integer; const AValue : String);
  548. begin
  549. If (Fzone=AValue) then exit;
  550. Fzone:=AValue;
  551. MarkPropertyChanged(AIndex);
  552. end;
  553. { --------------------------------------------------------------------
  554. TCreateClusterRequest
  555. --------------------------------------------------------------------}
  556. Procedure TCreateClusterRequest.Setcluster(AIndex : Integer; AValue : TCluster);
  557. begin
  558. If (Fcluster=AValue) then exit;
  559. Fcluster:=AValue;
  560. MarkPropertyChanged(AIndex);
  561. end;
  562. { --------------------------------------------------------------------
  563. TListAggregatedClustersResponse
  564. --------------------------------------------------------------------}
  565. Procedure TListAggregatedClustersResponse.Setclusters(AIndex : Integer; AValue : TListAggregatedClustersResponseTypeclustersArray);
  566. begin
  567. If (Fclusters=AValue) then exit;
  568. Fclusters:=AValue;
  569. MarkPropertyChanged(AIndex);
  570. end;
  571. //2.6.4. bug workaround
  572. {$IFDEF VER2_6}
  573. Procedure TListAggregatedClustersResponse.SetArrayLength(Const AName : String; ALength : Longint);
  574. begin
  575. Case AName of
  576. 'clusters' : SetLength(Fclusters,ALength);
  577. else
  578. Inherited SetArrayLength(AName,ALength);
  579. end;
  580. end;
  581. {$ENDIF VER2_6}
  582. { --------------------------------------------------------------------
  583. TListAggregatedOperationsResponse
  584. --------------------------------------------------------------------}
  585. Procedure TListAggregatedOperationsResponse.Setoperations(AIndex : Integer; AValue : TListAggregatedOperationsResponseTypeoperationsArray);
  586. begin
  587. If (Foperations=AValue) then exit;
  588. Foperations:=AValue;
  589. MarkPropertyChanged(AIndex);
  590. end;
  591. //2.6.4. bug workaround
  592. {$IFDEF VER2_6}
  593. Procedure TListAggregatedOperationsResponse.SetArrayLength(Const AName : String; ALength : Longint);
  594. begin
  595. Case AName of
  596. 'operations' : SetLength(Foperations,ALength);
  597. else
  598. Inherited SetArrayLength(AName,ALength);
  599. end;
  600. end;
  601. {$ENDIF VER2_6}
  602. { --------------------------------------------------------------------
  603. TListClustersResponse
  604. --------------------------------------------------------------------}
  605. Procedure TListClustersResponse.Setclusters(AIndex : Integer; AValue : TListClustersResponseTypeclustersArray);
  606. begin
  607. If (Fclusters=AValue) then exit;
  608. Fclusters:=AValue;
  609. MarkPropertyChanged(AIndex);
  610. end;
  611. //2.6.4. bug workaround
  612. {$IFDEF VER2_6}
  613. Procedure TListClustersResponse.SetArrayLength(Const AName : String; ALength : Longint);
  614. begin
  615. Case AName of
  616. 'clusters' : SetLength(Fclusters,ALength);
  617. else
  618. Inherited SetArrayLength(AName,ALength);
  619. end;
  620. end;
  621. {$ENDIF VER2_6}
  622. { --------------------------------------------------------------------
  623. TListOperationsResponse
  624. --------------------------------------------------------------------}
  625. Procedure TListOperationsResponse.Setoperations(AIndex : Integer; AValue : TListOperationsResponseTypeoperationsArray);
  626. begin
  627. If (Foperations=AValue) then exit;
  628. Foperations:=AValue;
  629. MarkPropertyChanged(AIndex);
  630. end;
  631. //2.6.4. bug workaround
  632. {$IFDEF VER2_6}
  633. Procedure TListOperationsResponse.SetArrayLength(Const AName : String; ALength : Longint);
  634. begin
  635. Case AName of
  636. 'operations' : SetLength(Foperations,ALength);
  637. else
  638. Inherited SetArrayLength(AName,ALength);
  639. end;
  640. end;
  641. {$ENDIF VER2_6}
  642. { --------------------------------------------------------------------
  643. TMasterAuth
  644. --------------------------------------------------------------------}
  645. Procedure TMasterAuth.SetbearerToken(AIndex : Integer; const AValue : String);
  646. begin
  647. If (FbearerToken=AValue) then exit;
  648. FbearerToken:=AValue;
  649. MarkPropertyChanged(AIndex);
  650. end;
  651. Procedure TMasterAuth.Setpassword(AIndex : Integer; const AValue : String);
  652. begin
  653. If (Fpassword=AValue) then exit;
  654. Fpassword:=AValue;
  655. MarkPropertyChanged(AIndex);
  656. end;
  657. Procedure TMasterAuth.Setuser(AIndex : Integer; const AValue : String);
  658. begin
  659. If (Fuser=AValue) then exit;
  660. Fuser:=AValue;
  661. MarkPropertyChanged(AIndex);
  662. end;
  663. { --------------------------------------------------------------------
  664. TNodeConfig
  665. --------------------------------------------------------------------}
  666. Procedure TNodeConfig.SetmachineType(AIndex : Integer; const AValue : String);
  667. begin
  668. If (FmachineType=AValue) then exit;
  669. FmachineType:=AValue;
  670. MarkPropertyChanged(AIndex);
  671. end;
  672. Procedure TNodeConfig.SetserviceAccounts(AIndex : Integer; AValue : TNodeConfigTypeserviceAccountsArray);
  673. begin
  674. If (FserviceAccounts=AValue) then exit;
  675. FserviceAccounts:=AValue;
  676. MarkPropertyChanged(AIndex);
  677. end;
  678. Procedure TNodeConfig.SetsourceImage(AIndex : Integer; const AValue : String);
  679. begin
  680. If (FsourceImage=AValue) then exit;
  681. FsourceImage:=AValue;
  682. MarkPropertyChanged(AIndex);
  683. end;
  684. //2.6.4. bug workaround
  685. {$IFDEF VER2_6}
  686. Procedure TNodeConfig.SetArrayLength(Const AName : String; ALength : Longint);
  687. begin
  688. Case AName of
  689. 'serviceaccounts' : SetLength(FserviceAccounts,ALength);
  690. else
  691. Inherited SetArrayLength(AName,ALength);
  692. end;
  693. end;
  694. {$ENDIF VER2_6}
  695. { --------------------------------------------------------------------
  696. TOperation
  697. --------------------------------------------------------------------}
  698. Procedure TOperation.SeterrorMessage(AIndex : Integer; const AValue : String);
  699. begin
  700. If (FerrorMessage=AValue) then exit;
  701. FerrorMessage:=AValue;
  702. MarkPropertyChanged(AIndex);
  703. end;
  704. Procedure TOperation.Setname(AIndex : Integer; const AValue : String);
  705. begin
  706. If (Fname=AValue) then exit;
  707. Fname:=AValue;
  708. MarkPropertyChanged(AIndex);
  709. end;
  710. Procedure TOperation.SetoperationType(AIndex : Integer; const AValue : String);
  711. begin
  712. If (FoperationType=AValue) then exit;
  713. FoperationType:=AValue;
  714. MarkPropertyChanged(AIndex);
  715. end;
  716. Procedure TOperation.SetselfLink(AIndex : Integer; const AValue : String);
  717. begin
  718. If (FselfLink=AValue) then exit;
  719. FselfLink:=AValue;
  720. MarkPropertyChanged(AIndex);
  721. end;
  722. Procedure TOperation.Setstatus(AIndex : Integer; const AValue : String);
  723. begin
  724. If (Fstatus=AValue) then exit;
  725. Fstatus:=AValue;
  726. MarkPropertyChanged(AIndex);
  727. end;
  728. Procedure TOperation.Settarget(AIndex : Integer; const AValue : String);
  729. begin
  730. If (Ftarget=AValue) then exit;
  731. Ftarget:=AValue;
  732. MarkPropertyChanged(AIndex);
  733. end;
  734. Procedure TOperation.SettargetLink(AIndex : Integer; const AValue : String);
  735. begin
  736. If (FtargetLink=AValue) then exit;
  737. FtargetLink:=AValue;
  738. MarkPropertyChanged(AIndex);
  739. end;
  740. Procedure TOperation.Setzone(AIndex : Integer; const AValue : String);
  741. begin
  742. If (Fzone=AValue) then exit;
  743. Fzone:=AValue;
  744. MarkPropertyChanged(AIndex);
  745. end;
  746. { --------------------------------------------------------------------
  747. TServiceAccount
  748. --------------------------------------------------------------------}
  749. Procedure TServiceAccount.Setemail(AIndex : Integer; const AValue : String);
  750. begin
  751. If (Femail=AValue) then exit;
  752. Femail:=AValue;
  753. MarkPropertyChanged(AIndex);
  754. end;
  755. Procedure TServiceAccount.Setscopes(AIndex : Integer; AValue : TStringArray);
  756. begin
  757. If (Fscopes=AValue) then exit;
  758. Fscopes:=AValue;
  759. MarkPropertyChanged(AIndex);
  760. end;
  761. //2.6.4. bug workaround
  762. {$IFDEF VER2_6}
  763. Procedure TServiceAccount.SetArrayLength(Const AName : String; ALength : Longint);
  764. begin
  765. Case AName of
  766. 'scopes' : SetLength(Fscopes,ALength);
  767. else
  768. Inherited SetArrayLength(AName,ALength);
  769. end;
  770. end;
  771. {$ENDIF VER2_6}
  772. { --------------------------------------------------------------------
  773. TProjectsClustersResource
  774. --------------------------------------------------------------------}
  775. Class Function TProjectsClustersResource.ResourceName : String;
  776. begin
  777. Result:='clusters';
  778. end;
  779. Class Function TProjectsClustersResource.DefaultAPI : TGoogleAPIClass;
  780. begin
  781. Result:=TcontainerAPI;
  782. end;
  783. Function TProjectsClustersResource.List(projectId: string) : TListAggregatedClustersResponse;
  784. Const
  785. _HTTPMethod = 'GET';
  786. _Path = '{projectId}/clusters';
  787. _Methodid = 'container.projects.clusters.list';
  788. Var
  789. _P : String;
  790. begin
  791. _P:=SubstitutePath(_Path,['projectId',projectId]);
  792. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TListAggregatedClustersResponse) as TListAggregatedClustersResponse;
  793. end;
  794. { --------------------------------------------------------------------
  795. TProjectsOperationsResource
  796. --------------------------------------------------------------------}
  797. Class Function TProjectsOperationsResource.ResourceName : String;
  798. begin
  799. Result:='operations';
  800. end;
  801. Class Function TProjectsOperationsResource.DefaultAPI : TGoogleAPIClass;
  802. begin
  803. Result:=TcontainerAPI;
  804. end;
  805. Function TProjectsOperationsResource.List(projectId: string) : TListAggregatedOperationsResponse;
  806. Const
  807. _HTTPMethod = 'GET';
  808. _Path = '{projectId}/operations';
  809. _Methodid = 'container.projects.operations.list';
  810. Var
  811. _P : String;
  812. begin
  813. _P:=SubstitutePath(_Path,['projectId',projectId]);
  814. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TListAggregatedOperationsResponse) as TListAggregatedOperationsResponse;
  815. end;
  816. { --------------------------------------------------------------------
  817. TProjectsZonesClustersResource
  818. --------------------------------------------------------------------}
  819. Class Function TProjectsZonesClustersResource.ResourceName : String;
  820. begin
  821. Result:='clusters';
  822. end;
  823. Class Function TProjectsZonesClustersResource.DefaultAPI : TGoogleAPIClass;
  824. begin
  825. Result:=TcontainerAPI;
  826. end;
  827. Function TProjectsZonesClustersResource.Create(projectId: string; zoneId: string; aCreateClusterRequest : TCreateClusterRequest) : TOperation;
  828. Const
  829. _HTTPMethod = 'POST';
  830. _Path = '{projectId}/zones/{zoneId}/clusters';
  831. _Methodid = 'container.projects.zones.clusters.create';
  832. Var
  833. _P : String;
  834. begin
  835. _P:=SubstitutePath(_Path,['projectId',projectId,'zoneId',zoneId]);
  836. Result:=ServiceCall(_HTTPMethod,_P,'',aCreateClusterRequest,TOperation) as TOperation;
  837. end;
  838. Function TProjectsZonesClustersResource.Delete(clusterId: string; projectId: string; zoneId: string) : TOperation;
  839. Const
  840. _HTTPMethod = 'DELETE';
  841. _Path = '{projectId}/zones/{zoneId}/clusters/{clusterId}';
  842. _Methodid = 'container.projects.zones.clusters.delete';
  843. Var
  844. _P : String;
  845. begin
  846. _P:=SubstitutePath(_Path,['clusterId',clusterId,'projectId',projectId,'zoneId',zoneId]);
  847. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TOperation) as TOperation;
  848. end;
  849. Function TProjectsZonesClustersResource.Get(clusterId: string; projectId: string; zoneId: string) : TCluster;
  850. Const
  851. _HTTPMethod = 'GET';
  852. _Path = '{projectId}/zones/{zoneId}/clusters/{clusterId}';
  853. _Methodid = 'container.projects.zones.clusters.get';
  854. Var
  855. _P : String;
  856. begin
  857. _P:=SubstitutePath(_Path,['clusterId',clusterId,'projectId',projectId,'zoneId',zoneId]);
  858. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TCluster) as TCluster;
  859. end;
  860. Function TProjectsZonesClustersResource.List(projectId: string; zoneId: string) : TListClustersResponse;
  861. Const
  862. _HTTPMethod = 'GET';
  863. _Path = '{projectId}/zones/{zoneId}/clusters';
  864. _Methodid = 'container.projects.zones.clusters.list';
  865. Var
  866. _P : String;
  867. begin
  868. _P:=SubstitutePath(_Path,['projectId',projectId,'zoneId',zoneId]);
  869. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TListClustersResponse) as TListClustersResponse;
  870. end;
  871. { --------------------------------------------------------------------
  872. TProjectsZonesOperationsResource
  873. --------------------------------------------------------------------}
  874. Class Function TProjectsZonesOperationsResource.ResourceName : String;
  875. begin
  876. Result:='operations';
  877. end;
  878. Class Function TProjectsZonesOperationsResource.DefaultAPI : TGoogleAPIClass;
  879. begin
  880. Result:=TcontainerAPI;
  881. end;
  882. Function TProjectsZonesOperationsResource.Get(operationId: string; projectId: string; zoneId: string) : TOperation;
  883. Const
  884. _HTTPMethod = 'GET';
  885. _Path = '{projectId}/zones/{zoneId}/operations/{operationId}';
  886. _Methodid = 'container.projects.zones.operations.get';
  887. Var
  888. _P : String;
  889. begin
  890. _P:=SubstitutePath(_Path,['operationId',operationId,'projectId',projectId,'zoneId',zoneId]);
  891. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TOperation) as TOperation;
  892. end;
  893. Function TProjectsZonesOperationsResource.List(projectId: string; zoneId: string) : TListOperationsResponse;
  894. Const
  895. _HTTPMethod = 'GET';
  896. _Path = '{projectId}/zones/{zoneId}/operations';
  897. _Methodid = 'container.projects.zones.operations.list';
  898. Var
  899. _P : String;
  900. begin
  901. _P:=SubstitutePath(_Path,['projectId',projectId,'zoneId',zoneId]);
  902. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TListOperationsResponse) as TListOperationsResponse;
  903. end;
  904. { --------------------------------------------------------------------
  905. TProjectsZonesResource
  906. --------------------------------------------------------------------}
  907. Class Function TProjectsZonesResource.ResourceName : String;
  908. begin
  909. Result:='zones';
  910. end;
  911. Class Function TProjectsZonesResource.DefaultAPI : TGoogleAPIClass;
  912. begin
  913. Result:=TcontainerAPI;
  914. end;
  915. Function TProjectsZonesResource.GetClustersInstance : TProjectsZonesClustersResource;
  916. begin
  917. if (FClustersInstance=Nil) then
  918. FClustersInstance:=CreateClustersResource;
  919. Result:=FClustersInstance;
  920. end;
  921. Function TProjectsZonesResource.CreateClustersResource : TProjectsZonesClustersResource;
  922. begin
  923. Result:=CreateClustersResource(Self);
  924. end;
  925. Function TProjectsZonesResource.CreateClustersResource(AOwner : TComponent) : TProjectsZonesClustersResource;
  926. begin
  927. Result:=TProjectsZonesClustersResource.Create(AOwner);
  928. Result.API:=Self.API;
  929. end;
  930. Function TProjectsZonesResource.GetOperationsInstance : TProjectsZonesOperationsResource;
  931. begin
  932. if (FOperationsInstance=Nil) then
  933. FOperationsInstance:=CreateOperationsResource;
  934. Result:=FOperationsInstance;
  935. end;
  936. Function TProjectsZonesResource.CreateOperationsResource : TProjectsZonesOperationsResource;
  937. begin
  938. Result:=CreateOperationsResource(Self);
  939. end;
  940. Function TProjectsZonesResource.CreateOperationsResource(AOwner : TComponent) : TProjectsZonesOperationsResource;
  941. begin
  942. Result:=TProjectsZonesOperationsResource.Create(AOwner);
  943. Result.API:=Self.API;
  944. end;
  945. { --------------------------------------------------------------------
  946. TProjectsResource
  947. --------------------------------------------------------------------}
  948. Class Function TProjectsResource.ResourceName : String;
  949. begin
  950. Result:='projects';
  951. end;
  952. Class Function TProjectsResource.DefaultAPI : TGoogleAPIClass;
  953. begin
  954. Result:=TcontainerAPI;
  955. end;
  956. Function TProjectsResource.GetClustersInstance : TProjectsClustersResource;
  957. begin
  958. if (FClustersInstance=Nil) then
  959. FClustersInstance:=CreateClustersResource;
  960. Result:=FClustersInstance;
  961. end;
  962. Function TProjectsResource.CreateClustersResource : TProjectsClustersResource;
  963. begin
  964. Result:=CreateClustersResource(Self);
  965. end;
  966. Function TProjectsResource.CreateClustersResource(AOwner : TComponent) : TProjectsClustersResource;
  967. begin
  968. Result:=TProjectsClustersResource.Create(AOwner);
  969. Result.API:=Self.API;
  970. end;
  971. Function TProjectsResource.GetOperationsInstance : TProjectsOperationsResource;
  972. begin
  973. if (FOperationsInstance=Nil) then
  974. FOperationsInstance:=CreateOperationsResource;
  975. Result:=FOperationsInstance;
  976. end;
  977. Function TProjectsResource.CreateOperationsResource : TProjectsOperationsResource;
  978. begin
  979. Result:=CreateOperationsResource(Self);
  980. end;
  981. Function TProjectsResource.CreateOperationsResource(AOwner : TComponent) : TProjectsOperationsResource;
  982. begin
  983. Result:=TProjectsOperationsResource.Create(AOwner);
  984. Result.API:=Self.API;
  985. end;
  986. Function TProjectsResource.GetZonesClustersInstance : TProjectsZonesClustersResource;
  987. begin
  988. if (FZonesClustersInstance=Nil) then
  989. FZonesClustersInstance:=CreateZonesClustersResource;
  990. Result:=FZonesClustersInstance;
  991. end;
  992. Function TProjectsResource.CreateZonesClustersResource : TProjectsZonesClustersResource;
  993. begin
  994. Result:=CreateZonesClustersResource(Self);
  995. end;
  996. Function TProjectsResource.CreateZonesClustersResource(AOwner : TComponent) : TProjectsZonesClustersResource;
  997. begin
  998. Result:=TProjectsZonesClustersResource.Create(AOwner);
  999. Result.API:=Self.API;
  1000. end;
  1001. Function TProjectsResource.GetZonesOperationsInstance : TProjectsZonesOperationsResource;
  1002. begin
  1003. if (FZonesOperationsInstance=Nil) then
  1004. FZonesOperationsInstance:=CreateZonesOperationsResource;
  1005. Result:=FZonesOperationsInstance;
  1006. end;
  1007. Function TProjectsResource.CreateZonesOperationsResource : TProjectsZonesOperationsResource;
  1008. begin
  1009. Result:=CreateZonesOperationsResource(Self);
  1010. end;
  1011. Function TProjectsResource.CreateZonesOperationsResource(AOwner : TComponent) : TProjectsZonesOperationsResource;
  1012. begin
  1013. Result:=TProjectsZonesOperationsResource.Create(AOwner);
  1014. Result.API:=Self.API;
  1015. end;
  1016. Function TProjectsResource.GetZonesInstance : TProjectsZonesResource;
  1017. begin
  1018. if (FZonesInstance=Nil) then
  1019. FZonesInstance:=CreateZonesResource;
  1020. Result:=FZonesInstance;
  1021. end;
  1022. Function TProjectsResource.CreateZonesResource : TProjectsZonesResource;
  1023. begin
  1024. Result:=CreateZonesResource(Self);
  1025. end;
  1026. Function TProjectsResource.CreateZonesResource(AOwner : TComponent) : TProjectsZonesResource;
  1027. begin
  1028. Result:=TProjectsZonesResource.Create(AOwner);
  1029. Result.API:=Self.API;
  1030. end;
  1031. { --------------------------------------------------------------------
  1032. TContainerAPI
  1033. --------------------------------------------------------------------}
  1034. Class Function TContainerAPI.APIName : String;
  1035. begin
  1036. Result:='container';
  1037. end;
  1038. Class Function TContainerAPI.APIVersion : String;
  1039. begin
  1040. Result:='v1beta1';
  1041. end;
  1042. Class Function TContainerAPI.APIRevision : String;
  1043. begin
  1044. Result:='20150504';
  1045. end;
  1046. Class Function TContainerAPI.APIID : String;
  1047. begin
  1048. Result:='container:v1beta1';
  1049. end;
  1050. Class Function TContainerAPI.APITitle : String;
  1051. begin
  1052. Result:='Google Container Engine API';
  1053. end;
  1054. Class Function TContainerAPI.APIDescription : String;
  1055. begin
  1056. Result:='The Google Container Engine API is used for building and managing container based applications, powered by the open source Kubernetes technology.';
  1057. end;
  1058. Class Function TContainerAPI.APIOwnerDomain : String;
  1059. begin
  1060. Result:='google.com';
  1061. end;
  1062. Class Function TContainerAPI.APIOwnerName : String;
  1063. begin
  1064. Result:='Google';
  1065. end;
  1066. Class Function TContainerAPI.APIIcon16 : String;
  1067. begin
  1068. Result:='http://www.google.com/images/icons/product/search-16.gif';
  1069. end;
  1070. Class Function TContainerAPI.APIIcon32 : String;
  1071. begin
  1072. Result:='http://www.google.com/images/icons/product/search-32.gif';
  1073. end;
  1074. Class Function TContainerAPI.APIdocumentationLink : String;
  1075. begin
  1076. Result:='https://cloud.google.com/container-engine/docs/v1beta1/';
  1077. end;
  1078. Class Function TContainerAPI.APIrootUrl : string;
  1079. begin
  1080. Result:='https://www.googleapis.com:443/';
  1081. end;
  1082. Class Function TContainerAPI.APIbasePath : string;
  1083. begin
  1084. Result:='/container/v1beta1/projects/';
  1085. end;
  1086. Class Function TContainerAPI.APIbaseURL : String;
  1087. begin
  1088. Result:='https://www.googleapis.com:443/container/v1beta1/projects/';
  1089. end;
  1090. Class Function TContainerAPI.APIProtocol : string;
  1091. begin
  1092. Result:='rest';
  1093. end;
  1094. Class Function TContainerAPI.APIservicePath : string;
  1095. begin
  1096. Result:='container/v1beta1/projects/';
  1097. end;
  1098. Class Function TContainerAPI.APIbatchPath : String;
  1099. begin
  1100. Result:='batch';
  1101. end;
  1102. Class Function TContainerAPI.APIAuthScopes : TScopeInfoArray;
  1103. begin
  1104. SetLength(Result,1);
  1105. Result[0].Name:='https://www.googleapis.com/auth/cloud-platform';
  1106. Result[0].Description:='View and manage your data across Google Cloud Platform services';
  1107. end;
  1108. Class Function TContainerAPI.APINeedsAuth : Boolean;
  1109. begin
  1110. Result:=True;
  1111. end;
  1112. Class Procedure TContainerAPI.RegisterAPIResources;
  1113. begin
  1114. TCluster.RegisterObject;
  1115. TCreateClusterRequest.RegisterObject;
  1116. TListAggregatedClustersResponse.RegisterObject;
  1117. TListAggregatedOperationsResponse.RegisterObject;
  1118. TListClustersResponse.RegisterObject;
  1119. TListOperationsResponse.RegisterObject;
  1120. TMasterAuth.RegisterObject;
  1121. TNodeConfig.RegisterObject;
  1122. TOperation.RegisterObject;
  1123. TServiceAccount.RegisterObject;
  1124. end;
  1125. Function TContainerAPI.GetProjectsClustersInstance : TProjectsClustersResource;
  1126. begin
  1127. if (FProjectsClustersInstance=Nil) then
  1128. FProjectsClustersInstance:=CreateProjectsClustersResource;
  1129. Result:=FProjectsClustersInstance;
  1130. end;
  1131. Function TContainerAPI.CreateProjectsClustersResource : TProjectsClustersResource;
  1132. begin
  1133. Result:=CreateProjectsClustersResource(Self);
  1134. end;
  1135. Function TContainerAPI.CreateProjectsClustersResource(AOwner : TComponent) : TProjectsClustersResource;
  1136. begin
  1137. Result:=TProjectsClustersResource.Create(AOwner);
  1138. Result.API:=Self.API;
  1139. end;
  1140. Function TContainerAPI.GetProjectsOperationsInstance : TProjectsOperationsResource;
  1141. begin
  1142. if (FProjectsOperationsInstance=Nil) then
  1143. FProjectsOperationsInstance:=CreateProjectsOperationsResource;
  1144. Result:=FProjectsOperationsInstance;
  1145. end;
  1146. Function TContainerAPI.CreateProjectsOperationsResource : TProjectsOperationsResource;
  1147. begin
  1148. Result:=CreateProjectsOperationsResource(Self);
  1149. end;
  1150. Function TContainerAPI.CreateProjectsOperationsResource(AOwner : TComponent) : TProjectsOperationsResource;
  1151. begin
  1152. Result:=TProjectsOperationsResource.Create(AOwner);
  1153. Result.API:=Self.API;
  1154. end;
  1155. Function TContainerAPI.GetProjectsZonesClustersInstance : TProjectsZonesClustersResource;
  1156. begin
  1157. if (FProjectsZonesClustersInstance=Nil) then
  1158. FProjectsZonesClustersInstance:=CreateProjectsZonesClustersResource;
  1159. Result:=FProjectsZonesClustersInstance;
  1160. end;
  1161. Function TContainerAPI.CreateProjectsZonesClustersResource : TProjectsZonesClustersResource;
  1162. begin
  1163. Result:=CreateProjectsZonesClustersResource(Self);
  1164. end;
  1165. Function TContainerAPI.CreateProjectsZonesClustersResource(AOwner : TComponent) : TProjectsZonesClustersResource;
  1166. begin
  1167. Result:=TProjectsZonesClustersResource.Create(AOwner);
  1168. Result.API:=Self.API;
  1169. end;
  1170. Function TContainerAPI.GetProjectsZonesOperationsInstance : TProjectsZonesOperationsResource;
  1171. begin
  1172. if (FProjectsZonesOperationsInstance=Nil) then
  1173. FProjectsZonesOperationsInstance:=CreateProjectsZonesOperationsResource;
  1174. Result:=FProjectsZonesOperationsInstance;
  1175. end;
  1176. Function TContainerAPI.CreateProjectsZonesOperationsResource : TProjectsZonesOperationsResource;
  1177. begin
  1178. Result:=CreateProjectsZonesOperationsResource(Self);
  1179. end;
  1180. Function TContainerAPI.CreateProjectsZonesOperationsResource(AOwner : TComponent) : TProjectsZonesOperationsResource;
  1181. begin
  1182. Result:=TProjectsZonesOperationsResource.Create(AOwner);
  1183. Result.API:=Self.API;
  1184. end;
  1185. Function TContainerAPI.GetProjectsZonesInstance : TProjectsZonesResource;
  1186. begin
  1187. if (FProjectsZonesInstance=Nil) then
  1188. FProjectsZonesInstance:=CreateProjectsZonesResource;
  1189. Result:=FProjectsZonesInstance;
  1190. end;
  1191. Function TContainerAPI.CreateProjectsZonesResource : TProjectsZonesResource;
  1192. begin
  1193. Result:=CreateProjectsZonesResource(Self);
  1194. end;
  1195. Function TContainerAPI.CreateProjectsZonesResource(AOwner : TComponent) : TProjectsZonesResource;
  1196. begin
  1197. Result:=TProjectsZonesResource.Create(AOwner);
  1198. Result.API:=Self.API;
  1199. end;
  1200. Function TContainerAPI.GetProjectsInstance : TProjectsResource;
  1201. begin
  1202. if (FProjectsInstance=Nil) then
  1203. FProjectsInstance:=CreateProjectsResource;
  1204. Result:=FProjectsInstance;
  1205. end;
  1206. Function TContainerAPI.CreateProjectsResource : TProjectsResource;
  1207. begin
  1208. Result:=CreateProjectsResource(Self);
  1209. end;
  1210. Function TContainerAPI.CreateProjectsResource(AOwner : TComponent) : TProjectsResource;
  1211. begin
  1212. Result:=TProjectsResource.Create(AOwner);
  1213. Result.API:=Self.API;
  1214. end;
  1215. initialization
  1216. TContainerAPI.RegisterAPI;
  1217. end.