googlereplicapool.pp 55 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845
  1. unit googlereplicapool;
  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:07
  14. {$MODE objfpc}
  15. {$H+}
  16. interface
  17. uses sysutils, classes, googleservice, restbase, googlebase;
  18. type
  19. //Top-level schema types
  20. TInstanceGroupManager = Class;
  21. TInstanceGroupManagerList = Class;
  22. TInstanceGroupManagersAbandonInstancesRequest = Class;
  23. TInstanceGroupManagersDeleteInstancesRequest = Class;
  24. TInstanceGroupManagersRecreateInstancesRequest = Class;
  25. TInstanceGroupManagersSetInstanceTemplateRequest = Class;
  26. TInstanceGroupManagersSetTargetPoolsRequest = Class;
  27. TOperation = Class;
  28. TOperationList = Class;
  29. TInstanceGroupManagerArray = Array of TInstanceGroupManager;
  30. TInstanceGroupManagerListArray = Array of TInstanceGroupManagerList;
  31. TInstanceGroupManagersAbandonInstancesRequestArray = Array of TInstanceGroupManagersAbandonInstancesRequest;
  32. TInstanceGroupManagersDeleteInstancesRequestArray = Array of TInstanceGroupManagersDeleteInstancesRequest;
  33. TInstanceGroupManagersRecreateInstancesRequestArray = Array of TInstanceGroupManagersRecreateInstancesRequest;
  34. TInstanceGroupManagersSetInstanceTemplateRequestArray = Array of TInstanceGroupManagersSetInstanceTemplateRequest;
  35. TInstanceGroupManagersSetTargetPoolsRequestArray = Array of TInstanceGroupManagersSetTargetPoolsRequest;
  36. TOperationArray = Array of TOperation;
  37. TOperationListArray = Array of TOperationList;
  38. //Anonymous types, using auto-generated names
  39. TOperationTypeerrorTypeerrorsItem = Class;
  40. TOperationTypeerror = Class;
  41. TOperationTypewarningsItemTypedataItem = Class;
  42. TOperationTypewarningsItem = Class;
  43. TInstanceGroupManagerListTypeitemsArray = Array of TInstanceGroupManager;
  44. TOperationTypeerrorTypeerrorsArray = Array of TOperationTypeerrorTypeerrorsItem;
  45. TOperationTypewarningsItemTypedataArray = Array of TOperationTypewarningsItemTypedataItem;
  46. TOperationTypewarningsArray = Array of TOperationTypewarningsItem;
  47. TOperationListTypeitemsArray = Array of TOperation;
  48. { --------------------------------------------------------------------
  49. TInstanceGroupManager
  50. --------------------------------------------------------------------}
  51. TInstanceGroupManager = Class(TGoogleBaseObject)
  52. Private
  53. FbaseInstanceName : String;
  54. FcreationTimestamp : String;
  55. FcurrentSize : integer;
  56. Fdescription : String;
  57. Ffingerprint : String;
  58. Fgroup : String;
  59. Fid : String;
  60. FinstanceTemplate : String;
  61. Fkind : String;
  62. Fname : String;
  63. FselfLink : String;
  64. FtargetPools : TStringArray;
  65. FtargetSize : integer;
  66. Protected
  67. //Property setters
  68. Procedure SetbaseInstanceName(AIndex : Integer; AValue : String); virtual;
  69. Procedure SetcreationTimestamp(AIndex : Integer; AValue : String); virtual;
  70. Procedure SetcurrentSize(AIndex : Integer; AValue : integer); virtual;
  71. Procedure Setdescription(AIndex : Integer; AValue : String); virtual;
  72. Procedure Setfingerprint(AIndex : Integer; AValue : String); virtual;
  73. Procedure Setgroup(AIndex : Integer; AValue : String); virtual;
  74. Procedure Setid(AIndex : Integer; AValue : String); virtual;
  75. Procedure SetinstanceTemplate(AIndex : Integer; AValue : String); virtual;
  76. Procedure Setkind(AIndex : Integer; AValue : String); virtual;
  77. Procedure Setname(AIndex : Integer; AValue : String); virtual;
  78. Procedure SetselfLink(AIndex : Integer; AValue : String); virtual;
  79. Procedure SettargetPools(AIndex : Integer; AValue : TStringArray); virtual;
  80. Procedure SettargetSize(AIndex : Integer; AValue : integer); virtual;
  81. //2.6.4. bug workaround
  82. {$IFDEF VER2_6}
  83. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  84. {$ENDIF VER2_6}
  85. Public
  86. Published
  87. Property baseInstanceName : String Index 0 Read FbaseInstanceName Write SetbaseInstanceName;
  88. Property creationTimestamp : String Index 8 Read FcreationTimestamp Write SetcreationTimestamp;
  89. Property currentSize : integer Index 16 Read FcurrentSize Write SetcurrentSize;
  90. Property description : String Index 24 Read Fdescription Write Setdescription;
  91. Property fingerprint : String Index 32 Read Ffingerprint Write Setfingerprint;
  92. Property group : String Index 40 Read Fgroup Write Setgroup;
  93. Property id : String Index 48 Read Fid Write Setid;
  94. Property instanceTemplate : String Index 56 Read FinstanceTemplate Write SetinstanceTemplate;
  95. Property kind : String Index 64 Read Fkind Write Setkind;
  96. Property name : String Index 72 Read Fname Write Setname;
  97. Property selfLink : String Index 80 Read FselfLink Write SetselfLink;
  98. Property targetPools : TStringArray Index 88 Read FtargetPools Write SettargetPools;
  99. Property targetSize : integer Index 96 Read FtargetSize Write SettargetSize;
  100. end;
  101. TInstanceGroupManagerClass = Class of TInstanceGroupManager;
  102. { --------------------------------------------------------------------
  103. TInstanceGroupManagerList
  104. --------------------------------------------------------------------}
  105. TInstanceGroupManagerList = Class(TGoogleBaseObject)
  106. Private
  107. Fid : String;
  108. Fitems : TInstanceGroupManagerListTypeitemsArray;
  109. Fkind : String;
  110. FnextPageToken : String;
  111. FselfLink : String;
  112. Protected
  113. //Property setters
  114. Procedure Setid(AIndex : Integer; AValue : String); virtual;
  115. Procedure Setitems(AIndex : Integer; AValue : TInstanceGroupManagerListTypeitemsArray); virtual;
  116. Procedure Setkind(AIndex : Integer; AValue : String); virtual;
  117. Procedure SetnextPageToken(AIndex : Integer; AValue : String); virtual;
  118. Procedure SetselfLink(AIndex : Integer; AValue : String); virtual;
  119. //2.6.4. bug workaround
  120. {$IFDEF VER2_6}
  121. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  122. {$ENDIF VER2_6}
  123. Public
  124. Published
  125. Property id : String Index 0 Read Fid Write Setid;
  126. Property items : TInstanceGroupManagerListTypeitemsArray Index 8 Read Fitems Write Setitems;
  127. Property kind : String Index 16 Read Fkind Write Setkind;
  128. Property nextPageToken : String Index 24 Read FnextPageToken Write SetnextPageToken;
  129. Property selfLink : String Index 32 Read FselfLink Write SetselfLink;
  130. end;
  131. TInstanceGroupManagerListClass = Class of TInstanceGroupManagerList;
  132. { --------------------------------------------------------------------
  133. TInstanceGroupManagersAbandonInstancesRequest
  134. --------------------------------------------------------------------}
  135. TInstanceGroupManagersAbandonInstancesRequest = Class(TGoogleBaseObject)
  136. Private
  137. Finstances : TStringArray;
  138. Protected
  139. //Property setters
  140. Procedure Setinstances(AIndex : Integer; AValue : TStringArray); virtual;
  141. //2.6.4. bug workaround
  142. {$IFDEF VER2_6}
  143. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  144. {$ENDIF VER2_6}
  145. Public
  146. Published
  147. Property instances : TStringArray Index 0 Read Finstances Write Setinstances;
  148. end;
  149. TInstanceGroupManagersAbandonInstancesRequestClass = Class of TInstanceGroupManagersAbandonInstancesRequest;
  150. { --------------------------------------------------------------------
  151. TInstanceGroupManagersDeleteInstancesRequest
  152. --------------------------------------------------------------------}
  153. TInstanceGroupManagersDeleteInstancesRequest = Class(TGoogleBaseObject)
  154. Private
  155. Finstances : TStringArray;
  156. Protected
  157. //Property setters
  158. Procedure Setinstances(AIndex : Integer; AValue : TStringArray); virtual;
  159. //2.6.4. bug workaround
  160. {$IFDEF VER2_6}
  161. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  162. {$ENDIF VER2_6}
  163. Public
  164. Published
  165. Property instances : TStringArray Index 0 Read Finstances Write Setinstances;
  166. end;
  167. TInstanceGroupManagersDeleteInstancesRequestClass = Class of TInstanceGroupManagersDeleteInstancesRequest;
  168. { --------------------------------------------------------------------
  169. TInstanceGroupManagersRecreateInstancesRequest
  170. --------------------------------------------------------------------}
  171. TInstanceGroupManagersRecreateInstancesRequest = Class(TGoogleBaseObject)
  172. Private
  173. Finstances : TStringArray;
  174. Protected
  175. //Property setters
  176. Procedure Setinstances(AIndex : Integer; AValue : TStringArray); virtual;
  177. //2.6.4. bug workaround
  178. {$IFDEF VER2_6}
  179. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  180. {$ENDIF VER2_6}
  181. Public
  182. Published
  183. Property instances : TStringArray Index 0 Read Finstances Write Setinstances;
  184. end;
  185. TInstanceGroupManagersRecreateInstancesRequestClass = Class of TInstanceGroupManagersRecreateInstancesRequest;
  186. { --------------------------------------------------------------------
  187. TInstanceGroupManagersSetInstanceTemplateRequest
  188. --------------------------------------------------------------------}
  189. TInstanceGroupManagersSetInstanceTemplateRequest = Class(TGoogleBaseObject)
  190. Private
  191. FinstanceTemplate : String;
  192. Protected
  193. //Property setters
  194. Procedure SetinstanceTemplate(AIndex : Integer; AValue : String); virtual;
  195. Public
  196. Published
  197. Property instanceTemplate : String Index 0 Read FinstanceTemplate Write SetinstanceTemplate;
  198. end;
  199. TInstanceGroupManagersSetInstanceTemplateRequestClass = Class of TInstanceGroupManagersSetInstanceTemplateRequest;
  200. { --------------------------------------------------------------------
  201. TInstanceGroupManagersSetTargetPoolsRequest
  202. --------------------------------------------------------------------}
  203. TInstanceGroupManagersSetTargetPoolsRequest = Class(TGoogleBaseObject)
  204. Private
  205. Ffingerprint : String;
  206. FtargetPools : TStringArray;
  207. Protected
  208. //Property setters
  209. Procedure Setfingerprint(AIndex : Integer; AValue : String); virtual;
  210. Procedure SettargetPools(AIndex : Integer; AValue : TStringArray); virtual;
  211. //2.6.4. bug workaround
  212. {$IFDEF VER2_6}
  213. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  214. {$ENDIF VER2_6}
  215. Public
  216. Published
  217. Property fingerprint : String Index 0 Read Ffingerprint Write Setfingerprint;
  218. Property targetPools : TStringArray Index 8 Read FtargetPools Write SettargetPools;
  219. end;
  220. TInstanceGroupManagersSetTargetPoolsRequestClass = Class of TInstanceGroupManagersSetTargetPoolsRequest;
  221. { --------------------------------------------------------------------
  222. TOperationTypeerrorTypeerrorsItem
  223. --------------------------------------------------------------------}
  224. TOperationTypeerrorTypeerrorsItem = Class(TGoogleBaseObject)
  225. Private
  226. Fcode : String;
  227. Flocation : String;
  228. Fmessage : String;
  229. Protected
  230. //Property setters
  231. Procedure Setcode(AIndex : Integer; AValue : String); virtual;
  232. Procedure Setlocation(AIndex : Integer; AValue : String); virtual;
  233. Procedure Setmessage(AIndex : Integer; AValue : String); virtual;
  234. Public
  235. Published
  236. Property code : String Index 0 Read Fcode Write Setcode;
  237. Property location : String Index 8 Read Flocation Write Setlocation;
  238. Property message : String Index 16 Read Fmessage Write Setmessage;
  239. end;
  240. TOperationTypeerrorTypeerrorsItemClass = Class of TOperationTypeerrorTypeerrorsItem;
  241. { --------------------------------------------------------------------
  242. TOperationTypeerror
  243. --------------------------------------------------------------------}
  244. TOperationTypeerror = Class(TGoogleBaseObject)
  245. Private
  246. Ferrors : TOperationTypeerrorTypeerrorsArray;
  247. Protected
  248. //Property setters
  249. Procedure Seterrors(AIndex : Integer; AValue : TOperationTypeerrorTypeerrorsArray); virtual;
  250. //2.6.4. bug workaround
  251. {$IFDEF VER2_6}
  252. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  253. {$ENDIF VER2_6}
  254. Public
  255. Published
  256. Property errors : TOperationTypeerrorTypeerrorsArray Index 0 Read Ferrors Write Seterrors;
  257. end;
  258. TOperationTypeerrorClass = Class of TOperationTypeerror;
  259. { --------------------------------------------------------------------
  260. TOperationTypewarningsItemTypedataItem
  261. --------------------------------------------------------------------}
  262. TOperationTypewarningsItemTypedataItem = Class(TGoogleBaseObject)
  263. Private
  264. Fkey : String;
  265. Fvalue : String;
  266. Protected
  267. //Property setters
  268. Procedure Setkey(AIndex : Integer; AValue : String); virtual;
  269. Procedure Setvalue(AIndex : Integer; AValue : String); virtual;
  270. Public
  271. Published
  272. Property key : String Index 0 Read Fkey Write Setkey;
  273. Property value : String Index 8 Read Fvalue Write Setvalue;
  274. end;
  275. TOperationTypewarningsItemTypedataItemClass = Class of TOperationTypewarningsItemTypedataItem;
  276. { --------------------------------------------------------------------
  277. TOperationTypewarningsItem
  278. --------------------------------------------------------------------}
  279. TOperationTypewarningsItem = Class(TGoogleBaseObject)
  280. Private
  281. Fcode : String;
  282. Fdata : TOperationTypewarningsItemTypedataArray;
  283. Fmessage : String;
  284. Protected
  285. //Property setters
  286. Procedure Setcode(AIndex : Integer; AValue : String); virtual;
  287. Procedure Setdata(AIndex : Integer; AValue : TOperationTypewarningsItemTypedataArray); virtual;
  288. Procedure Setmessage(AIndex : Integer; AValue : String); virtual;
  289. //2.6.4. bug workaround
  290. {$IFDEF VER2_6}
  291. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  292. {$ENDIF VER2_6}
  293. Public
  294. Published
  295. Property code : String Index 0 Read Fcode Write Setcode;
  296. Property data : TOperationTypewarningsItemTypedataArray Index 8 Read Fdata Write Setdata;
  297. Property message : String Index 16 Read Fmessage Write Setmessage;
  298. end;
  299. TOperationTypewarningsItemClass = Class of TOperationTypewarningsItem;
  300. { --------------------------------------------------------------------
  301. TOperation
  302. --------------------------------------------------------------------}
  303. TOperation = Class(TGoogleBaseObject)
  304. Private
  305. FclientOperationId : String;
  306. FcreationTimestamp : String;
  307. FendTime : String;
  308. Ferror : TOperationTypeerror;
  309. FhttpErrorMessage : String;
  310. FhttpErrorStatusCode : integer;
  311. Fid : String;
  312. FinsertTime : String;
  313. Fkind : String;
  314. Fname : String;
  315. FoperationType : String;
  316. Fprogress : integer;
  317. Fregion : String;
  318. FselfLink : String;
  319. FstartTime : String;
  320. Fstatus : String;
  321. FstatusMessage : String;
  322. FtargetId : String;
  323. FtargetLink : String;
  324. Fuser : String;
  325. Fwarnings : TOperationTypewarningsArray;
  326. Fzone : String;
  327. Protected
  328. //Property setters
  329. Procedure SetclientOperationId(AIndex : Integer; AValue : String); virtual;
  330. Procedure SetcreationTimestamp(AIndex : Integer; AValue : String); virtual;
  331. Procedure SetendTime(AIndex : Integer; AValue : String); virtual;
  332. Procedure Seterror(AIndex : Integer; AValue : TOperationTypeerror); virtual;
  333. Procedure SethttpErrorMessage(AIndex : Integer; AValue : String); virtual;
  334. Procedure SethttpErrorStatusCode(AIndex : Integer; AValue : integer); virtual;
  335. Procedure Setid(AIndex : Integer; AValue : String); virtual;
  336. Procedure SetinsertTime(AIndex : Integer; AValue : String); virtual;
  337. Procedure Setkind(AIndex : Integer; AValue : String); virtual;
  338. Procedure Setname(AIndex : Integer; AValue : String); virtual;
  339. Procedure SetoperationType(AIndex : Integer; AValue : String); virtual;
  340. Procedure Setprogress(AIndex : Integer; AValue : integer); virtual;
  341. Procedure Setregion(AIndex : Integer; AValue : String); virtual;
  342. Procedure SetselfLink(AIndex : Integer; AValue : String); virtual;
  343. Procedure SetstartTime(AIndex : Integer; AValue : String); virtual;
  344. Procedure Setstatus(AIndex : Integer; AValue : String); virtual;
  345. Procedure SetstatusMessage(AIndex : Integer; AValue : String); virtual;
  346. Procedure SettargetId(AIndex : Integer; AValue : String); virtual;
  347. Procedure SettargetLink(AIndex : Integer; AValue : String); virtual;
  348. Procedure Setuser(AIndex : Integer; AValue : String); virtual;
  349. Procedure Setwarnings(AIndex : Integer; AValue : TOperationTypewarningsArray); virtual;
  350. Procedure Setzone(AIndex : Integer; AValue : String); virtual;
  351. //2.6.4. bug workaround
  352. {$IFDEF VER2_6}
  353. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  354. {$ENDIF VER2_6}
  355. Public
  356. Published
  357. Property clientOperationId : String Index 0 Read FclientOperationId Write SetclientOperationId;
  358. Property creationTimestamp : String Index 8 Read FcreationTimestamp Write SetcreationTimestamp;
  359. Property endTime : String Index 16 Read FendTime Write SetendTime;
  360. Property error : TOperationTypeerror Index 24 Read Ferror Write Seterror;
  361. Property httpErrorMessage : String Index 32 Read FhttpErrorMessage Write SethttpErrorMessage;
  362. Property httpErrorStatusCode : integer Index 40 Read FhttpErrorStatusCode Write SethttpErrorStatusCode;
  363. Property id : String Index 48 Read Fid Write Setid;
  364. Property insertTime : String Index 56 Read FinsertTime Write SetinsertTime;
  365. Property kind : String Index 64 Read Fkind Write Setkind;
  366. Property name : String Index 72 Read Fname Write Setname;
  367. Property operationType : String Index 80 Read FoperationType Write SetoperationType;
  368. Property progress : integer Index 88 Read Fprogress Write Setprogress;
  369. Property region : String Index 96 Read Fregion Write Setregion;
  370. Property selfLink : String Index 104 Read FselfLink Write SetselfLink;
  371. Property startTime : String Index 112 Read FstartTime Write SetstartTime;
  372. Property status : String Index 120 Read Fstatus Write Setstatus;
  373. Property statusMessage : String Index 128 Read FstatusMessage Write SetstatusMessage;
  374. Property targetId : String Index 136 Read FtargetId Write SettargetId;
  375. Property targetLink : String Index 144 Read FtargetLink Write SettargetLink;
  376. Property user : String Index 152 Read Fuser Write Setuser;
  377. Property warnings : TOperationTypewarningsArray Index 160 Read Fwarnings Write Setwarnings;
  378. Property zone : String Index 168 Read Fzone Write Setzone;
  379. end;
  380. TOperationClass = Class of TOperation;
  381. { --------------------------------------------------------------------
  382. TOperationList
  383. --------------------------------------------------------------------}
  384. TOperationList = Class(TGoogleBaseObject)
  385. Private
  386. Fid : String;
  387. Fitems : TOperationListTypeitemsArray;
  388. Fkind : String;
  389. FnextPageToken : String;
  390. FselfLink : String;
  391. Protected
  392. //Property setters
  393. Procedure Setid(AIndex : Integer; AValue : String); virtual;
  394. Procedure Setitems(AIndex : Integer; AValue : TOperationListTypeitemsArray); virtual;
  395. Procedure Setkind(AIndex : Integer; AValue : String); virtual;
  396. Procedure SetnextPageToken(AIndex : Integer; AValue : String); virtual;
  397. Procedure SetselfLink(AIndex : Integer; AValue : String); virtual;
  398. //2.6.4. bug workaround
  399. {$IFDEF VER2_6}
  400. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  401. {$ENDIF VER2_6}
  402. Public
  403. Published
  404. Property id : String Index 0 Read Fid Write Setid;
  405. Property items : TOperationListTypeitemsArray Index 8 Read Fitems Write Setitems;
  406. Property kind : String Index 16 Read Fkind Write Setkind;
  407. Property nextPageToken : String Index 24 Read FnextPageToken Write SetnextPageToken;
  408. Property selfLink : String Index 32 Read FselfLink Write SetselfLink;
  409. end;
  410. TOperationListClass = Class of TOperationList;
  411. { --------------------------------------------------------------------
  412. TInstanceGroupManagersResource
  413. --------------------------------------------------------------------}
  414. //Optional query Options for TInstanceGroupManagersResource, method Insert
  415. TInstanceGroupManagersInsertOptions = Record
  416. size : integer;
  417. end;
  418. //Optional query Options for TInstanceGroupManagersResource, method List
  419. TInstanceGroupManagersListOptions = Record
  420. filter : String;
  421. maxResults : integer;
  422. pageToken : String;
  423. end;
  424. //Optional query Options for TInstanceGroupManagersResource, method Resize
  425. TInstanceGroupManagersResizeOptions = Record
  426. size : integer;
  427. end;
  428. TInstanceGroupManagersResource = Class(TGoogleResource)
  429. Public
  430. Class Function ResourceName : String; override;
  431. Class Function DefaultAPI : TGoogleAPIClass; override;
  432. Function AbandonInstances(instanceGroupManager: string; project: string; zone: string; aInstanceGroupManagersAbandonInstancesRequest : TInstanceGroupManagersAbandonInstancesRequest) : TOperation;
  433. Function Delete(instanceGroupManager: string; project: string; zone: string) : TOperation;
  434. Function DeleteInstances(instanceGroupManager: string; project: string; zone: string; aInstanceGroupManagersDeleteInstancesRequest : TInstanceGroupManagersDeleteInstancesRequest) : TOperation;
  435. Function Get(instanceGroupManager: string; project: string; zone: string) : TInstanceGroupManager;
  436. Function Insert(project: string; zone: string; aInstanceGroupManager : TInstanceGroupManager; AQuery : string = '') : TOperation;
  437. Function Insert(project: string; zone: string; aInstanceGroupManager : TInstanceGroupManager; AQuery : TInstanceGroupManagersinsertOptions) : TOperation;
  438. Function List(project: string; zone: string; AQuery : string = '') : TInstanceGroupManagerList;
  439. Function List(project: string; zone: string; AQuery : TInstanceGroupManagerslistOptions) : TInstanceGroupManagerList;
  440. Function RecreateInstances(instanceGroupManager: string; project: string; zone: string; aInstanceGroupManagersRecreateInstancesRequest : TInstanceGroupManagersRecreateInstancesRequest) : TOperation;
  441. Function Resize(instanceGroupManager: string; project: string; zone: string; AQuery : string = '') : TOperation;
  442. Function Resize(instanceGroupManager: string; project: string; zone: string; AQuery : TInstanceGroupManagersresizeOptions) : TOperation;
  443. Function SetInstanceTemplate(instanceGroupManager: string; project: string; zone: string; aInstanceGroupManagersSetInstanceTemplateRequest : TInstanceGroupManagersSetInstanceTemplateRequest) : TOperation;
  444. Function SetTargetPools(instanceGroupManager: string; project: string; zone: string; aInstanceGroupManagersSetTargetPoolsRequest : TInstanceGroupManagersSetTargetPoolsRequest) : TOperation;
  445. end;
  446. { --------------------------------------------------------------------
  447. TZoneOperationsResource
  448. --------------------------------------------------------------------}
  449. //Optional query Options for TZoneOperationsResource, method List
  450. TZoneOperationsListOptions = Record
  451. filter : String;
  452. maxResults : integer;
  453. pageToken : String;
  454. end;
  455. TZoneOperationsResource = Class(TGoogleResource)
  456. Public
  457. Class Function ResourceName : String; override;
  458. Class Function DefaultAPI : TGoogleAPIClass; override;
  459. Function Get(operation: string; project: string; zone: string) : TOperation;
  460. Function List(project: string; zone: string; AQuery : string = '') : TOperationList;
  461. Function List(project: string; zone: string; AQuery : TZoneOperationslistOptions) : TOperationList;
  462. end;
  463. { --------------------------------------------------------------------
  464. TReplicapoolAPI
  465. --------------------------------------------------------------------}
  466. TReplicapoolAPI = Class(TGoogleAPI)
  467. Private
  468. FInstanceGroupManagersInstance : TInstanceGroupManagersResource;
  469. FZoneOperationsInstance : TZoneOperationsResource;
  470. Function GetInstanceGroupManagersInstance : TInstanceGroupManagersResource;virtual;
  471. Function GetZoneOperationsInstance : TZoneOperationsResource;virtual;
  472. Public
  473. //Override class functions with API info
  474. Class Function APIName : String; override;
  475. Class Function APIVersion : String; override;
  476. Class Function APIRevision : String; override;
  477. Class Function APIID : String; override;
  478. Class Function APITitle : String; override;
  479. Class Function APIDescription : String; override;
  480. Class Function APIOwnerDomain : String; override;
  481. Class Function APIOwnerName : String; override;
  482. Class Function APIIcon16 : String; override;
  483. Class Function APIIcon32 : String; override;
  484. Class Function APIdocumentationLink : String; override;
  485. Class Function APIrootUrl : string; override;
  486. Class Function APIbasePath : string;override;
  487. Class Function APIbaseURL : String;override;
  488. Class Function APIProtocol : string;override;
  489. Class Function APIservicePath : string;override;
  490. Class Function APIbatchPath : String;override;
  491. Class Function APIAuthScopes : TScopeInfoArray;override;
  492. Class Function APINeedsAuth : Boolean;override;
  493. Class Procedure RegisterAPIResources; override;
  494. //Add create function for resources
  495. Function CreateInstanceGroupManagersResource(AOwner : TComponent) : TInstanceGroupManagersResource;virtual;overload;
  496. Function CreateInstanceGroupManagersResource : TInstanceGroupManagersResource;virtual;overload;
  497. Function CreateZoneOperationsResource(AOwner : TComponent) : TZoneOperationsResource;virtual;overload;
  498. Function CreateZoneOperationsResource : TZoneOperationsResource;virtual;overload;
  499. //Add default on-demand instances for resources
  500. Property InstanceGroupManagersResource : TInstanceGroupManagersResource Read GetInstanceGroupManagersInstance;
  501. Property ZoneOperationsResource : TZoneOperationsResource Read GetZoneOperationsInstance;
  502. end;
  503. implementation
  504. { --------------------------------------------------------------------
  505. TInstanceGroupManager
  506. --------------------------------------------------------------------}
  507. Procedure TInstanceGroupManager.SetbaseInstanceName(AIndex : Integer; AValue : String);
  508. begin
  509. If (FbaseInstanceName=AValue) then exit;
  510. FbaseInstanceName:=AValue;
  511. MarkPropertyChanged(AIndex);
  512. end;
  513. Procedure TInstanceGroupManager.SetcreationTimestamp(AIndex : Integer; AValue : String);
  514. begin
  515. If (FcreationTimestamp=AValue) then exit;
  516. FcreationTimestamp:=AValue;
  517. MarkPropertyChanged(AIndex);
  518. end;
  519. Procedure TInstanceGroupManager.SetcurrentSize(AIndex : Integer; AValue : integer);
  520. begin
  521. If (FcurrentSize=AValue) then exit;
  522. FcurrentSize:=AValue;
  523. MarkPropertyChanged(AIndex);
  524. end;
  525. Procedure TInstanceGroupManager.Setdescription(AIndex : Integer; AValue : String);
  526. begin
  527. If (Fdescription=AValue) then exit;
  528. Fdescription:=AValue;
  529. MarkPropertyChanged(AIndex);
  530. end;
  531. Procedure TInstanceGroupManager.Setfingerprint(AIndex : Integer; AValue : String);
  532. begin
  533. If (Ffingerprint=AValue) then exit;
  534. Ffingerprint:=AValue;
  535. MarkPropertyChanged(AIndex);
  536. end;
  537. Procedure TInstanceGroupManager.Setgroup(AIndex : Integer; AValue : String);
  538. begin
  539. If (Fgroup=AValue) then exit;
  540. Fgroup:=AValue;
  541. MarkPropertyChanged(AIndex);
  542. end;
  543. Procedure TInstanceGroupManager.Setid(AIndex : Integer; AValue : String);
  544. begin
  545. If (Fid=AValue) then exit;
  546. Fid:=AValue;
  547. MarkPropertyChanged(AIndex);
  548. end;
  549. Procedure TInstanceGroupManager.SetinstanceTemplate(AIndex : Integer; AValue : String);
  550. begin
  551. If (FinstanceTemplate=AValue) then exit;
  552. FinstanceTemplate:=AValue;
  553. MarkPropertyChanged(AIndex);
  554. end;
  555. Procedure TInstanceGroupManager.Setkind(AIndex : Integer; AValue : String);
  556. begin
  557. If (Fkind=AValue) then exit;
  558. Fkind:=AValue;
  559. MarkPropertyChanged(AIndex);
  560. end;
  561. Procedure TInstanceGroupManager.Setname(AIndex : Integer; AValue : String);
  562. begin
  563. If (Fname=AValue) then exit;
  564. Fname:=AValue;
  565. MarkPropertyChanged(AIndex);
  566. end;
  567. Procedure TInstanceGroupManager.SetselfLink(AIndex : Integer; AValue : String);
  568. begin
  569. If (FselfLink=AValue) then exit;
  570. FselfLink:=AValue;
  571. MarkPropertyChanged(AIndex);
  572. end;
  573. Procedure TInstanceGroupManager.SettargetPools(AIndex : Integer; AValue : TStringArray);
  574. begin
  575. If (FtargetPools=AValue) then exit;
  576. FtargetPools:=AValue;
  577. MarkPropertyChanged(AIndex);
  578. end;
  579. Procedure TInstanceGroupManager.SettargetSize(AIndex : Integer; AValue : integer);
  580. begin
  581. If (FtargetSize=AValue) then exit;
  582. FtargetSize:=AValue;
  583. MarkPropertyChanged(AIndex);
  584. end;
  585. //2.6.4. bug workaround
  586. {$IFDEF VER2_6}
  587. Procedure TInstanceGroupManager.SetArrayLength(Const AName : String; ALength : Longint);
  588. begin
  589. Case AName of
  590. 'targetpools' : SetLength(FtargetPools,ALength);
  591. else
  592. Inherited SetArrayLength(AName,ALength);
  593. end;
  594. end;
  595. {$ENDIF VER2_6}
  596. { --------------------------------------------------------------------
  597. TInstanceGroupManagerList
  598. --------------------------------------------------------------------}
  599. Procedure TInstanceGroupManagerList.Setid(AIndex : Integer; AValue : String);
  600. begin
  601. If (Fid=AValue) then exit;
  602. Fid:=AValue;
  603. MarkPropertyChanged(AIndex);
  604. end;
  605. Procedure TInstanceGroupManagerList.Setitems(AIndex : Integer; AValue : TInstanceGroupManagerListTypeitemsArray);
  606. begin
  607. If (Fitems=AValue) then exit;
  608. Fitems:=AValue;
  609. MarkPropertyChanged(AIndex);
  610. end;
  611. Procedure TInstanceGroupManagerList.Setkind(AIndex : Integer; AValue : String);
  612. begin
  613. If (Fkind=AValue) then exit;
  614. Fkind:=AValue;
  615. MarkPropertyChanged(AIndex);
  616. end;
  617. Procedure TInstanceGroupManagerList.SetnextPageToken(AIndex : Integer; AValue : String);
  618. begin
  619. If (FnextPageToken=AValue) then exit;
  620. FnextPageToken:=AValue;
  621. MarkPropertyChanged(AIndex);
  622. end;
  623. Procedure TInstanceGroupManagerList.SetselfLink(AIndex : Integer; AValue : String);
  624. begin
  625. If (FselfLink=AValue) then exit;
  626. FselfLink:=AValue;
  627. MarkPropertyChanged(AIndex);
  628. end;
  629. //2.6.4. bug workaround
  630. {$IFDEF VER2_6}
  631. Procedure TInstanceGroupManagerList.SetArrayLength(Const AName : String; ALength : Longint);
  632. begin
  633. Case AName of
  634. 'items' : SetLength(Fitems,ALength);
  635. else
  636. Inherited SetArrayLength(AName,ALength);
  637. end;
  638. end;
  639. {$ENDIF VER2_6}
  640. { --------------------------------------------------------------------
  641. TInstanceGroupManagersAbandonInstancesRequest
  642. --------------------------------------------------------------------}
  643. Procedure TInstanceGroupManagersAbandonInstancesRequest.Setinstances(AIndex : Integer; AValue : TStringArray);
  644. begin
  645. If (Finstances=AValue) then exit;
  646. Finstances:=AValue;
  647. MarkPropertyChanged(AIndex);
  648. end;
  649. //2.6.4. bug workaround
  650. {$IFDEF VER2_6}
  651. Procedure TInstanceGroupManagersAbandonInstancesRequest.SetArrayLength(Const AName : String; ALength : Longint);
  652. begin
  653. Case AName of
  654. 'instances' : SetLength(Finstances,ALength);
  655. else
  656. Inherited SetArrayLength(AName,ALength);
  657. end;
  658. end;
  659. {$ENDIF VER2_6}
  660. { --------------------------------------------------------------------
  661. TInstanceGroupManagersDeleteInstancesRequest
  662. --------------------------------------------------------------------}
  663. Procedure TInstanceGroupManagersDeleteInstancesRequest.Setinstances(AIndex : Integer; AValue : TStringArray);
  664. begin
  665. If (Finstances=AValue) then exit;
  666. Finstances:=AValue;
  667. MarkPropertyChanged(AIndex);
  668. end;
  669. //2.6.4. bug workaround
  670. {$IFDEF VER2_6}
  671. Procedure TInstanceGroupManagersDeleteInstancesRequest.SetArrayLength(Const AName : String; ALength : Longint);
  672. begin
  673. Case AName of
  674. 'instances' : SetLength(Finstances,ALength);
  675. else
  676. Inherited SetArrayLength(AName,ALength);
  677. end;
  678. end;
  679. {$ENDIF VER2_6}
  680. { --------------------------------------------------------------------
  681. TInstanceGroupManagersRecreateInstancesRequest
  682. --------------------------------------------------------------------}
  683. Procedure TInstanceGroupManagersRecreateInstancesRequest.Setinstances(AIndex : Integer; AValue : TStringArray);
  684. begin
  685. If (Finstances=AValue) then exit;
  686. Finstances:=AValue;
  687. MarkPropertyChanged(AIndex);
  688. end;
  689. //2.6.4. bug workaround
  690. {$IFDEF VER2_6}
  691. Procedure TInstanceGroupManagersRecreateInstancesRequest.SetArrayLength(Const AName : String; ALength : Longint);
  692. begin
  693. Case AName of
  694. 'instances' : SetLength(Finstances,ALength);
  695. else
  696. Inherited SetArrayLength(AName,ALength);
  697. end;
  698. end;
  699. {$ENDIF VER2_6}
  700. { --------------------------------------------------------------------
  701. TInstanceGroupManagersSetInstanceTemplateRequest
  702. --------------------------------------------------------------------}
  703. Procedure TInstanceGroupManagersSetInstanceTemplateRequest.SetinstanceTemplate(AIndex : Integer; AValue : String);
  704. begin
  705. If (FinstanceTemplate=AValue) then exit;
  706. FinstanceTemplate:=AValue;
  707. MarkPropertyChanged(AIndex);
  708. end;
  709. { --------------------------------------------------------------------
  710. TInstanceGroupManagersSetTargetPoolsRequest
  711. --------------------------------------------------------------------}
  712. Procedure TInstanceGroupManagersSetTargetPoolsRequest.Setfingerprint(AIndex : Integer; AValue : String);
  713. begin
  714. If (Ffingerprint=AValue) then exit;
  715. Ffingerprint:=AValue;
  716. MarkPropertyChanged(AIndex);
  717. end;
  718. Procedure TInstanceGroupManagersSetTargetPoolsRequest.SettargetPools(AIndex : Integer; AValue : TStringArray);
  719. begin
  720. If (FtargetPools=AValue) then exit;
  721. FtargetPools:=AValue;
  722. MarkPropertyChanged(AIndex);
  723. end;
  724. //2.6.4. bug workaround
  725. {$IFDEF VER2_6}
  726. Procedure TInstanceGroupManagersSetTargetPoolsRequest.SetArrayLength(Const AName : String; ALength : Longint);
  727. begin
  728. Case AName of
  729. 'targetpools' : SetLength(FtargetPools,ALength);
  730. else
  731. Inherited SetArrayLength(AName,ALength);
  732. end;
  733. end;
  734. {$ENDIF VER2_6}
  735. { --------------------------------------------------------------------
  736. TOperationTypeerrorTypeerrorsItem
  737. --------------------------------------------------------------------}
  738. Procedure TOperationTypeerrorTypeerrorsItem.Setcode(AIndex : Integer; AValue : String);
  739. begin
  740. If (Fcode=AValue) then exit;
  741. Fcode:=AValue;
  742. MarkPropertyChanged(AIndex);
  743. end;
  744. Procedure TOperationTypeerrorTypeerrorsItem.Setlocation(AIndex : Integer; AValue : String);
  745. begin
  746. If (Flocation=AValue) then exit;
  747. Flocation:=AValue;
  748. MarkPropertyChanged(AIndex);
  749. end;
  750. Procedure TOperationTypeerrorTypeerrorsItem.Setmessage(AIndex : Integer; AValue : String);
  751. begin
  752. If (Fmessage=AValue) then exit;
  753. Fmessage:=AValue;
  754. MarkPropertyChanged(AIndex);
  755. end;
  756. { --------------------------------------------------------------------
  757. TOperationTypeerror
  758. --------------------------------------------------------------------}
  759. Procedure TOperationTypeerror.Seterrors(AIndex : Integer; AValue : TOperationTypeerrorTypeerrorsArray);
  760. begin
  761. If (Ferrors=AValue) then exit;
  762. Ferrors:=AValue;
  763. MarkPropertyChanged(AIndex);
  764. end;
  765. //2.6.4. bug workaround
  766. {$IFDEF VER2_6}
  767. Procedure TOperationTypeerror.SetArrayLength(Const AName : String; ALength : Longint);
  768. begin
  769. Case AName of
  770. 'errors' : SetLength(Ferrors,ALength);
  771. else
  772. Inherited SetArrayLength(AName,ALength);
  773. end;
  774. end;
  775. {$ENDIF VER2_6}
  776. { --------------------------------------------------------------------
  777. TOperationTypewarningsItemTypedataItem
  778. --------------------------------------------------------------------}
  779. Procedure TOperationTypewarningsItemTypedataItem.Setkey(AIndex : Integer; AValue : String);
  780. begin
  781. If (Fkey=AValue) then exit;
  782. Fkey:=AValue;
  783. MarkPropertyChanged(AIndex);
  784. end;
  785. Procedure TOperationTypewarningsItemTypedataItem.Setvalue(AIndex : Integer; AValue : String);
  786. begin
  787. If (Fvalue=AValue) then exit;
  788. Fvalue:=AValue;
  789. MarkPropertyChanged(AIndex);
  790. end;
  791. { --------------------------------------------------------------------
  792. TOperationTypewarningsItem
  793. --------------------------------------------------------------------}
  794. Procedure TOperationTypewarningsItem.Setcode(AIndex : Integer; AValue : String);
  795. begin
  796. If (Fcode=AValue) then exit;
  797. Fcode:=AValue;
  798. MarkPropertyChanged(AIndex);
  799. end;
  800. Procedure TOperationTypewarningsItem.Setdata(AIndex : Integer; AValue : TOperationTypewarningsItemTypedataArray);
  801. begin
  802. If (Fdata=AValue) then exit;
  803. Fdata:=AValue;
  804. MarkPropertyChanged(AIndex);
  805. end;
  806. Procedure TOperationTypewarningsItem.Setmessage(AIndex : Integer; AValue : String);
  807. begin
  808. If (Fmessage=AValue) then exit;
  809. Fmessage:=AValue;
  810. MarkPropertyChanged(AIndex);
  811. end;
  812. //2.6.4. bug workaround
  813. {$IFDEF VER2_6}
  814. Procedure TOperationTypewarningsItem.SetArrayLength(Const AName : String; ALength : Longint);
  815. begin
  816. Case AName of
  817. 'data' : SetLength(Fdata,ALength);
  818. else
  819. Inherited SetArrayLength(AName,ALength);
  820. end;
  821. end;
  822. {$ENDIF VER2_6}
  823. { --------------------------------------------------------------------
  824. TOperation
  825. --------------------------------------------------------------------}
  826. Procedure TOperation.SetclientOperationId(AIndex : Integer; AValue : String);
  827. begin
  828. If (FclientOperationId=AValue) then exit;
  829. FclientOperationId:=AValue;
  830. MarkPropertyChanged(AIndex);
  831. end;
  832. Procedure TOperation.SetcreationTimestamp(AIndex : Integer; AValue : String);
  833. begin
  834. If (FcreationTimestamp=AValue) then exit;
  835. FcreationTimestamp:=AValue;
  836. MarkPropertyChanged(AIndex);
  837. end;
  838. Procedure TOperation.SetendTime(AIndex : Integer; AValue : String);
  839. begin
  840. If (FendTime=AValue) then exit;
  841. FendTime:=AValue;
  842. MarkPropertyChanged(AIndex);
  843. end;
  844. Procedure TOperation.Seterror(AIndex : Integer; AValue : TOperationTypeerror);
  845. begin
  846. If (Ferror=AValue) then exit;
  847. Ferror:=AValue;
  848. MarkPropertyChanged(AIndex);
  849. end;
  850. Procedure TOperation.SethttpErrorMessage(AIndex : Integer; AValue : String);
  851. begin
  852. If (FhttpErrorMessage=AValue) then exit;
  853. FhttpErrorMessage:=AValue;
  854. MarkPropertyChanged(AIndex);
  855. end;
  856. Procedure TOperation.SethttpErrorStatusCode(AIndex : Integer; AValue : integer);
  857. begin
  858. If (FhttpErrorStatusCode=AValue) then exit;
  859. FhttpErrorStatusCode:=AValue;
  860. MarkPropertyChanged(AIndex);
  861. end;
  862. Procedure TOperation.Setid(AIndex : Integer; AValue : String);
  863. begin
  864. If (Fid=AValue) then exit;
  865. Fid:=AValue;
  866. MarkPropertyChanged(AIndex);
  867. end;
  868. Procedure TOperation.SetinsertTime(AIndex : Integer; AValue : String);
  869. begin
  870. If (FinsertTime=AValue) then exit;
  871. FinsertTime:=AValue;
  872. MarkPropertyChanged(AIndex);
  873. end;
  874. Procedure TOperation.Setkind(AIndex : Integer; AValue : String);
  875. begin
  876. If (Fkind=AValue) then exit;
  877. Fkind:=AValue;
  878. MarkPropertyChanged(AIndex);
  879. end;
  880. Procedure TOperation.Setname(AIndex : Integer; AValue : String);
  881. begin
  882. If (Fname=AValue) then exit;
  883. Fname:=AValue;
  884. MarkPropertyChanged(AIndex);
  885. end;
  886. Procedure TOperation.SetoperationType(AIndex : Integer; AValue : String);
  887. begin
  888. If (FoperationType=AValue) then exit;
  889. FoperationType:=AValue;
  890. MarkPropertyChanged(AIndex);
  891. end;
  892. Procedure TOperation.Setprogress(AIndex : Integer; AValue : integer);
  893. begin
  894. If (Fprogress=AValue) then exit;
  895. Fprogress:=AValue;
  896. MarkPropertyChanged(AIndex);
  897. end;
  898. Procedure TOperation.Setregion(AIndex : Integer; AValue : String);
  899. begin
  900. If (Fregion=AValue) then exit;
  901. Fregion:=AValue;
  902. MarkPropertyChanged(AIndex);
  903. end;
  904. Procedure TOperation.SetselfLink(AIndex : Integer; AValue : String);
  905. begin
  906. If (FselfLink=AValue) then exit;
  907. FselfLink:=AValue;
  908. MarkPropertyChanged(AIndex);
  909. end;
  910. Procedure TOperation.SetstartTime(AIndex : Integer; AValue : String);
  911. begin
  912. If (FstartTime=AValue) then exit;
  913. FstartTime:=AValue;
  914. MarkPropertyChanged(AIndex);
  915. end;
  916. Procedure TOperation.Setstatus(AIndex : Integer; AValue : String);
  917. begin
  918. If (Fstatus=AValue) then exit;
  919. Fstatus:=AValue;
  920. MarkPropertyChanged(AIndex);
  921. end;
  922. Procedure TOperation.SetstatusMessage(AIndex : Integer; AValue : String);
  923. begin
  924. If (FstatusMessage=AValue) then exit;
  925. FstatusMessage:=AValue;
  926. MarkPropertyChanged(AIndex);
  927. end;
  928. Procedure TOperation.SettargetId(AIndex : Integer; AValue : String);
  929. begin
  930. If (FtargetId=AValue) then exit;
  931. FtargetId:=AValue;
  932. MarkPropertyChanged(AIndex);
  933. end;
  934. Procedure TOperation.SettargetLink(AIndex : Integer; AValue : String);
  935. begin
  936. If (FtargetLink=AValue) then exit;
  937. FtargetLink:=AValue;
  938. MarkPropertyChanged(AIndex);
  939. end;
  940. Procedure TOperation.Setuser(AIndex : Integer; AValue : String);
  941. begin
  942. If (Fuser=AValue) then exit;
  943. Fuser:=AValue;
  944. MarkPropertyChanged(AIndex);
  945. end;
  946. Procedure TOperation.Setwarnings(AIndex : Integer; AValue : TOperationTypewarningsArray);
  947. begin
  948. If (Fwarnings=AValue) then exit;
  949. Fwarnings:=AValue;
  950. MarkPropertyChanged(AIndex);
  951. end;
  952. Procedure TOperation.Setzone(AIndex : Integer; AValue : String);
  953. begin
  954. If (Fzone=AValue) then exit;
  955. Fzone:=AValue;
  956. MarkPropertyChanged(AIndex);
  957. end;
  958. //2.6.4. bug workaround
  959. {$IFDEF VER2_6}
  960. Procedure TOperation.SetArrayLength(Const AName : String; ALength : Longint);
  961. begin
  962. Case AName of
  963. 'warnings' : SetLength(Fwarnings,ALength);
  964. else
  965. Inherited SetArrayLength(AName,ALength);
  966. end;
  967. end;
  968. {$ENDIF VER2_6}
  969. { --------------------------------------------------------------------
  970. TOperationList
  971. --------------------------------------------------------------------}
  972. Procedure TOperationList.Setid(AIndex : Integer; AValue : String);
  973. begin
  974. If (Fid=AValue) then exit;
  975. Fid:=AValue;
  976. MarkPropertyChanged(AIndex);
  977. end;
  978. Procedure TOperationList.Setitems(AIndex : Integer; AValue : TOperationListTypeitemsArray);
  979. begin
  980. If (Fitems=AValue) then exit;
  981. Fitems:=AValue;
  982. MarkPropertyChanged(AIndex);
  983. end;
  984. Procedure TOperationList.Setkind(AIndex : Integer; AValue : String);
  985. begin
  986. If (Fkind=AValue) then exit;
  987. Fkind:=AValue;
  988. MarkPropertyChanged(AIndex);
  989. end;
  990. Procedure TOperationList.SetnextPageToken(AIndex : Integer; AValue : String);
  991. begin
  992. If (FnextPageToken=AValue) then exit;
  993. FnextPageToken:=AValue;
  994. MarkPropertyChanged(AIndex);
  995. end;
  996. Procedure TOperationList.SetselfLink(AIndex : Integer; AValue : String);
  997. begin
  998. If (FselfLink=AValue) then exit;
  999. FselfLink:=AValue;
  1000. MarkPropertyChanged(AIndex);
  1001. end;
  1002. //2.6.4. bug workaround
  1003. {$IFDEF VER2_6}
  1004. Procedure TOperationList.SetArrayLength(Const AName : String; ALength : Longint);
  1005. begin
  1006. Case AName of
  1007. 'items' : SetLength(Fitems,ALength);
  1008. else
  1009. Inherited SetArrayLength(AName,ALength);
  1010. end;
  1011. end;
  1012. {$ENDIF VER2_6}
  1013. { --------------------------------------------------------------------
  1014. TInstanceGroupManagersResource
  1015. --------------------------------------------------------------------}
  1016. Class Function TInstanceGroupManagersResource.ResourceName : String;
  1017. begin
  1018. Result:='instanceGroupManagers';
  1019. end;
  1020. Class Function TInstanceGroupManagersResource.DefaultAPI : TGoogleAPIClass;
  1021. begin
  1022. Result:=TreplicapoolAPI;
  1023. end;
  1024. Function TInstanceGroupManagersResource.AbandonInstances(instanceGroupManager: string; project: string; zone: string; aInstanceGroupManagersAbandonInstancesRequest : TInstanceGroupManagersAbandonInstancesRequest) : TOperation;
  1025. Const
  1026. _HTTPMethod = 'POST';
  1027. _Path = '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances';
  1028. _Methodid = 'replicapool.instanceGroupManagers.abandonInstances';
  1029. Var
  1030. _P : String;
  1031. begin
  1032. _P:=SubstitutePath(_Path,['instanceGroupManager',instanceGroupManager,'project',project,'zone',zone]);
  1033. Result:=ServiceCall(_HTTPMethod,_P,'',aInstanceGroupManagersAbandonInstancesRequest,TOperation) as TOperation;
  1034. end;
  1035. Function TInstanceGroupManagersResource.Delete(instanceGroupManager: string; project: string; zone: string) : TOperation;
  1036. Const
  1037. _HTTPMethod = 'DELETE';
  1038. _Path = '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}';
  1039. _Methodid = 'replicapool.instanceGroupManagers.delete';
  1040. Var
  1041. _P : String;
  1042. begin
  1043. _P:=SubstitutePath(_Path,['instanceGroupManager',instanceGroupManager,'project',project,'zone',zone]);
  1044. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TOperation) as TOperation;
  1045. end;
  1046. Function TInstanceGroupManagersResource.DeleteInstances(instanceGroupManager: string; project: string; zone: string; aInstanceGroupManagersDeleteInstancesRequest : TInstanceGroupManagersDeleteInstancesRequest) : TOperation;
  1047. Const
  1048. _HTTPMethod = 'POST';
  1049. _Path = '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances';
  1050. _Methodid = 'replicapool.instanceGroupManagers.deleteInstances';
  1051. Var
  1052. _P : String;
  1053. begin
  1054. _P:=SubstitutePath(_Path,['instanceGroupManager',instanceGroupManager,'project',project,'zone',zone]);
  1055. Result:=ServiceCall(_HTTPMethod,_P,'',aInstanceGroupManagersDeleteInstancesRequest,TOperation) as TOperation;
  1056. end;
  1057. Function TInstanceGroupManagersResource.Get(instanceGroupManager: string; project: string; zone: string) : TInstanceGroupManager;
  1058. Const
  1059. _HTTPMethod = 'GET';
  1060. _Path = '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}';
  1061. _Methodid = 'replicapool.instanceGroupManagers.get';
  1062. Var
  1063. _P : String;
  1064. begin
  1065. _P:=SubstitutePath(_Path,['instanceGroupManager',instanceGroupManager,'project',project,'zone',zone]);
  1066. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TInstanceGroupManager) as TInstanceGroupManager;
  1067. end;
  1068. Function TInstanceGroupManagersResource.Insert(project: string; zone: string; aInstanceGroupManager : TInstanceGroupManager; AQuery : string = '') : TOperation;
  1069. Const
  1070. _HTTPMethod = 'POST';
  1071. _Path = '{project}/zones/{zone}/instanceGroupManagers';
  1072. _Methodid = 'replicapool.instanceGroupManagers.insert';
  1073. Var
  1074. _P : String;
  1075. begin
  1076. _P:=SubstitutePath(_Path,['project',project,'zone',zone]);
  1077. Result:=ServiceCall(_HTTPMethod,_P,AQuery,aInstanceGroupManager,TOperation) as TOperation;
  1078. end;
  1079. Function TInstanceGroupManagersResource.Insert(project: string; zone: string; aInstanceGroupManager : TInstanceGroupManager; AQuery : TInstanceGroupManagersinsertOptions) : TOperation;
  1080. Var
  1081. _Q : String;
  1082. begin
  1083. _Q:='';
  1084. AddToQuery(_Q,'size',AQuery.size);
  1085. Result:=Insert(project,zone,aInstanceGroupManager,_Q);
  1086. end;
  1087. Function TInstanceGroupManagersResource.List(project: string; zone: string; AQuery : string = '') : TInstanceGroupManagerList;
  1088. Const
  1089. _HTTPMethod = 'GET';
  1090. _Path = '{project}/zones/{zone}/instanceGroupManagers';
  1091. _Methodid = 'replicapool.instanceGroupManagers.list';
  1092. Var
  1093. _P : String;
  1094. begin
  1095. _P:=SubstitutePath(_Path,['project',project,'zone',zone]);
  1096. Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TInstanceGroupManagerList) as TInstanceGroupManagerList;
  1097. end;
  1098. Function TInstanceGroupManagersResource.List(project: string; zone: string; AQuery : TInstanceGroupManagerslistOptions) : TInstanceGroupManagerList;
  1099. Var
  1100. _Q : String;
  1101. begin
  1102. _Q:='';
  1103. AddToQuery(_Q,'filter',AQuery.filter);
  1104. AddToQuery(_Q,'maxResults',AQuery.maxResults);
  1105. AddToQuery(_Q,'pageToken',AQuery.pageToken);
  1106. Result:=List(project,zone,_Q);
  1107. end;
  1108. Function TInstanceGroupManagersResource.RecreateInstances(instanceGroupManager: string; project: string; zone: string; aInstanceGroupManagersRecreateInstancesRequest : TInstanceGroupManagersRecreateInstancesRequest) : TOperation;
  1109. Const
  1110. _HTTPMethod = 'POST';
  1111. _Path = '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances';
  1112. _Methodid = 'replicapool.instanceGroupManagers.recreateInstances';
  1113. Var
  1114. _P : String;
  1115. begin
  1116. _P:=SubstitutePath(_Path,['instanceGroupManager',instanceGroupManager,'project',project,'zone',zone]);
  1117. Result:=ServiceCall(_HTTPMethod,_P,'',aInstanceGroupManagersRecreateInstancesRequest,TOperation) as TOperation;
  1118. end;
  1119. Function TInstanceGroupManagersResource.Resize(instanceGroupManager: string; project: string; zone: string; AQuery : string = '') : TOperation;
  1120. Const
  1121. _HTTPMethod = 'POST';
  1122. _Path = '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize';
  1123. _Methodid = 'replicapool.instanceGroupManagers.resize';
  1124. Var
  1125. _P : String;
  1126. begin
  1127. _P:=SubstitutePath(_Path,['instanceGroupManager',instanceGroupManager,'project',project,'zone',zone]);
  1128. Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TOperation) as TOperation;
  1129. end;
  1130. Function TInstanceGroupManagersResource.Resize(instanceGroupManager: string; project: string; zone: string; AQuery : TInstanceGroupManagersresizeOptions) : TOperation;
  1131. Var
  1132. _Q : String;
  1133. begin
  1134. _Q:='';
  1135. AddToQuery(_Q,'size',AQuery.size);
  1136. Result:=Resize(instanceGroupManager,project,zone,_Q);
  1137. end;
  1138. Function TInstanceGroupManagersResource.SetInstanceTemplate(instanceGroupManager: string; project: string; zone: string; aInstanceGroupManagersSetInstanceTemplateRequest : TInstanceGroupManagersSetInstanceTemplateRequest) : TOperation;
  1139. Const
  1140. _HTTPMethod = 'POST';
  1141. _Path = '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate';
  1142. _Methodid = 'replicapool.instanceGroupManagers.setInstanceTemplate';
  1143. Var
  1144. _P : String;
  1145. begin
  1146. _P:=SubstitutePath(_Path,['instanceGroupManager',instanceGroupManager,'project',project,'zone',zone]);
  1147. Result:=ServiceCall(_HTTPMethod,_P,'',aInstanceGroupManagersSetInstanceTemplateRequest,TOperation) as TOperation;
  1148. end;
  1149. Function TInstanceGroupManagersResource.SetTargetPools(instanceGroupManager: string; project: string; zone: string; aInstanceGroupManagersSetTargetPoolsRequest : TInstanceGroupManagersSetTargetPoolsRequest) : TOperation;
  1150. Const
  1151. _HTTPMethod = 'POST';
  1152. _Path = '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools';
  1153. _Methodid = 'replicapool.instanceGroupManagers.setTargetPools';
  1154. Var
  1155. _P : String;
  1156. begin
  1157. _P:=SubstitutePath(_Path,['instanceGroupManager',instanceGroupManager,'project',project,'zone',zone]);
  1158. Result:=ServiceCall(_HTTPMethod,_P,'',aInstanceGroupManagersSetTargetPoolsRequest,TOperation) as TOperation;
  1159. end;
  1160. { --------------------------------------------------------------------
  1161. TZoneOperationsResource
  1162. --------------------------------------------------------------------}
  1163. Class Function TZoneOperationsResource.ResourceName : String;
  1164. begin
  1165. Result:='zoneOperations';
  1166. end;
  1167. Class Function TZoneOperationsResource.DefaultAPI : TGoogleAPIClass;
  1168. begin
  1169. Result:=TreplicapoolAPI;
  1170. end;
  1171. Function TZoneOperationsResource.Get(operation: string; project: string; zone: string) : TOperation;
  1172. Const
  1173. _HTTPMethod = 'GET';
  1174. _Path = '{project}/zones/{zone}/operations/{operation}';
  1175. _Methodid = 'replicapool.zoneOperations.get';
  1176. Var
  1177. _P : String;
  1178. begin
  1179. _P:=SubstitutePath(_Path,['operation',operation,'project',project,'zone',zone]);
  1180. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TOperation) as TOperation;
  1181. end;
  1182. Function TZoneOperationsResource.List(project: string; zone: string; AQuery : string = '') : TOperationList;
  1183. Const
  1184. _HTTPMethod = 'GET';
  1185. _Path = '{project}/zones/{zone}/operations';
  1186. _Methodid = 'replicapool.zoneOperations.list';
  1187. Var
  1188. _P : String;
  1189. begin
  1190. _P:=SubstitutePath(_Path,['project',project,'zone',zone]);
  1191. Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TOperationList) as TOperationList;
  1192. end;
  1193. Function TZoneOperationsResource.List(project: string; zone: string; AQuery : TZoneOperationslistOptions) : TOperationList;
  1194. Var
  1195. _Q : String;
  1196. begin
  1197. _Q:='';
  1198. AddToQuery(_Q,'filter',AQuery.filter);
  1199. AddToQuery(_Q,'maxResults',AQuery.maxResults);
  1200. AddToQuery(_Q,'pageToken',AQuery.pageToken);
  1201. Result:=List(project,zone,_Q);
  1202. end;
  1203. { --------------------------------------------------------------------
  1204. TReplicapoolAPI
  1205. --------------------------------------------------------------------}
  1206. Class Function TReplicapoolAPI.APIName : String;
  1207. begin
  1208. Result:='replicapool';
  1209. end;
  1210. Class Function TReplicapoolAPI.APIVersion : String;
  1211. begin
  1212. Result:='v1beta2';
  1213. end;
  1214. Class Function TReplicapoolAPI.APIRevision : String;
  1215. begin
  1216. Result:='20150223';
  1217. end;
  1218. Class Function TReplicapoolAPI.APIID : String;
  1219. begin
  1220. Result:='replicapool:v1beta2';
  1221. end;
  1222. Class Function TReplicapoolAPI.APITitle : String;
  1223. begin
  1224. Result:='Google Compute Engine Instance Group Manager API';
  1225. end;
  1226. Class Function TReplicapoolAPI.APIDescription : String;
  1227. begin
  1228. Result:='The Google Compute Engine Instance Group Manager API provides groups of homogenous Compute Engine Instances.';
  1229. end;
  1230. Class Function TReplicapoolAPI.APIOwnerDomain : String;
  1231. begin
  1232. Result:='google.com';
  1233. end;
  1234. Class Function TReplicapoolAPI.APIOwnerName : String;
  1235. begin
  1236. Result:='Google';
  1237. end;
  1238. Class Function TReplicapoolAPI.APIIcon16 : String;
  1239. begin
  1240. Result:='http://www.google.com/images/icons/product/search-16.gif';
  1241. end;
  1242. Class Function TReplicapoolAPI.APIIcon32 : String;
  1243. begin
  1244. Result:='http://www.google.com/images/icons/product/search-32.gif';
  1245. end;
  1246. Class Function TReplicapoolAPI.APIdocumentationLink : String;
  1247. begin
  1248. Result:='https://developers.google.com/compute/docs/instance-groups/manager/v1beta2';
  1249. end;
  1250. Class Function TReplicapoolAPI.APIrootUrl : string;
  1251. begin
  1252. Result:='https://www.googleapis.com:443/';
  1253. end;
  1254. Class Function TReplicapoolAPI.APIbasePath : string;
  1255. begin
  1256. Result:='/replicapool/v1beta2/projects/';
  1257. end;
  1258. Class Function TReplicapoolAPI.APIbaseURL : String;
  1259. begin
  1260. Result:='https://www.googleapis.com:443/replicapool/v1beta2/projects/';
  1261. end;
  1262. Class Function TReplicapoolAPI.APIProtocol : string;
  1263. begin
  1264. Result:='rest';
  1265. end;
  1266. Class Function TReplicapoolAPI.APIservicePath : string;
  1267. begin
  1268. Result:='replicapool/v1beta2/projects/';
  1269. end;
  1270. Class Function TReplicapoolAPI.APIbatchPath : String;
  1271. begin
  1272. Result:='batch';
  1273. end;
  1274. Class Function TReplicapoolAPI.APIAuthScopes : TScopeInfoArray;
  1275. begin
  1276. SetLength(Result,3);
  1277. Result[0].Name:='https://www.googleapis.com/auth/cloud-platform';
  1278. Result[0].Description:='View and manage your data across Google Cloud Platform services';
  1279. Result[1].Name:='https://www.googleapis.com/auth/compute';
  1280. Result[1].Description:='View and manage your Google Compute Engine resources';
  1281. Result[2].Name:='https://www.googleapis.com/auth/compute.readonly';
  1282. Result[2].Description:='View your Google Compute Engine resources';
  1283. end;
  1284. Class Function TReplicapoolAPI.APINeedsAuth : Boolean;
  1285. begin
  1286. Result:=True;
  1287. end;
  1288. Class Procedure TReplicapoolAPI.RegisterAPIResources;
  1289. begin
  1290. TInstanceGroupManager.RegisterObject;
  1291. TInstanceGroupManagerList.RegisterObject;
  1292. TInstanceGroupManagersAbandonInstancesRequest.RegisterObject;
  1293. TInstanceGroupManagersDeleteInstancesRequest.RegisterObject;
  1294. TInstanceGroupManagersRecreateInstancesRequest.RegisterObject;
  1295. TInstanceGroupManagersSetInstanceTemplateRequest.RegisterObject;
  1296. TInstanceGroupManagersSetTargetPoolsRequest.RegisterObject;
  1297. TOperationTypeerrorTypeerrorsItem.RegisterObject;
  1298. TOperationTypeerror.RegisterObject;
  1299. TOperationTypewarningsItemTypedataItem.RegisterObject;
  1300. TOperationTypewarningsItem.RegisterObject;
  1301. TOperation.RegisterObject;
  1302. TOperationList.RegisterObject;
  1303. end;
  1304. Function TReplicapoolAPI.GetInstanceGroupManagersInstance : TInstanceGroupManagersResource;
  1305. begin
  1306. if (FInstanceGroupManagersInstance=Nil) then
  1307. FInstanceGroupManagersInstance:=CreateInstanceGroupManagersResource;
  1308. Result:=FInstanceGroupManagersInstance;
  1309. end;
  1310. Function TReplicapoolAPI.CreateInstanceGroupManagersResource : TInstanceGroupManagersResource;
  1311. begin
  1312. Result:=CreateInstanceGroupManagersResource(Self);
  1313. end;
  1314. Function TReplicapoolAPI.CreateInstanceGroupManagersResource(AOwner : TComponent) : TInstanceGroupManagersResource;
  1315. begin
  1316. Result:=TInstanceGroupManagersResource.Create(AOwner);
  1317. Result.API:=Self.API;
  1318. end;
  1319. Function TReplicapoolAPI.GetZoneOperationsInstance : TZoneOperationsResource;
  1320. begin
  1321. if (FZoneOperationsInstance=Nil) then
  1322. FZoneOperationsInstance:=CreateZoneOperationsResource;
  1323. Result:=FZoneOperationsInstance;
  1324. end;
  1325. Function TReplicapoolAPI.CreateZoneOperationsResource : TZoneOperationsResource;
  1326. begin
  1327. Result:=CreateZoneOperationsResource(Self);
  1328. end;
  1329. Function TReplicapoolAPI.CreateZoneOperationsResource(AOwner : TComponent) : TZoneOperationsResource;
  1330. begin
  1331. Result:=TZoneOperationsResource.Create(AOwner);
  1332. Result.API:=Self.API;
  1333. end;
  1334. initialization
  1335. TReplicapoolAPI.RegisterAPI;
  1336. end.