googlecontainer.pp 70 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361
  1. unit googlecontainer;
  2. {$MODE objfpc}
  3. {$H+}
  4. interface
  5. uses sysutils, classes, googleservice, restbase, googlebase;
  6. type
  7. //Top-level schema types
  8. TListClustersResponse = Class;
  9. TCluster = Class;
  10. TNodeConfig = Class;
  11. TMasterAuth = Class;
  12. TAddonsConfig = Class;
  13. THttpLoadBalancing = Class;
  14. THorizontalPodAutoscaling = Class;
  15. TNodePool = Class;
  16. TCreateClusterRequest = Class;
  17. TOperation = Class;
  18. TUpdateClusterRequest = Class;
  19. TClusterUpdate = Class;
  20. TListOperationsResponse = Class;
  21. TServerConfig = Class;
  22. TListNodePoolsResponse = Class;
  23. TCreateNodePoolRequest = Class;
  24. TListClustersResponseArray = Array of TListClustersResponse;
  25. TClusterArray = Array of TCluster;
  26. TNodeConfigArray = Array of TNodeConfig;
  27. TMasterAuthArray = Array of TMasterAuth;
  28. TAddonsConfigArray = Array of TAddonsConfig;
  29. THttpLoadBalancingArray = Array of THttpLoadBalancing;
  30. THorizontalPodAutoscalingArray = Array of THorizontalPodAutoscaling;
  31. TNodePoolArray = Array of TNodePool;
  32. TCreateClusterRequestArray = Array of TCreateClusterRequest;
  33. TOperationArray = Array of TOperation;
  34. TUpdateClusterRequestArray = Array of TUpdateClusterRequest;
  35. TClusterUpdateArray = Array of TClusterUpdate;
  36. TListOperationsResponseArray = Array of TListOperationsResponse;
  37. TServerConfigArray = Array of TServerConfig;
  38. TListNodePoolsResponseArray = Array of TListNodePoolsResponse;
  39. TCreateNodePoolRequestArray = Array of TCreateNodePoolRequest;
  40. //Anonymous types, using auto-generated names
  41. TNodeConfigTypemetadata = Class;
  42. TListClustersResponseTypeclustersArray = Array of TCluster;
  43. TClusterTypenodePoolsArray = Array of TNodePool;
  44. TListOperationsResponseTypeoperationsArray = Array of TOperation;
  45. TListNodePoolsResponseTypenodePoolsArray = Array of TNodePool;
  46. { --------------------------------------------------------------------
  47. TListClustersResponse
  48. --------------------------------------------------------------------}
  49. TListClustersResponse = Class(TGoogleBaseObject)
  50. Private
  51. Fclusters : TListClustersResponseTypeclustersArray;
  52. FmissingZones : TStringArray;
  53. Protected
  54. //Property setters
  55. Procedure Setclusters(AIndex : Integer; const AValue : TListClustersResponseTypeclustersArray); virtual;
  56. Procedure SetmissingZones(AIndex : Integer; const AValue : TStringArray); virtual;
  57. //2.6.4. bug workaround
  58. {$IFDEF VER2_6}
  59. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  60. {$ENDIF VER2_6}
  61. Public
  62. Published
  63. Property clusters : TListClustersResponseTypeclustersArray Index 0 Read Fclusters Write Setclusters;
  64. Property missingZones : TStringArray Index 8 Read FmissingZones Write SetmissingZones;
  65. end;
  66. TListClustersResponseClass = Class of TListClustersResponse;
  67. { --------------------------------------------------------------------
  68. TCluster
  69. --------------------------------------------------------------------}
  70. TCluster = Class(TGoogleBaseObject)
  71. Private
  72. Fname : String;
  73. Fdescription : String;
  74. FinitialNodeCount : integer;
  75. FnodeConfig : TNodeConfig;
  76. FmasterAuth : TMasterAuth;
  77. FloggingService : String;
  78. FmonitoringService : String;
  79. Fnetwork : String;
  80. FclusterIpv4Cidr : String;
  81. FaddonsConfig : TAddonsConfig;
  82. Fsubnetwork : String;
  83. FnodePools : TClusterTypenodePoolsArray;
  84. Flocations : TStringArray;
  85. FselfLink : String;
  86. Fzone : String;
  87. Fendpoint : String;
  88. FinitialClusterVersion : String;
  89. FcurrentMasterVersion : String;
  90. FcurrentNodeVersion : String;
  91. FcreateTime : String;
  92. Fstatus : String;
  93. FstatusMessage : String;
  94. FnodeIpv4CidrSize : integer;
  95. FservicesIpv4Cidr : String;
  96. FinstanceGroupUrls : TStringArray;
  97. FcurrentNodeCount : integer;
  98. Protected
  99. //Property setters
  100. Procedure Setname(AIndex : Integer; const AValue : String); virtual;
  101. Procedure Setdescription(AIndex : Integer; const AValue : String); virtual;
  102. Procedure SetinitialNodeCount(AIndex : Integer; const AValue : integer); virtual;
  103. Procedure SetnodeConfig(AIndex : Integer; const AValue : TNodeConfig); virtual;
  104. Procedure SetmasterAuth(AIndex : Integer; const AValue : TMasterAuth); virtual;
  105. Procedure SetloggingService(AIndex : Integer; const AValue : String); virtual;
  106. Procedure SetmonitoringService(AIndex : Integer; const AValue : String); virtual;
  107. Procedure Setnetwork(AIndex : Integer; const AValue : String); virtual;
  108. Procedure SetclusterIpv4Cidr(AIndex : Integer; const AValue : String); virtual;
  109. Procedure SetaddonsConfig(AIndex : Integer; const AValue : TAddonsConfig); virtual;
  110. Procedure Setsubnetwork(AIndex : Integer; const AValue : String); virtual;
  111. Procedure SetnodePools(AIndex : Integer; const AValue : TClusterTypenodePoolsArray); virtual;
  112. Procedure Setlocations(AIndex : Integer; const AValue : TStringArray); virtual;
  113. Procedure SetselfLink(AIndex : Integer; const AValue : String); virtual;
  114. Procedure Setzone(AIndex : Integer; const AValue : String); virtual;
  115. Procedure Setendpoint(AIndex : Integer; const AValue : String); virtual;
  116. Procedure SetinitialClusterVersion(AIndex : Integer; const AValue : String); virtual;
  117. Procedure SetcurrentMasterVersion(AIndex : Integer; const AValue : String); virtual;
  118. Procedure SetcurrentNodeVersion(AIndex : Integer; const AValue : String); virtual;
  119. Procedure SetcreateTime(AIndex : Integer; const AValue : String); virtual;
  120. Procedure Setstatus(AIndex : Integer; const AValue : String); virtual;
  121. Procedure SetstatusMessage(AIndex : Integer; const AValue : String); virtual;
  122. Procedure SetnodeIpv4CidrSize(AIndex : Integer; const AValue : integer); virtual;
  123. Procedure SetservicesIpv4Cidr(AIndex : Integer; const AValue : String); virtual;
  124. Procedure SetinstanceGroupUrls(AIndex : Integer; const AValue : TStringArray); virtual;
  125. Procedure SetcurrentNodeCount(AIndex : Integer; const AValue : integer); virtual;
  126. //2.6.4. bug workaround
  127. {$IFDEF VER2_6}
  128. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  129. {$ENDIF VER2_6}
  130. Public
  131. Published
  132. Property name : String Index 0 Read Fname Write Setname;
  133. Property description : String Index 8 Read Fdescription Write Setdescription;
  134. Property initialNodeCount : integer Index 16 Read FinitialNodeCount Write SetinitialNodeCount;
  135. Property nodeConfig : TNodeConfig Index 24 Read FnodeConfig Write SetnodeConfig;
  136. Property masterAuth : TMasterAuth Index 32 Read FmasterAuth Write SetmasterAuth;
  137. Property loggingService : String Index 40 Read FloggingService Write SetloggingService;
  138. Property monitoringService : String Index 48 Read FmonitoringService Write SetmonitoringService;
  139. Property network : String Index 56 Read Fnetwork Write Setnetwork;
  140. Property clusterIpv4Cidr : String Index 64 Read FclusterIpv4Cidr Write SetclusterIpv4Cidr;
  141. Property addonsConfig : TAddonsConfig Index 72 Read FaddonsConfig Write SetaddonsConfig;
  142. Property subnetwork : String Index 80 Read Fsubnetwork Write Setsubnetwork;
  143. Property nodePools : TClusterTypenodePoolsArray Index 88 Read FnodePools Write SetnodePools;
  144. Property locations : TStringArray Index 96 Read Flocations Write Setlocations;
  145. Property selfLink : String Index 104 Read FselfLink Write SetselfLink;
  146. Property zone : String Index 112 Read Fzone Write Setzone;
  147. Property endpoint : String Index 120 Read Fendpoint Write Setendpoint;
  148. Property initialClusterVersion : String Index 128 Read FinitialClusterVersion Write SetinitialClusterVersion;
  149. Property currentMasterVersion : String Index 136 Read FcurrentMasterVersion Write SetcurrentMasterVersion;
  150. Property currentNodeVersion : String Index 144 Read FcurrentNodeVersion Write SetcurrentNodeVersion;
  151. Property createTime : String Index 152 Read FcreateTime Write SetcreateTime;
  152. Property status : String Index 160 Read Fstatus Write Setstatus;
  153. Property statusMessage : String Index 168 Read FstatusMessage Write SetstatusMessage;
  154. Property nodeIpv4CidrSize : integer Index 176 Read FnodeIpv4CidrSize Write SetnodeIpv4CidrSize;
  155. Property servicesIpv4Cidr : String Index 184 Read FservicesIpv4Cidr Write SetservicesIpv4Cidr;
  156. Property instanceGroupUrls : TStringArray Index 192 Read FinstanceGroupUrls Write SetinstanceGroupUrls;
  157. Property currentNodeCount : integer Index 200 Read FcurrentNodeCount Write SetcurrentNodeCount;
  158. end;
  159. TClusterClass = Class of TCluster;
  160. { --------------------------------------------------------------------
  161. TNodeConfigTypemetadata
  162. --------------------------------------------------------------------}
  163. TNodeConfigTypemetadata = Class(TGoogleBaseObject)
  164. Private
  165. Protected
  166. //Property setters
  167. Public
  168. Class Function AllowAdditionalProperties : Boolean; override;
  169. Published
  170. end;
  171. TNodeConfigTypemetadataClass = Class of TNodeConfigTypemetadata;
  172. { --------------------------------------------------------------------
  173. TNodeConfig
  174. --------------------------------------------------------------------}
  175. TNodeConfig = Class(TGoogleBaseObject)
  176. Private
  177. FmachineType : String;
  178. FdiskSizeGb : integer;
  179. FoauthScopes : TStringArray;
  180. Fmetadata : TNodeConfigTypemetadata;
  181. Protected
  182. //Property setters
  183. Procedure SetmachineType(AIndex : Integer; const AValue : String); virtual;
  184. Procedure SetdiskSizeGb(AIndex : Integer; const AValue : integer); virtual;
  185. Procedure SetoauthScopes(AIndex : Integer; const AValue : TStringArray); virtual;
  186. Procedure Setmetadata(AIndex : Integer; const AValue : TNodeConfigTypemetadata); virtual;
  187. //2.6.4. bug workaround
  188. {$IFDEF VER2_6}
  189. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  190. {$ENDIF VER2_6}
  191. Public
  192. Published
  193. Property machineType : String Index 0 Read FmachineType Write SetmachineType;
  194. Property diskSizeGb : integer Index 8 Read FdiskSizeGb Write SetdiskSizeGb;
  195. Property oauthScopes : TStringArray Index 16 Read FoauthScopes Write SetoauthScopes;
  196. Property metadata : TNodeConfigTypemetadata Index 24 Read Fmetadata Write Setmetadata;
  197. end;
  198. TNodeConfigClass = Class of TNodeConfig;
  199. { --------------------------------------------------------------------
  200. TMasterAuth
  201. --------------------------------------------------------------------}
  202. TMasterAuth = Class(TGoogleBaseObject)
  203. Private
  204. Fusername : String;
  205. Fpassword : String;
  206. FclusterCaCertificate : String;
  207. FclientCertificate : String;
  208. FclientKey : String;
  209. Protected
  210. //Property setters
  211. Procedure Setusername(AIndex : Integer; const AValue : String); virtual;
  212. Procedure Setpassword(AIndex : Integer; const AValue : String); virtual;
  213. Procedure SetclusterCaCertificate(AIndex : Integer; const AValue : String); virtual;
  214. Procedure SetclientCertificate(AIndex : Integer; const AValue : String); virtual;
  215. Procedure SetclientKey(AIndex : Integer; const AValue : String); virtual;
  216. Public
  217. Published
  218. Property username : String Index 0 Read Fusername Write Setusername;
  219. Property password : String Index 8 Read Fpassword Write Setpassword;
  220. Property clusterCaCertificate : String Index 16 Read FclusterCaCertificate Write SetclusterCaCertificate;
  221. Property clientCertificate : String Index 24 Read FclientCertificate Write SetclientCertificate;
  222. Property clientKey : String Index 32 Read FclientKey Write SetclientKey;
  223. end;
  224. TMasterAuthClass = Class of TMasterAuth;
  225. { --------------------------------------------------------------------
  226. TAddonsConfig
  227. --------------------------------------------------------------------}
  228. TAddonsConfig = Class(TGoogleBaseObject)
  229. Private
  230. FhttpLoadBalancing : THttpLoadBalancing;
  231. FhorizontalPodAutoscaling : THorizontalPodAutoscaling;
  232. Protected
  233. //Property setters
  234. Procedure SethttpLoadBalancing(AIndex : Integer; const AValue : THttpLoadBalancing); virtual;
  235. Procedure SethorizontalPodAutoscaling(AIndex : Integer; const AValue : THorizontalPodAutoscaling); virtual;
  236. Public
  237. Published
  238. Property httpLoadBalancing : THttpLoadBalancing Index 0 Read FhttpLoadBalancing Write SethttpLoadBalancing;
  239. Property horizontalPodAutoscaling : THorizontalPodAutoscaling Index 8 Read FhorizontalPodAutoscaling Write SethorizontalPodAutoscaling;
  240. end;
  241. TAddonsConfigClass = Class of TAddonsConfig;
  242. { --------------------------------------------------------------------
  243. THttpLoadBalancing
  244. --------------------------------------------------------------------}
  245. THttpLoadBalancing = Class(TGoogleBaseObject)
  246. Private
  247. Fdisabled : boolean;
  248. Protected
  249. //Property setters
  250. Procedure Setdisabled(AIndex : Integer; const AValue : boolean); virtual;
  251. Public
  252. Published
  253. Property disabled : boolean Index 0 Read Fdisabled Write Setdisabled;
  254. end;
  255. THttpLoadBalancingClass = Class of THttpLoadBalancing;
  256. { --------------------------------------------------------------------
  257. THorizontalPodAutoscaling
  258. --------------------------------------------------------------------}
  259. THorizontalPodAutoscaling = Class(TGoogleBaseObject)
  260. Private
  261. Fdisabled : boolean;
  262. Protected
  263. //Property setters
  264. Procedure Setdisabled(AIndex : Integer; const AValue : boolean); virtual;
  265. Public
  266. Published
  267. Property disabled : boolean Index 0 Read Fdisabled Write Setdisabled;
  268. end;
  269. THorizontalPodAutoscalingClass = Class of THorizontalPodAutoscaling;
  270. { --------------------------------------------------------------------
  271. TNodePool
  272. --------------------------------------------------------------------}
  273. TNodePool = Class(TGoogleBaseObject)
  274. Private
  275. Fname : String;
  276. Fconfig : TNodeConfig;
  277. FinitialNodeCount : integer;
  278. FselfLink : String;
  279. Fversion : String;
  280. FinstanceGroupUrls : TStringArray;
  281. Fstatus : String;
  282. FstatusMessage : String;
  283. Protected
  284. //Property setters
  285. Procedure Setname(AIndex : Integer; const AValue : String); virtual;
  286. Procedure Setconfig(AIndex : Integer; const AValue : TNodeConfig); virtual;
  287. Procedure SetinitialNodeCount(AIndex : Integer; const AValue : integer); virtual;
  288. Procedure SetselfLink(AIndex : Integer; const AValue : String); virtual;
  289. Procedure Setversion(AIndex : Integer; const AValue : String); virtual;
  290. Procedure SetinstanceGroupUrls(AIndex : Integer; const AValue : TStringArray); virtual;
  291. Procedure Setstatus(AIndex : Integer; const AValue : String); virtual;
  292. Procedure SetstatusMessage(AIndex : Integer; const AValue : String); virtual;
  293. //2.6.4. bug workaround
  294. {$IFDEF VER2_6}
  295. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  296. {$ENDIF VER2_6}
  297. Public
  298. Published
  299. Property name : String Index 0 Read Fname Write Setname;
  300. Property config : TNodeConfig Index 8 Read Fconfig Write Setconfig;
  301. Property initialNodeCount : integer Index 16 Read FinitialNodeCount Write SetinitialNodeCount;
  302. Property selfLink : String Index 24 Read FselfLink Write SetselfLink;
  303. Property version : String Index 32 Read Fversion Write Setversion;
  304. Property instanceGroupUrls : TStringArray Index 40 Read FinstanceGroupUrls Write SetinstanceGroupUrls;
  305. Property status : String Index 48 Read Fstatus Write Setstatus;
  306. Property statusMessage : String Index 56 Read FstatusMessage Write SetstatusMessage;
  307. end;
  308. TNodePoolClass = Class of TNodePool;
  309. { --------------------------------------------------------------------
  310. TCreateClusterRequest
  311. --------------------------------------------------------------------}
  312. TCreateClusterRequest = Class(TGoogleBaseObject)
  313. Private
  314. Fcluster : TCluster;
  315. Protected
  316. //Property setters
  317. Procedure Setcluster(AIndex : Integer; const AValue : TCluster); virtual;
  318. Public
  319. Published
  320. Property cluster : TCluster Index 0 Read Fcluster Write Setcluster;
  321. end;
  322. TCreateClusterRequestClass = Class of TCreateClusterRequest;
  323. { --------------------------------------------------------------------
  324. TOperation
  325. --------------------------------------------------------------------}
  326. TOperation = Class(TGoogleBaseObject)
  327. Private
  328. Fname : String;
  329. Fzone : String;
  330. FoperationType : String;
  331. Fstatus : String;
  332. Fdetail : String;
  333. FstatusMessage : String;
  334. FselfLink : String;
  335. FtargetLink : String;
  336. Protected
  337. //Property setters
  338. Procedure Setname(AIndex : Integer; const AValue : String); virtual;
  339. Procedure Setzone(AIndex : Integer; const AValue : String); virtual;
  340. Procedure SetoperationType(AIndex : Integer; const AValue : String); virtual;
  341. Procedure Setstatus(AIndex : Integer; const AValue : String); virtual;
  342. Procedure Setdetail(AIndex : Integer; const AValue : String); virtual;
  343. Procedure SetstatusMessage(AIndex : Integer; const AValue : String); virtual;
  344. Procedure SetselfLink(AIndex : Integer; const AValue : String); virtual;
  345. Procedure SettargetLink(AIndex : Integer; const AValue : String); virtual;
  346. Public
  347. Published
  348. Property name : String Index 0 Read Fname Write Setname;
  349. Property zone : String Index 8 Read Fzone Write Setzone;
  350. Property operationType : String Index 16 Read FoperationType Write SetoperationType;
  351. Property status : String Index 24 Read Fstatus Write Setstatus;
  352. Property detail : String Index 32 Read Fdetail Write Setdetail;
  353. Property statusMessage : String Index 40 Read FstatusMessage Write SetstatusMessage;
  354. Property selfLink : String Index 48 Read FselfLink Write SetselfLink;
  355. Property targetLink : String Index 56 Read FtargetLink Write SettargetLink;
  356. end;
  357. TOperationClass = Class of TOperation;
  358. { --------------------------------------------------------------------
  359. TUpdateClusterRequest
  360. --------------------------------------------------------------------}
  361. TUpdateClusterRequest = Class(TGoogleBaseObject)
  362. Private
  363. Fupdate : TClusterUpdate;
  364. Protected
  365. //Property setters
  366. Procedure Setupdate(AIndex : Integer; const AValue : TClusterUpdate); virtual;
  367. Public
  368. Published
  369. Property update : TClusterUpdate Index 0 Read Fupdate Write Setupdate;
  370. end;
  371. TUpdateClusterRequestClass = Class of TUpdateClusterRequest;
  372. { --------------------------------------------------------------------
  373. TClusterUpdate
  374. --------------------------------------------------------------------}
  375. TClusterUpdate = Class(TGoogleBaseObject)
  376. Private
  377. FdesiredNodeVersion : String;
  378. FdesiredMonitoringService : String;
  379. FdesiredAddonsConfig : TAddonsConfig;
  380. FdesiredNodePoolId : String;
  381. FdesiredMasterVersion : String;
  382. Protected
  383. //Property setters
  384. Procedure SetdesiredNodeVersion(AIndex : Integer; const AValue : String); virtual;
  385. Procedure SetdesiredMonitoringService(AIndex : Integer; const AValue : String); virtual;
  386. Procedure SetdesiredAddonsConfig(AIndex : Integer; const AValue : TAddonsConfig); virtual;
  387. Procedure SetdesiredNodePoolId(AIndex : Integer; const AValue : String); virtual;
  388. Procedure SetdesiredMasterVersion(AIndex : Integer; const AValue : String); virtual;
  389. Public
  390. Published
  391. Property desiredNodeVersion : String Index 0 Read FdesiredNodeVersion Write SetdesiredNodeVersion;
  392. Property desiredMonitoringService : String Index 8 Read FdesiredMonitoringService Write SetdesiredMonitoringService;
  393. Property desiredAddonsConfig : TAddonsConfig Index 16 Read FdesiredAddonsConfig Write SetdesiredAddonsConfig;
  394. Property desiredNodePoolId : String Index 24 Read FdesiredNodePoolId Write SetdesiredNodePoolId;
  395. Property desiredMasterVersion : String Index 32 Read FdesiredMasterVersion Write SetdesiredMasterVersion;
  396. end;
  397. TClusterUpdateClass = Class of TClusterUpdate;
  398. { --------------------------------------------------------------------
  399. TListOperationsResponse
  400. --------------------------------------------------------------------}
  401. TListOperationsResponse = Class(TGoogleBaseObject)
  402. Private
  403. Foperations : TListOperationsResponseTypeoperationsArray;
  404. FmissingZones : TStringArray;
  405. Protected
  406. //Property setters
  407. Procedure Setoperations(AIndex : Integer; const AValue : TListOperationsResponseTypeoperationsArray); virtual;
  408. Procedure SetmissingZones(AIndex : Integer; const AValue : TStringArray); virtual;
  409. //2.6.4. bug workaround
  410. {$IFDEF VER2_6}
  411. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  412. {$ENDIF VER2_6}
  413. Public
  414. Published
  415. Property operations : TListOperationsResponseTypeoperationsArray Index 0 Read Foperations Write Setoperations;
  416. Property missingZones : TStringArray Index 8 Read FmissingZones Write SetmissingZones;
  417. end;
  418. TListOperationsResponseClass = Class of TListOperationsResponse;
  419. { --------------------------------------------------------------------
  420. TServerConfig
  421. --------------------------------------------------------------------}
  422. TServerConfig = Class(TGoogleBaseObject)
  423. Private
  424. FdefaultClusterVersion : String;
  425. FvalidNodeVersions : TStringArray;
  426. FdefaultImageFamily : String;
  427. FvalidImageFamilies : TStringArray;
  428. Protected
  429. //Property setters
  430. Procedure SetdefaultClusterVersion(AIndex : Integer; const AValue : String); virtual;
  431. Procedure SetvalidNodeVersions(AIndex : Integer; const AValue : TStringArray); virtual;
  432. Procedure SetdefaultImageFamily(AIndex : Integer; const AValue : String); virtual;
  433. Procedure SetvalidImageFamilies(AIndex : Integer; const AValue : TStringArray); virtual;
  434. //2.6.4. bug workaround
  435. {$IFDEF VER2_6}
  436. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  437. {$ENDIF VER2_6}
  438. Public
  439. Published
  440. Property defaultClusterVersion : String Index 0 Read FdefaultClusterVersion Write SetdefaultClusterVersion;
  441. Property validNodeVersions : TStringArray Index 8 Read FvalidNodeVersions Write SetvalidNodeVersions;
  442. Property defaultImageFamily : String Index 16 Read FdefaultImageFamily Write SetdefaultImageFamily;
  443. Property validImageFamilies : TStringArray Index 24 Read FvalidImageFamilies Write SetvalidImageFamilies;
  444. end;
  445. TServerConfigClass = Class of TServerConfig;
  446. { --------------------------------------------------------------------
  447. TListNodePoolsResponse
  448. --------------------------------------------------------------------}
  449. TListNodePoolsResponse = Class(TGoogleBaseObject)
  450. Private
  451. FnodePools : TListNodePoolsResponseTypenodePoolsArray;
  452. Protected
  453. //Property setters
  454. Procedure SetnodePools(AIndex : Integer; const AValue : TListNodePoolsResponseTypenodePoolsArray); virtual;
  455. //2.6.4. bug workaround
  456. {$IFDEF VER2_6}
  457. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  458. {$ENDIF VER2_6}
  459. Public
  460. Published
  461. Property nodePools : TListNodePoolsResponseTypenodePoolsArray Index 0 Read FnodePools Write SetnodePools;
  462. end;
  463. TListNodePoolsResponseClass = Class of TListNodePoolsResponse;
  464. { --------------------------------------------------------------------
  465. TCreateNodePoolRequest
  466. --------------------------------------------------------------------}
  467. TCreateNodePoolRequest = Class(TGoogleBaseObject)
  468. Private
  469. FnodePool : TNodePool;
  470. Protected
  471. //Property setters
  472. Procedure SetnodePool(AIndex : Integer; const AValue : TNodePool); virtual;
  473. Public
  474. Published
  475. Property nodePool : TNodePool Index 0 Read FnodePool Write SetnodePool;
  476. end;
  477. TCreateNodePoolRequestClass = Class of TCreateNodePoolRequest;
  478. { --------------------------------------------------------------------
  479. TProjectsZonesClustersNodePoolsResource
  480. --------------------------------------------------------------------}
  481. TProjectsZonesClustersNodePoolsResource = Class(TGoogleResource)
  482. Public
  483. Class Function ResourceName : String; override;
  484. Class Function DefaultAPI : TGoogleAPIClass; override;
  485. Function List(projectId: string; zone: string; clusterId: string) : TListNodePoolsResponse;
  486. Function Get(projectId: string; zone: string; clusterId: string; nodePoolId: string) : TNodePool;
  487. Function Create(projectId: string; zone: string; clusterId: string; aCreateNodePoolRequest : TCreateNodePoolRequest) : TOperation;overload;
  488. Function Delete(projectId: string; zone: string; clusterId: string; nodePoolId: string) : TOperation;
  489. end;
  490. { --------------------------------------------------------------------
  491. TProjectsZonesClustersResource
  492. --------------------------------------------------------------------}
  493. TProjectsZonesClustersResource = Class(TGoogleResource)
  494. Private
  495. FNodePoolsInstance : TProjectsZonesClustersNodePoolsResource;
  496. Function GetNodePoolsInstance : TProjectsZonesClustersNodePoolsResource;virtual;
  497. Public
  498. Class Function ResourceName : String; override;
  499. Class Function DefaultAPI : TGoogleAPIClass; override;
  500. Function List(projectId: string; zone: string) : TListClustersResponse;
  501. Function Get(projectId: string; zone: string; clusterId: string) : TCluster;
  502. Function Create(projectId: string; zone: string; aCreateClusterRequest : TCreateClusterRequest) : TOperation;overload;
  503. Function Update(projectId: string; zone: string; clusterId: string; aUpdateClusterRequest : TUpdateClusterRequest) : TOperation;
  504. Function Delete(projectId: string; zone: string; clusterId: string) : TOperation;
  505. Function CreateNodePoolsResource(AOwner : TComponent) : TProjectsZonesClustersNodePoolsResource;virtual;overload;
  506. Function CreateNodePoolsResource : TProjectsZonesClustersNodePoolsResource;virtual;overload;
  507. Property NodePoolsResource : TProjectsZonesClustersNodePoolsResource Read GetNodePoolsInstance;
  508. end;
  509. { --------------------------------------------------------------------
  510. TProjectsZonesOperationsResource
  511. --------------------------------------------------------------------}
  512. TProjectsZonesOperationsResource = Class(TGoogleResource)
  513. Public
  514. Class Function ResourceName : String; override;
  515. Class Function DefaultAPI : TGoogleAPIClass; override;
  516. Function List(projectId: string; zone: string) : TListOperationsResponse;
  517. Function Get(projectId: string; zone: string; operationId: string) : TOperation;
  518. end;
  519. { --------------------------------------------------------------------
  520. TProjectsZonesResource
  521. --------------------------------------------------------------------}
  522. TProjectsZonesResource = Class(TGoogleResource)
  523. Private
  524. FClustersNodePoolsInstance : TProjectsZonesClustersNodePoolsResource;
  525. FClustersInstance : TProjectsZonesClustersResource;
  526. FOperationsInstance : TProjectsZonesOperationsResource;
  527. Function GetClustersNodePoolsInstance : TProjectsZonesClustersNodePoolsResource;virtual;
  528. Function GetClustersInstance : TProjectsZonesClustersResource;virtual;
  529. Function GetOperationsInstance : TProjectsZonesOperationsResource;virtual;
  530. Public
  531. Class Function ResourceName : String; override;
  532. Class Function DefaultAPI : TGoogleAPIClass; override;
  533. Function GetServerconfig(projectId: string; zone: string) : TServerConfig;
  534. Function CreateClustersNodePoolsResource(AOwner : TComponent) : TProjectsZonesClustersNodePoolsResource;virtual;overload;
  535. Function CreateClustersNodePoolsResource : TProjectsZonesClustersNodePoolsResource;virtual;overload;
  536. Function CreateClustersResource(AOwner : TComponent) : TProjectsZonesClustersResource;virtual;overload;
  537. Function CreateClustersResource : TProjectsZonesClustersResource;virtual;overload;
  538. Function CreateOperationsResource(AOwner : TComponent) : TProjectsZonesOperationsResource;virtual;overload;
  539. Function CreateOperationsResource : TProjectsZonesOperationsResource;virtual;overload;
  540. Property ClustersNodePoolsResource : TProjectsZonesClustersNodePoolsResource Read GetClustersNodePoolsInstance;
  541. Property ClustersResource : TProjectsZonesClustersResource Read GetClustersInstance;
  542. Property OperationsResource : TProjectsZonesOperationsResource Read GetOperationsInstance;
  543. end;
  544. { --------------------------------------------------------------------
  545. TProjectsResource
  546. --------------------------------------------------------------------}
  547. TProjectsResource = Class(TGoogleResource)
  548. Private
  549. FZonesClustersNodePoolsInstance : TProjectsZonesClustersNodePoolsResource;
  550. FZonesClustersInstance : TProjectsZonesClustersResource;
  551. FZonesOperationsInstance : TProjectsZonesOperationsResource;
  552. FZonesInstance : TProjectsZonesResource;
  553. Function GetZonesClustersNodePoolsInstance : TProjectsZonesClustersNodePoolsResource;virtual;
  554. Function GetZonesClustersInstance : TProjectsZonesClustersResource;virtual;
  555. Function GetZonesOperationsInstance : TProjectsZonesOperationsResource;virtual;
  556. Function GetZonesInstance : TProjectsZonesResource;virtual;
  557. Public
  558. Class Function ResourceName : String; override;
  559. Class Function DefaultAPI : TGoogleAPIClass; override;
  560. Function CreateZonesClustersNodePoolsResource(AOwner : TComponent) : TProjectsZonesClustersNodePoolsResource;virtual;overload;
  561. Function CreateZonesClustersNodePoolsResource : TProjectsZonesClustersNodePoolsResource;virtual;overload;
  562. Function CreateZonesClustersResource(AOwner : TComponent) : TProjectsZonesClustersResource;virtual;overload;
  563. Function CreateZonesClustersResource : TProjectsZonesClustersResource;virtual;overload;
  564. Function CreateZonesOperationsResource(AOwner : TComponent) : TProjectsZonesOperationsResource;virtual;overload;
  565. Function CreateZonesOperationsResource : TProjectsZonesOperationsResource;virtual;overload;
  566. Function CreateZonesResource(AOwner : TComponent) : TProjectsZonesResource;virtual;overload;
  567. Function CreateZonesResource : TProjectsZonesResource;virtual;overload;
  568. Property ZonesClustersNodePoolsResource : TProjectsZonesClustersNodePoolsResource Read GetZonesClustersNodePoolsInstance;
  569. Property ZonesClustersResource : TProjectsZonesClustersResource Read GetZonesClustersInstance;
  570. Property ZonesOperationsResource : TProjectsZonesOperationsResource Read GetZonesOperationsInstance;
  571. Property ZonesResource : TProjectsZonesResource Read GetZonesInstance;
  572. end;
  573. { --------------------------------------------------------------------
  574. TContainerAPI
  575. --------------------------------------------------------------------}
  576. TContainerAPI = Class(TGoogleAPI)
  577. Private
  578. FProjectsZonesClustersNodePoolsInstance : TProjectsZonesClustersNodePoolsResource;
  579. FProjectsZonesClustersInstance : TProjectsZonesClustersResource;
  580. FProjectsZonesOperationsInstance : TProjectsZonesOperationsResource;
  581. FProjectsZonesInstance : TProjectsZonesResource;
  582. FProjectsInstance : TProjectsResource;
  583. Function GetProjectsZonesClustersNodePoolsInstance : TProjectsZonesClustersNodePoolsResource;virtual;
  584. Function GetProjectsZonesClustersInstance : TProjectsZonesClustersResource;virtual;
  585. Function GetProjectsZonesOperationsInstance : TProjectsZonesOperationsResource;virtual;
  586. Function GetProjectsZonesInstance : TProjectsZonesResource;virtual;
  587. Function GetProjectsInstance : TProjectsResource;virtual;
  588. Public
  589. //Override class functions with API info
  590. Class Function APIName : String; override;
  591. Class Function APIVersion : String; override;
  592. Class Function APIRevision : String; override;
  593. Class Function APIID : String; override;
  594. Class Function APITitle : String; override;
  595. Class Function APIDescription : String; override;
  596. Class Function APIOwnerDomain : String; override;
  597. Class Function APIOwnerName : String; override;
  598. Class Function APIIcon16 : String; override;
  599. Class Function APIIcon32 : String; override;
  600. Class Function APIdocumentationLink : String; override;
  601. Class Function APIrootUrl : string; override;
  602. Class Function APIbasePath : string;override;
  603. Class Function APIbaseURL : String;override;
  604. Class Function APIProtocol : string;override;
  605. Class Function APIservicePath : string;override;
  606. Class Function APIbatchPath : String;override;
  607. Class Function APIAuthScopes : TScopeInfoArray;override;
  608. Class Function APINeedsAuth : Boolean;override;
  609. Class Procedure RegisterAPIResources; override;
  610. //Add create function for resources
  611. Function CreateProjectsZonesClustersNodePoolsResource(AOwner : TComponent) : TProjectsZonesClustersNodePoolsResource;virtual;overload;
  612. Function CreateProjectsZonesClustersNodePoolsResource : TProjectsZonesClustersNodePoolsResource;virtual;overload;
  613. Function CreateProjectsZonesClustersResource(AOwner : TComponent) : TProjectsZonesClustersResource;virtual;overload;
  614. Function CreateProjectsZonesClustersResource : TProjectsZonesClustersResource;virtual;overload;
  615. Function CreateProjectsZonesOperationsResource(AOwner : TComponent) : TProjectsZonesOperationsResource;virtual;overload;
  616. Function CreateProjectsZonesOperationsResource : TProjectsZonesOperationsResource;virtual;overload;
  617. Function CreateProjectsZonesResource(AOwner : TComponent) : TProjectsZonesResource;virtual;overload;
  618. Function CreateProjectsZonesResource : TProjectsZonesResource;virtual;overload;
  619. Function CreateProjectsResource(AOwner : TComponent) : TProjectsResource;virtual;overload;
  620. Function CreateProjectsResource : TProjectsResource;virtual;overload;
  621. //Add default on-demand instances for resources
  622. Property ProjectsZonesClustersNodePoolsResource : TProjectsZonesClustersNodePoolsResource Read GetProjectsZonesClustersNodePoolsInstance;
  623. Property ProjectsZonesClustersResource : TProjectsZonesClustersResource Read GetProjectsZonesClustersInstance;
  624. Property ProjectsZonesOperationsResource : TProjectsZonesOperationsResource Read GetProjectsZonesOperationsInstance;
  625. Property ProjectsZonesResource : TProjectsZonesResource Read GetProjectsZonesInstance;
  626. Property ProjectsResource : TProjectsResource Read GetProjectsInstance;
  627. end;
  628. implementation
  629. { --------------------------------------------------------------------
  630. TListClustersResponse
  631. --------------------------------------------------------------------}
  632. Procedure TListClustersResponse.Setclusters(AIndex : Integer; const AValue : TListClustersResponseTypeclustersArray);
  633. begin
  634. If (Fclusters=AValue) then exit;
  635. Fclusters:=AValue;
  636. MarkPropertyChanged(AIndex);
  637. end;
  638. Procedure TListClustersResponse.SetmissingZones(AIndex : Integer; const AValue : TStringArray);
  639. begin
  640. If (FmissingZones=AValue) then exit;
  641. FmissingZones:=AValue;
  642. MarkPropertyChanged(AIndex);
  643. end;
  644. //2.6.4. bug workaround
  645. {$IFDEF VER2_6}
  646. Procedure TListClustersResponse.SetArrayLength(Const AName : String; ALength : Longint);
  647. begin
  648. Case AName of
  649. 'clusters' : SetLength(Fclusters,ALength);
  650. 'missingzones' : SetLength(FmissingZones,ALength);
  651. else
  652. Inherited SetArrayLength(AName,ALength);
  653. end;
  654. end;
  655. {$ENDIF VER2_6}
  656. { --------------------------------------------------------------------
  657. TCluster
  658. --------------------------------------------------------------------}
  659. Procedure TCluster.Setname(AIndex : Integer; const AValue : String);
  660. begin
  661. If (Fname=AValue) then exit;
  662. Fname:=AValue;
  663. MarkPropertyChanged(AIndex);
  664. end;
  665. Procedure TCluster.Setdescription(AIndex : Integer; const AValue : String);
  666. begin
  667. If (Fdescription=AValue) then exit;
  668. Fdescription:=AValue;
  669. MarkPropertyChanged(AIndex);
  670. end;
  671. Procedure TCluster.SetinitialNodeCount(AIndex : Integer; const AValue : integer);
  672. begin
  673. If (FinitialNodeCount=AValue) then exit;
  674. FinitialNodeCount:=AValue;
  675. MarkPropertyChanged(AIndex);
  676. end;
  677. Procedure TCluster.SetnodeConfig(AIndex : Integer; const AValue : TNodeConfig);
  678. begin
  679. If (FnodeConfig=AValue) then exit;
  680. FnodeConfig:=AValue;
  681. MarkPropertyChanged(AIndex);
  682. end;
  683. Procedure TCluster.SetmasterAuth(AIndex : Integer; const AValue : TMasterAuth);
  684. begin
  685. If (FmasterAuth=AValue) then exit;
  686. FmasterAuth:=AValue;
  687. MarkPropertyChanged(AIndex);
  688. end;
  689. Procedure TCluster.SetloggingService(AIndex : Integer; const AValue : String);
  690. begin
  691. If (FloggingService=AValue) then exit;
  692. FloggingService:=AValue;
  693. MarkPropertyChanged(AIndex);
  694. end;
  695. Procedure TCluster.SetmonitoringService(AIndex : Integer; const AValue : String);
  696. begin
  697. If (FmonitoringService=AValue) then exit;
  698. FmonitoringService:=AValue;
  699. MarkPropertyChanged(AIndex);
  700. end;
  701. Procedure TCluster.Setnetwork(AIndex : Integer; const AValue : String);
  702. begin
  703. If (Fnetwork=AValue) then exit;
  704. Fnetwork:=AValue;
  705. MarkPropertyChanged(AIndex);
  706. end;
  707. Procedure TCluster.SetclusterIpv4Cidr(AIndex : Integer; const AValue : String);
  708. begin
  709. If (FclusterIpv4Cidr=AValue) then exit;
  710. FclusterIpv4Cidr:=AValue;
  711. MarkPropertyChanged(AIndex);
  712. end;
  713. Procedure TCluster.SetaddonsConfig(AIndex : Integer; const AValue : TAddonsConfig);
  714. begin
  715. If (FaddonsConfig=AValue) then exit;
  716. FaddonsConfig:=AValue;
  717. MarkPropertyChanged(AIndex);
  718. end;
  719. Procedure TCluster.Setsubnetwork(AIndex : Integer; const AValue : String);
  720. begin
  721. If (Fsubnetwork=AValue) then exit;
  722. Fsubnetwork:=AValue;
  723. MarkPropertyChanged(AIndex);
  724. end;
  725. Procedure TCluster.SetnodePools(AIndex : Integer; const AValue : TClusterTypenodePoolsArray);
  726. begin
  727. If (FnodePools=AValue) then exit;
  728. FnodePools:=AValue;
  729. MarkPropertyChanged(AIndex);
  730. end;
  731. Procedure TCluster.Setlocations(AIndex : Integer; const AValue : TStringArray);
  732. begin
  733. If (Flocations=AValue) then exit;
  734. Flocations:=AValue;
  735. MarkPropertyChanged(AIndex);
  736. end;
  737. Procedure TCluster.SetselfLink(AIndex : Integer; const AValue : String);
  738. begin
  739. If (FselfLink=AValue) then exit;
  740. FselfLink:=AValue;
  741. MarkPropertyChanged(AIndex);
  742. end;
  743. Procedure TCluster.Setzone(AIndex : Integer; const AValue : String);
  744. begin
  745. If (Fzone=AValue) then exit;
  746. Fzone:=AValue;
  747. MarkPropertyChanged(AIndex);
  748. end;
  749. Procedure TCluster.Setendpoint(AIndex : Integer; const AValue : String);
  750. begin
  751. If (Fendpoint=AValue) then exit;
  752. Fendpoint:=AValue;
  753. MarkPropertyChanged(AIndex);
  754. end;
  755. Procedure TCluster.SetinitialClusterVersion(AIndex : Integer; const AValue : String);
  756. begin
  757. If (FinitialClusterVersion=AValue) then exit;
  758. FinitialClusterVersion:=AValue;
  759. MarkPropertyChanged(AIndex);
  760. end;
  761. Procedure TCluster.SetcurrentMasterVersion(AIndex : Integer; const AValue : String);
  762. begin
  763. If (FcurrentMasterVersion=AValue) then exit;
  764. FcurrentMasterVersion:=AValue;
  765. MarkPropertyChanged(AIndex);
  766. end;
  767. Procedure TCluster.SetcurrentNodeVersion(AIndex : Integer; const AValue : String);
  768. begin
  769. If (FcurrentNodeVersion=AValue) then exit;
  770. FcurrentNodeVersion:=AValue;
  771. MarkPropertyChanged(AIndex);
  772. end;
  773. Procedure TCluster.SetcreateTime(AIndex : Integer; const AValue : String);
  774. begin
  775. If (FcreateTime=AValue) then exit;
  776. FcreateTime:=AValue;
  777. MarkPropertyChanged(AIndex);
  778. end;
  779. Procedure TCluster.Setstatus(AIndex : Integer; const AValue : String);
  780. begin
  781. If (Fstatus=AValue) then exit;
  782. Fstatus:=AValue;
  783. MarkPropertyChanged(AIndex);
  784. end;
  785. Procedure TCluster.SetstatusMessage(AIndex : Integer; const AValue : String);
  786. begin
  787. If (FstatusMessage=AValue) then exit;
  788. FstatusMessage:=AValue;
  789. MarkPropertyChanged(AIndex);
  790. end;
  791. Procedure TCluster.SetnodeIpv4CidrSize(AIndex : Integer; const AValue : integer);
  792. begin
  793. If (FnodeIpv4CidrSize=AValue) then exit;
  794. FnodeIpv4CidrSize:=AValue;
  795. MarkPropertyChanged(AIndex);
  796. end;
  797. Procedure TCluster.SetservicesIpv4Cidr(AIndex : Integer; const AValue : String);
  798. begin
  799. If (FservicesIpv4Cidr=AValue) then exit;
  800. FservicesIpv4Cidr:=AValue;
  801. MarkPropertyChanged(AIndex);
  802. end;
  803. Procedure TCluster.SetinstanceGroupUrls(AIndex : Integer; const AValue : TStringArray);
  804. begin
  805. If (FinstanceGroupUrls=AValue) then exit;
  806. FinstanceGroupUrls:=AValue;
  807. MarkPropertyChanged(AIndex);
  808. end;
  809. Procedure TCluster.SetcurrentNodeCount(AIndex : Integer; const AValue : integer);
  810. begin
  811. If (FcurrentNodeCount=AValue) then exit;
  812. FcurrentNodeCount:=AValue;
  813. MarkPropertyChanged(AIndex);
  814. end;
  815. //2.6.4. bug workaround
  816. {$IFDEF VER2_6}
  817. Procedure TCluster.SetArrayLength(Const AName : String; ALength : Longint);
  818. begin
  819. Case AName of
  820. 'nodepools' : SetLength(FnodePools,ALength);
  821. 'locations' : SetLength(Flocations,ALength);
  822. 'instancegroupurls' : SetLength(FinstanceGroupUrls,ALength);
  823. else
  824. Inherited SetArrayLength(AName,ALength);
  825. end;
  826. end;
  827. {$ENDIF VER2_6}
  828. { --------------------------------------------------------------------
  829. TNodeConfigTypemetadata
  830. --------------------------------------------------------------------}
  831. Class Function TNodeConfigTypemetadata.AllowAdditionalProperties : Boolean;
  832. begin
  833. Result:=True;
  834. end;
  835. { --------------------------------------------------------------------
  836. TNodeConfig
  837. --------------------------------------------------------------------}
  838. Procedure TNodeConfig.SetmachineType(AIndex : Integer; const AValue : String);
  839. begin
  840. If (FmachineType=AValue) then exit;
  841. FmachineType:=AValue;
  842. MarkPropertyChanged(AIndex);
  843. end;
  844. Procedure TNodeConfig.SetdiskSizeGb(AIndex : Integer; const AValue : integer);
  845. begin
  846. If (FdiskSizeGb=AValue) then exit;
  847. FdiskSizeGb:=AValue;
  848. MarkPropertyChanged(AIndex);
  849. end;
  850. Procedure TNodeConfig.SetoauthScopes(AIndex : Integer; const AValue : TStringArray);
  851. begin
  852. If (FoauthScopes=AValue) then exit;
  853. FoauthScopes:=AValue;
  854. MarkPropertyChanged(AIndex);
  855. end;
  856. Procedure TNodeConfig.Setmetadata(AIndex : Integer; const AValue : TNodeConfigTypemetadata);
  857. begin
  858. If (Fmetadata=AValue) then exit;
  859. Fmetadata:=AValue;
  860. MarkPropertyChanged(AIndex);
  861. end;
  862. //2.6.4. bug workaround
  863. {$IFDEF VER2_6}
  864. Procedure TNodeConfig.SetArrayLength(Const AName : String; ALength : Longint);
  865. begin
  866. Case AName of
  867. 'oauthscopes' : SetLength(FoauthScopes,ALength);
  868. else
  869. Inherited SetArrayLength(AName,ALength);
  870. end;
  871. end;
  872. {$ENDIF VER2_6}
  873. { --------------------------------------------------------------------
  874. TMasterAuth
  875. --------------------------------------------------------------------}
  876. Procedure TMasterAuth.Setusername(AIndex : Integer; const AValue : String);
  877. begin
  878. If (Fusername=AValue) then exit;
  879. Fusername:=AValue;
  880. MarkPropertyChanged(AIndex);
  881. end;
  882. Procedure TMasterAuth.Setpassword(AIndex : Integer; const AValue : String);
  883. begin
  884. If (Fpassword=AValue) then exit;
  885. Fpassword:=AValue;
  886. MarkPropertyChanged(AIndex);
  887. end;
  888. Procedure TMasterAuth.SetclusterCaCertificate(AIndex : Integer; const AValue : String);
  889. begin
  890. If (FclusterCaCertificate=AValue) then exit;
  891. FclusterCaCertificate:=AValue;
  892. MarkPropertyChanged(AIndex);
  893. end;
  894. Procedure TMasterAuth.SetclientCertificate(AIndex : Integer; const AValue : String);
  895. begin
  896. If (FclientCertificate=AValue) then exit;
  897. FclientCertificate:=AValue;
  898. MarkPropertyChanged(AIndex);
  899. end;
  900. Procedure TMasterAuth.SetclientKey(AIndex : Integer; const AValue : String);
  901. begin
  902. If (FclientKey=AValue) then exit;
  903. FclientKey:=AValue;
  904. MarkPropertyChanged(AIndex);
  905. end;
  906. { --------------------------------------------------------------------
  907. TAddonsConfig
  908. --------------------------------------------------------------------}
  909. Procedure TAddonsConfig.SethttpLoadBalancing(AIndex : Integer; const AValue : THttpLoadBalancing);
  910. begin
  911. If (FhttpLoadBalancing=AValue) then exit;
  912. FhttpLoadBalancing:=AValue;
  913. MarkPropertyChanged(AIndex);
  914. end;
  915. Procedure TAddonsConfig.SethorizontalPodAutoscaling(AIndex : Integer; const AValue : THorizontalPodAutoscaling);
  916. begin
  917. If (FhorizontalPodAutoscaling=AValue) then exit;
  918. FhorizontalPodAutoscaling:=AValue;
  919. MarkPropertyChanged(AIndex);
  920. end;
  921. { --------------------------------------------------------------------
  922. THttpLoadBalancing
  923. --------------------------------------------------------------------}
  924. Procedure THttpLoadBalancing.Setdisabled(AIndex : Integer; const AValue : boolean);
  925. begin
  926. If (Fdisabled=AValue) then exit;
  927. Fdisabled:=AValue;
  928. MarkPropertyChanged(AIndex);
  929. end;
  930. { --------------------------------------------------------------------
  931. THorizontalPodAutoscaling
  932. --------------------------------------------------------------------}
  933. Procedure THorizontalPodAutoscaling.Setdisabled(AIndex : Integer; const AValue : boolean);
  934. begin
  935. If (Fdisabled=AValue) then exit;
  936. Fdisabled:=AValue;
  937. MarkPropertyChanged(AIndex);
  938. end;
  939. { --------------------------------------------------------------------
  940. TNodePool
  941. --------------------------------------------------------------------}
  942. Procedure TNodePool.Setname(AIndex : Integer; const AValue : String);
  943. begin
  944. If (Fname=AValue) then exit;
  945. Fname:=AValue;
  946. MarkPropertyChanged(AIndex);
  947. end;
  948. Procedure TNodePool.Setconfig(AIndex : Integer; const AValue : TNodeConfig);
  949. begin
  950. If (Fconfig=AValue) then exit;
  951. Fconfig:=AValue;
  952. MarkPropertyChanged(AIndex);
  953. end;
  954. Procedure TNodePool.SetinitialNodeCount(AIndex : Integer; const AValue : integer);
  955. begin
  956. If (FinitialNodeCount=AValue) then exit;
  957. FinitialNodeCount:=AValue;
  958. MarkPropertyChanged(AIndex);
  959. end;
  960. Procedure TNodePool.SetselfLink(AIndex : Integer; const AValue : String);
  961. begin
  962. If (FselfLink=AValue) then exit;
  963. FselfLink:=AValue;
  964. MarkPropertyChanged(AIndex);
  965. end;
  966. Procedure TNodePool.Setversion(AIndex : Integer; const AValue : String);
  967. begin
  968. If (Fversion=AValue) then exit;
  969. Fversion:=AValue;
  970. MarkPropertyChanged(AIndex);
  971. end;
  972. Procedure TNodePool.SetinstanceGroupUrls(AIndex : Integer; const AValue : TStringArray);
  973. begin
  974. If (FinstanceGroupUrls=AValue) then exit;
  975. FinstanceGroupUrls:=AValue;
  976. MarkPropertyChanged(AIndex);
  977. end;
  978. Procedure TNodePool.Setstatus(AIndex : Integer; const AValue : String);
  979. begin
  980. If (Fstatus=AValue) then exit;
  981. Fstatus:=AValue;
  982. MarkPropertyChanged(AIndex);
  983. end;
  984. Procedure TNodePool.SetstatusMessage(AIndex : Integer; const AValue : String);
  985. begin
  986. If (FstatusMessage=AValue) then exit;
  987. FstatusMessage:=AValue;
  988. MarkPropertyChanged(AIndex);
  989. end;
  990. //2.6.4. bug workaround
  991. {$IFDEF VER2_6}
  992. Procedure TNodePool.SetArrayLength(Const AName : String; ALength : Longint);
  993. begin
  994. Case AName of
  995. 'instancegroupurls' : SetLength(FinstanceGroupUrls,ALength);
  996. else
  997. Inherited SetArrayLength(AName,ALength);
  998. end;
  999. end;
  1000. {$ENDIF VER2_6}
  1001. { --------------------------------------------------------------------
  1002. TCreateClusterRequest
  1003. --------------------------------------------------------------------}
  1004. Procedure TCreateClusterRequest.Setcluster(AIndex : Integer; const AValue : TCluster);
  1005. begin
  1006. If (Fcluster=AValue) then exit;
  1007. Fcluster:=AValue;
  1008. MarkPropertyChanged(AIndex);
  1009. end;
  1010. { --------------------------------------------------------------------
  1011. TOperation
  1012. --------------------------------------------------------------------}
  1013. Procedure TOperation.Setname(AIndex : Integer; const AValue : String);
  1014. begin
  1015. If (Fname=AValue) then exit;
  1016. Fname:=AValue;
  1017. MarkPropertyChanged(AIndex);
  1018. end;
  1019. Procedure TOperation.Setzone(AIndex : Integer; const AValue : String);
  1020. begin
  1021. If (Fzone=AValue) then exit;
  1022. Fzone:=AValue;
  1023. MarkPropertyChanged(AIndex);
  1024. end;
  1025. Procedure TOperation.SetoperationType(AIndex : Integer; const AValue : String);
  1026. begin
  1027. If (FoperationType=AValue) then exit;
  1028. FoperationType:=AValue;
  1029. MarkPropertyChanged(AIndex);
  1030. end;
  1031. Procedure TOperation.Setstatus(AIndex : Integer; const AValue : String);
  1032. begin
  1033. If (Fstatus=AValue) then exit;
  1034. Fstatus:=AValue;
  1035. MarkPropertyChanged(AIndex);
  1036. end;
  1037. Procedure TOperation.Setdetail(AIndex : Integer; const AValue : String);
  1038. begin
  1039. If (Fdetail=AValue) then exit;
  1040. Fdetail:=AValue;
  1041. MarkPropertyChanged(AIndex);
  1042. end;
  1043. Procedure TOperation.SetstatusMessage(AIndex : Integer; const AValue : String);
  1044. begin
  1045. If (FstatusMessage=AValue) then exit;
  1046. FstatusMessage:=AValue;
  1047. MarkPropertyChanged(AIndex);
  1048. end;
  1049. Procedure TOperation.SetselfLink(AIndex : Integer; const AValue : String);
  1050. begin
  1051. If (FselfLink=AValue) then exit;
  1052. FselfLink:=AValue;
  1053. MarkPropertyChanged(AIndex);
  1054. end;
  1055. Procedure TOperation.SettargetLink(AIndex : Integer; const AValue : String);
  1056. begin
  1057. If (FtargetLink=AValue) then exit;
  1058. FtargetLink:=AValue;
  1059. MarkPropertyChanged(AIndex);
  1060. end;
  1061. { --------------------------------------------------------------------
  1062. TUpdateClusterRequest
  1063. --------------------------------------------------------------------}
  1064. Procedure TUpdateClusterRequest.Setupdate(AIndex : Integer; const AValue : TClusterUpdate);
  1065. begin
  1066. If (Fupdate=AValue) then exit;
  1067. Fupdate:=AValue;
  1068. MarkPropertyChanged(AIndex);
  1069. end;
  1070. { --------------------------------------------------------------------
  1071. TClusterUpdate
  1072. --------------------------------------------------------------------}
  1073. Procedure TClusterUpdate.SetdesiredNodeVersion(AIndex : Integer; const AValue : String);
  1074. begin
  1075. If (FdesiredNodeVersion=AValue) then exit;
  1076. FdesiredNodeVersion:=AValue;
  1077. MarkPropertyChanged(AIndex);
  1078. end;
  1079. Procedure TClusterUpdate.SetdesiredMonitoringService(AIndex : Integer; const AValue : String);
  1080. begin
  1081. If (FdesiredMonitoringService=AValue) then exit;
  1082. FdesiredMonitoringService:=AValue;
  1083. MarkPropertyChanged(AIndex);
  1084. end;
  1085. Procedure TClusterUpdate.SetdesiredAddonsConfig(AIndex : Integer; const AValue : TAddonsConfig);
  1086. begin
  1087. If (FdesiredAddonsConfig=AValue) then exit;
  1088. FdesiredAddonsConfig:=AValue;
  1089. MarkPropertyChanged(AIndex);
  1090. end;
  1091. Procedure TClusterUpdate.SetdesiredNodePoolId(AIndex : Integer; const AValue : String);
  1092. begin
  1093. If (FdesiredNodePoolId=AValue) then exit;
  1094. FdesiredNodePoolId:=AValue;
  1095. MarkPropertyChanged(AIndex);
  1096. end;
  1097. Procedure TClusterUpdate.SetdesiredMasterVersion(AIndex : Integer; const AValue : String);
  1098. begin
  1099. If (FdesiredMasterVersion=AValue) then exit;
  1100. FdesiredMasterVersion:=AValue;
  1101. MarkPropertyChanged(AIndex);
  1102. end;
  1103. { --------------------------------------------------------------------
  1104. TListOperationsResponse
  1105. --------------------------------------------------------------------}
  1106. Procedure TListOperationsResponse.Setoperations(AIndex : Integer; const AValue : TListOperationsResponseTypeoperationsArray);
  1107. begin
  1108. If (Foperations=AValue) then exit;
  1109. Foperations:=AValue;
  1110. MarkPropertyChanged(AIndex);
  1111. end;
  1112. Procedure TListOperationsResponse.SetmissingZones(AIndex : Integer; const AValue : TStringArray);
  1113. begin
  1114. If (FmissingZones=AValue) then exit;
  1115. FmissingZones:=AValue;
  1116. MarkPropertyChanged(AIndex);
  1117. end;
  1118. //2.6.4. bug workaround
  1119. {$IFDEF VER2_6}
  1120. Procedure TListOperationsResponse.SetArrayLength(Const AName : String; ALength : Longint);
  1121. begin
  1122. Case AName of
  1123. 'operations' : SetLength(Foperations,ALength);
  1124. 'missingzones' : SetLength(FmissingZones,ALength);
  1125. else
  1126. Inherited SetArrayLength(AName,ALength);
  1127. end;
  1128. end;
  1129. {$ENDIF VER2_6}
  1130. { --------------------------------------------------------------------
  1131. TServerConfig
  1132. --------------------------------------------------------------------}
  1133. Procedure TServerConfig.SetdefaultClusterVersion(AIndex : Integer; const AValue : String);
  1134. begin
  1135. If (FdefaultClusterVersion=AValue) then exit;
  1136. FdefaultClusterVersion:=AValue;
  1137. MarkPropertyChanged(AIndex);
  1138. end;
  1139. Procedure TServerConfig.SetvalidNodeVersions(AIndex : Integer; const AValue : TStringArray);
  1140. begin
  1141. If (FvalidNodeVersions=AValue) then exit;
  1142. FvalidNodeVersions:=AValue;
  1143. MarkPropertyChanged(AIndex);
  1144. end;
  1145. Procedure TServerConfig.SetdefaultImageFamily(AIndex : Integer; const AValue : String);
  1146. begin
  1147. If (FdefaultImageFamily=AValue) then exit;
  1148. FdefaultImageFamily:=AValue;
  1149. MarkPropertyChanged(AIndex);
  1150. end;
  1151. Procedure TServerConfig.SetvalidImageFamilies(AIndex : Integer; const AValue : TStringArray);
  1152. begin
  1153. If (FvalidImageFamilies=AValue) then exit;
  1154. FvalidImageFamilies:=AValue;
  1155. MarkPropertyChanged(AIndex);
  1156. end;
  1157. //2.6.4. bug workaround
  1158. {$IFDEF VER2_6}
  1159. Procedure TServerConfig.SetArrayLength(Const AName : String; ALength : Longint);
  1160. begin
  1161. Case AName of
  1162. 'validnodeversions' : SetLength(FvalidNodeVersions,ALength);
  1163. 'validimagefamilies' : SetLength(FvalidImageFamilies,ALength);
  1164. else
  1165. Inherited SetArrayLength(AName,ALength);
  1166. end;
  1167. end;
  1168. {$ENDIF VER2_6}
  1169. { --------------------------------------------------------------------
  1170. TListNodePoolsResponse
  1171. --------------------------------------------------------------------}
  1172. Procedure TListNodePoolsResponse.SetnodePools(AIndex : Integer; const AValue : TListNodePoolsResponseTypenodePoolsArray);
  1173. begin
  1174. If (FnodePools=AValue) then exit;
  1175. FnodePools:=AValue;
  1176. MarkPropertyChanged(AIndex);
  1177. end;
  1178. //2.6.4. bug workaround
  1179. {$IFDEF VER2_6}
  1180. Procedure TListNodePoolsResponse.SetArrayLength(Const AName : String; ALength : Longint);
  1181. begin
  1182. Case AName of
  1183. 'nodepools' : SetLength(FnodePools,ALength);
  1184. else
  1185. Inherited SetArrayLength(AName,ALength);
  1186. end;
  1187. end;
  1188. {$ENDIF VER2_6}
  1189. { --------------------------------------------------------------------
  1190. TCreateNodePoolRequest
  1191. --------------------------------------------------------------------}
  1192. Procedure TCreateNodePoolRequest.SetnodePool(AIndex : Integer; const AValue : TNodePool);
  1193. begin
  1194. If (FnodePool=AValue) then exit;
  1195. FnodePool:=AValue;
  1196. MarkPropertyChanged(AIndex);
  1197. end;
  1198. { --------------------------------------------------------------------
  1199. TProjectsZonesClustersNodePoolsResource
  1200. --------------------------------------------------------------------}
  1201. Class Function TProjectsZonesClustersNodePoolsResource.ResourceName : String;
  1202. begin
  1203. Result:='nodePools';
  1204. end;
  1205. Class Function TProjectsZonesClustersNodePoolsResource.DefaultAPI : TGoogleAPIClass;
  1206. begin
  1207. Result:=TcontainerAPI;
  1208. end;
  1209. Function TProjectsZonesClustersNodePoolsResource.List(projectId: string; zone: string; clusterId: string) : TListNodePoolsResponse;
  1210. Const
  1211. _HTTPMethod = 'GET';
  1212. _Path = 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools';
  1213. _Methodid = 'container.projects.zones.clusters.nodePools.list';
  1214. Var
  1215. _P : String;
  1216. begin
  1217. _P:=SubstitutePath(_Path,['projectId',projectId,'zone',zone,'clusterId',clusterId]);
  1218. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TListNodePoolsResponse) as TListNodePoolsResponse;
  1219. end;
  1220. Function TProjectsZonesClustersNodePoolsResource.Get(projectId: string; zone: string; clusterId: string; nodePoolId: string) : TNodePool;
  1221. Const
  1222. _HTTPMethod = 'GET';
  1223. _Path = 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}';
  1224. _Methodid = 'container.projects.zones.clusters.nodePools.get';
  1225. Var
  1226. _P : String;
  1227. begin
  1228. _P:=SubstitutePath(_Path,['projectId',projectId,'zone',zone,'clusterId',clusterId,'nodePoolId',nodePoolId]);
  1229. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TNodePool) as TNodePool;
  1230. end;
  1231. Function TProjectsZonesClustersNodePoolsResource.Create(projectId: string; zone: string; clusterId: string; aCreateNodePoolRequest : TCreateNodePoolRequest) : TOperation;
  1232. Const
  1233. _HTTPMethod = 'POST';
  1234. _Path = 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools';
  1235. _Methodid = 'container.projects.zones.clusters.nodePools.create';
  1236. Var
  1237. _P : String;
  1238. begin
  1239. _P:=SubstitutePath(_Path,['projectId',projectId,'zone',zone,'clusterId',clusterId]);
  1240. Result:=ServiceCall(_HTTPMethod,_P,'',aCreateNodePoolRequest,TOperation) as TOperation;
  1241. end;
  1242. Function TProjectsZonesClustersNodePoolsResource.Delete(projectId: string; zone: string; clusterId: string; nodePoolId: string) : TOperation;
  1243. Const
  1244. _HTTPMethod = 'DELETE';
  1245. _Path = 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}';
  1246. _Methodid = 'container.projects.zones.clusters.nodePools.delete';
  1247. Var
  1248. _P : String;
  1249. begin
  1250. _P:=SubstitutePath(_Path,['projectId',projectId,'zone',zone,'clusterId',clusterId,'nodePoolId',nodePoolId]);
  1251. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TOperation) as TOperation;
  1252. end;
  1253. { --------------------------------------------------------------------
  1254. TProjectsZonesClustersResource
  1255. --------------------------------------------------------------------}
  1256. Class Function TProjectsZonesClustersResource.ResourceName : String;
  1257. begin
  1258. Result:='clusters';
  1259. end;
  1260. Class Function TProjectsZonesClustersResource.DefaultAPI : TGoogleAPIClass;
  1261. begin
  1262. Result:=TcontainerAPI;
  1263. end;
  1264. Function TProjectsZonesClustersResource.List(projectId: string; zone: string) : TListClustersResponse;
  1265. Const
  1266. _HTTPMethod = 'GET';
  1267. _Path = 'v1/projects/{projectId}/zones/{zone}/clusters';
  1268. _Methodid = 'container.projects.zones.clusters.list';
  1269. Var
  1270. _P : String;
  1271. begin
  1272. _P:=SubstitutePath(_Path,['projectId',projectId,'zone',zone]);
  1273. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TListClustersResponse) as TListClustersResponse;
  1274. end;
  1275. Function TProjectsZonesClustersResource.Get(projectId: string; zone: string; clusterId: string) : TCluster;
  1276. Const
  1277. _HTTPMethod = 'GET';
  1278. _Path = 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}';
  1279. _Methodid = 'container.projects.zones.clusters.get';
  1280. Var
  1281. _P : String;
  1282. begin
  1283. _P:=SubstitutePath(_Path,['projectId',projectId,'zone',zone,'clusterId',clusterId]);
  1284. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TCluster) as TCluster;
  1285. end;
  1286. Function TProjectsZonesClustersResource.Create(projectId: string; zone: string; aCreateClusterRequest : TCreateClusterRequest) : TOperation;
  1287. Const
  1288. _HTTPMethod = 'POST';
  1289. _Path = 'v1/projects/{projectId}/zones/{zone}/clusters';
  1290. _Methodid = 'container.projects.zones.clusters.create';
  1291. Var
  1292. _P : String;
  1293. begin
  1294. _P:=SubstitutePath(_Path,['projectId',projectId,'zone',zone]);
  1295. Result:=ServiceCall(_HTTPMethod,_P,'',aCreateClusterRequest,TOperation) as TOperation;
  1296. end;
  1297. Function TProjectsZonesClustersResource.Update(projectId: string; zone: string; clusterId: string; aUpdateClusterRequest : TUpdateClusterRequest) : TOperation;
  1298. Const
  1299. _HTTPMethod = 'PUT';
  1300. _Path = 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}';
  1301. _Methodid = 'container.projects.zones.clusters.update';
  1302. Var
  1303. _P : String;
  1304. begin
  1305. _P:=SubstitutePath(_Path,['projectId',projectId,'zone',zone,'clusterId',clusterId]);
  1306. Result:=ServiceCall(_HTTPMethod,_P,'',aUpdateClusterRequest,TOperation) as TOperation;
  1307. end;
  1308. Function TProjectsZonesClustersResource.Delete(projectId: string; zone: string; clusterId: string) : TOperation;
  1309. Const
  1310. _HTTPMethod = 'DELETE';
  1311. _Path = 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}';
  1312. _Methodid = 'container.projects.zones.clusters.delete';
  1313. Var
  1314. _P : String;
  1315. begin
  1316. _P:=SubstitutePath(_Path,['projectId',projectId,'zone',zone,'clusterId',clusterId]);
  1317. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TOperation) as TOperation;
  1318. end;
  1319. Function TProjectsZonesClustersResource.GetNodePoolsInstance : TProjectsZonesClustersNodePoolsResource;
  1320. begin
  1321. if (FNodePoolsInstance=Nil) then
  1322. FNodePoolsInstance:=CreateNodePoolsResource;
  1323. Result:=FNodePoolsInstance;
  1324. end;
  1325. Function TProjectsZonesClustersResource.CreateNodePoolsResource : TProjectsZonesClustersNodePoolsResource;
  1326. begin
  1327. Result:=CreateNodePoolsResource(Self);
  1328. end;
  1329. Function TProjectsZonesClustersResource.CreateNodePoolsResource(AOwner : TComponent) : TProjectsZonesClustersNodePoolsResource;
  1330. begin
  1331. Result:=TProjectsZonesClustersNodePoolsResource.Create(AOwner);
  1332. Result.API:=Self.API;
  1333. end;
  1334. { --------------------------------------------------------------------
  1335. TProjectsZonesOperationsResource
  1336. --------------------------------------------------------------------}
  1337. Class Function TProjectsZonesOperationsResource.ResourceName : String;
  1338. begin
  1339. Result:='operations';
  1340. end;
  1341. Class Function TProjectsZonesOperationsResource.DefaultAPI : TGoogleAPIClass;
  1342. begin
  1343. Result:=TcontainerAPI;
  1344. end;
  1345. Function TProjectsZonesOperationsResource.List(projectId: string; zone: string) : TListOperationsResponse;
  1346. Const
  1347. _HTTPMethod = 'GET';
  1348. _Path = 'v1/projects/{projectId}/zones/{zone}/operations';
  1349. _Methodid = 'container.projects.zones.operations.list';
  1350. Var
  1351. _P : String;
  1352. begin
  1353. _P:=SubstitutePath(_Path,['projectId',projectId,'zone',zone]);
  1354. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TListOperationsResponse) as TListOperationsResponse;
  1355. end;
  1356. Function TProjectsZonesOperationsResource.Get(projectId: string; zone: string; operationId: string) : TOperation;
  1357. Const
  1358. _HTTPMethod = 'GET';
  1359. _Path = 'v1/projects/{projectId}/zones/{zone}/operations/{operationId}';
  1360. _Methodid = 'container.projects.zones.operations.get';
  1361. Var
  1362. _P : String;
  1363. begin
  1364. _P:=SubstitutePath(_Path,['projectId',projectId,'zone',zone,'operationId',operationId]);
  1365. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TOperation) as TOperation;
  1366. end;
  1367. { --------------------------------------------------------------------
  1368. TProjectsZonesResource
  1369. --------------------------------------------------------------------}
  1370. Class Function TProjectsZonesResource.ResourceName : String;
  1371. begin
  1372. Result:='zones';
  1373. end;
  1374. Class Function TProjectsZonesResource.DefaultAPI : TGoogleAPIClass;
  1375. begin
  1376. Result:=TcontainerAPI;
  1377. end;
  1378. Function TProjectsZonesResource.GetServerconfig(projectId: string; zone: string) : TServerConfig;
  1379. Const
  1380. _HTTPMethod = 'GET';
  1381. _Path = 'v1/projects/{projectId}/zones/{zone}/serverconfig';
  1382. _Methodid = 'container.projects.zones.getServerconfig';
  1383. Var
  1384. _P : String;
  1385. begin
  1386. _P:=SubstitutePath(_Path,['projectId',projectId,'zone',zone]);
  1387. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TServerConfig) as TServerConfig;
  1388. end;
  1389. Function TProjectsZonesResource.GetClustersNodePoolsInstance : TProjectsZonesClustersNodePoolsResource;
  1390. begin
  1391. if (FClustersNodePoolsInstance=Nil) then
  1392. FClustersNodePoolsInstance:=CreateClustersNodePoolsResource;
  1393. Result:=FClustersNodePoolsInstance;
  1394. end;
  1395. Function TProjectsZonesResource.CreateClustersNodePoolsResource : TProjectsZonesClustersNodePoolsResource;
  1396. begin
  1397. Result:=CreateClustersNodePoolsResource(Self);
  1398. end;
  1399. Function TProjectsZonesResource.CreateClustersNodePoolsResource(AOwner : TComponent) : TProjectsZonesClustersNodePoolsResource;
  1400. begin
  1401. Result:=TProjectsZonesClustersNodePoolsResource.Create(AOwner);
  1402. Result.API:=Self.API;
  1403. end;
  1404. Function TProjectsZonesResource.GetClustersInstance : TProjectsZonesClustersResource;
  1405. begin
  1406. if (FClustersInstance=Nil) then
  1407. FClustersInstance:=CreateClustersResource;
  1408. Result:=FClustersInstance;
  1409. end;
  1410. Function TProjectsZonesResource.CreateClustersResource : TProjectsZonesClustersResource;
  1411. begin
  1412. Result:=CreateClustersResource(Self);
  1413. end;
  1414. Function TProjectsZonesResource.CreateClustersResource(AOwner : TComponent) : TProjectsZonesClustersResource;
  1415. begin
  1416. Result:=TProjectsZonesClustersResource.Create(AOwner);
  1417. Result.API:=Self.API;
  1418. end;
  1419. Function TProjectsZonesResource.GetOperationsInstance : TProjectsZonesOperationsResource;
  1420. begin
  1421. if (FOperationsInstance=Nil) then
  1422. FOperationsInstance:=CreateOperationsResource;
  1423. Result:=FOperationsInstance;
  1424. end;
  1425. Function TProjectsZonesResource.CreateOperationsResource : TProjectsZonesOperationsResource;
  1426. begin
  1427. Result:=CreateOperationsResource(Self);
  1428. end;
  1429. Function TProjectsZonesResource.CreateOperationsResource(AOwner : TComponent) : TProjectsZonesOperationsResource;
  1430. begin
  1431. Result:=TProjectsZonesOperationsResource.Create(AOwner);
  1432. Result.API:=Self.API;
  1433. end;
  1434. { --------------------------------------------------------------------
  1435. TProjectsResource
  1436. --------------------------------------------------------------------}
  1437. Class Function TProjectsResource.ResourceName : String;
  1438. begin
  1439. Result:='projects';
  1440. end;
  1441. Class Function TProjectsResource.DefaultAPI : TGoogleAPIClass;
  1442. begin
  1443. Result:=TcontainerAPI;
  1444. end;
  1445. Function TProjectsResource.GetZonesClustersNodePoolsInstance : TProjectsZonesClustersNodePoolsResource;
  1446. begin
  1447. if (FZonesClustersNodePoolsInstance=Nil) then
  1448. FZonesClustersNodePoolsInstance:=CreateZonesClustersNodePoolsResource;
  1449. Result:=FZonesClustersNodePoolsInstance;
  1450. end;
  1451. Function TProjectsResource.CreateZonesClustersNodePoolsResource : TProjectsZonesClustersNodePoolsResource;
  1452. begin
  1453. Result:=CreateZonesClustersNodePoolsResource(Self);
  1454. end;
  1455. Function TProjectsResource.CreateZonesClustersNodePoolsResource(AOwner : TComponent) : TProjectsZonesClustersNodePoolsResource;
  1456. begin
  1457. Result:=TProjectsZonesClustersNodePoolsResource.Create(AOwner);
  1458. Result.API:=Self.API;
  1459. end;
  1460. Function TProjectsResource.GetZonesClustersInstance : TProjectsZonesClustersResource;
  1461. begin
  1462. if (FZonesClustersInstance=Nil) then
  1463. FZonesClustersInstance:=CreateZonesClustersResource;
  1464. Result:=FZonesClustersInstance;
  1465. end;
  1466. Function TProjectsResource.CreateZonesClustersResource : TProjectsZonesClustersResource;
  1467. begin
  1468. Result:=CreateZonesClustersResource(Self);
  1469. end;
  1470. Function TProjectsResource.CreateZonesClustersResource(AOwner : TComponent) : TProjectsZonesClustersResource;
  1471. begin
  1472. Result:=TProjectsZonesClustersResource.Create(AOwner);
  1473. Result.API:=Self.API;
  1474. end;
  1475. Function TProjectsResource.GetZonesOperationsInstance : TProjectsZonesOperationsResource;
  1476. begin
  1477. if (FZonesOperationsInstance=Nil) then
  1478. FZonesOperationsInstance:=CreateZonesOperationsResource;
  1479. Result:=FZonesOperationsInstance;
  1480. end;
  1481. Function TProjectsResource.CreateZonesOperationsResource : TProjectsZonesOperationsResource;
  1482. begin
  1483. Result:=CreateZonesOperationsResource(Self);
  1484. end;
  1485. Function TProjectsResource.CreateZonesOperationsResource(AOwner : TComponent) : TProjectsZonesOperationsResource;
  1486. begin
  1487. Result:=TProjectsZonesOperationsResource.Create(AOwner);
  1488. Result.API:=Self.API;
  1489. end;
  1490. Function TProjectsResource.GetZonesInstance : TProjectsZonesResource;
  1491. begin
  1492. if (FZonesInstance=Nil) then
  1493. FZonesInstance:=CreateZonesResource;
  1494. Result:=FZonesInstance;
  1495. end;
  1496. Function TProjectsResource.CreateZonesResource : TProjectsZonesResource;
  1497. begin
  1498. Result:=CreateZonesResource(Self);
  1499. end;
  1500. Function TProjectsResource.CreateZonesResource(AOwner : TComponent) : TProjectsZonesResource;
  1501. begin
  1502. Result:=TProjectsZonesResource.Create(AOwner);
  1503. Result.API:=Self.API;
  1504. end;
  1505. { --------------------------------------------------------------------
  1506. TContainerAPI
  1507. --------------------------------------------------------------------}
  1508. Class Function TContainerAPI.APIName : String;
  1509. begin
  1510. Result:='container';
  1511. end;
  1512. Class Function TContainerAPI.APIVersion : String;
  1513. begin
  1514. Result:='v1';
  1515. end;
  1516. Class Function TContainerAPI.APIRevision : String;
  1517. begin
  1518. Result:='20160421';
  1519. end;
  1520. Class Function TContainerAPI.APIID : String;
  1521. begin
  1522. Result:='container:v1';
  1523. end;
  1524. Class Function TContainerAPI.APITitle : String;
  1525. begin
  1526. Result:='Google Container Engine API';
  1527. end;
  1528. Class Function TContainerAPI.APIDescription : String;
  1529. begin
  1530. Result:='Builds and manages clusters that run container-based applications, powered by open source Kubernetes technology.';
  1531. end;
  1532. Class Function TContainerAPI.APIOwnerDomain : String;
  1533. begin
  1534. Result:='google.com';
  1535. end;
  1536. Class Function TContainerAPI.APIOwnerName : String;
  1537. begin
  1538. Result:='Google';
  1539. end;
  1540. Class Function TContainerAPI.APIIcon16 : String;
  1541. begin
  1542. Result:='http://www.google.com/images/icons/product/search-16.gif';
  1543. end;
  1544. Class Function TContainerAPI.APIIcon32 : String;
  1545. begin
  1546. Result:='http://www.google.com/images/icons/product/search-32.gif';
  1547. end;
  1548. Class Function TContainerAPI.APIdocumentationLink : String;
  1549. begin
  1550. Result:='https://cloud.google.com/container-engine/';
  1551. end;
  1552. Class Function TContainerAPI.APIrootUrl : string;
  1553. begin
  1554. Result:='https://container.googleapis.com/';
  1555. end;
  1556. Class Function TContainerAPI.APIbasePath : string;
  1557. begin
  1558. Result:='';
  1559. end;
  1560. Class Function TContainerAPI.APIbaseURL : String;
  1561. begin
  1562. Result:='https://container.googleapis.com/';
  1563. end;
  1564. Class Function TContainerAPI.APIProtocol : string;
  1565. begin
  1566. Result:='rest';
  1567. end;
  1568. Class Function TContainerAPI.APIservicePath : string;
  1569. begin
  1570. Result:='';
  1571. end;
  1572. Class Function TContainerAPI.APIbatchPath : String;
  1573. begin
  1574. Result:='batch';
  1575. end;
  1576. Class Function TContainerAPI.APIAuthScopes : TScopeInfoArray;
  1577. begin
  1578. SetLength(Result,1);
  1579. Result[0].Name:='https://www.googleapis.com/auth/cloud-platform';
  1580. Result[0].Description:='View and manage your data across Google Cloud Platform services';
  1581. end;
  1582. Class Function TContainerAPI.APINeedsAuth : Boolean;
  1583. begin
  1584. Result:=True;
  1585. end;
  1586. Class Procedure TContainerAPI.RegisterAPIResources;
  1587. begin
  1588. TListClustersResponse.RegisterObject;
  1589. TCluster.RegisterObject;
  1590. TNodeConfigTypemetadata.RegisterObject;
  1591. TNodeConfig.RegisterObject;
  1592. TMasterAuth.RegisterObject;
  1593. TAddonsConfig.RegisterObject;
  1594. THttpLoadBalancing.RegisterObject;
  1595. THorizontalPodAutoscaling.RegisterObject;
  1596. TNodePool.RegisterObject;
  1597. TCreateClusterRequest.RegisterObject;
  1598. TOperation.RegisterObject;
  1599. TUpdateClusterRequest.RegisterObject;
  1600. TClusterUpdate.RegisterObject;
  1601. TListOperationsResponse.RegisterObject;
  1602. TServerConfig.RegisterObject;
  1603. TListNodePoolsResponse.RegisterObject;
  1604. TCreateNodePoolRequest.RegisterObject;
  1605. end;
  1606. Function TContainerAPI.GetProjectsZonesClustersNodePoolsInstance : TProjectsZonesClustersNodePoolsResource;
  1607. begin
  1608. if (FProjectsZonesClustersNodePoolsInstance=Nil) then
  1609. FProjectsZonesClustersNodePoolsInstance:=CreateProjectsZonesClustersNodePoolsResource;
  1610. Result:=FProjectsZonesClustersNodePoolsInstance;
  1611. end;
  1612. Function TContainerAPI.CreateProjectsZonesClustersNodePoolsResource : TProjectsZonesClustersNodePoolsResource;
  1613. begin
  1614. Result:=CreateProjectsZonesClustersNodePoolsResource(Self);
  1615. end;
  1616. Function TContainerAPI.CreateProjectsZonesClustersNodePoolsResource(AOwner : TComponent) : TProjectsZonesClustersNodePoolsResource;
  1617. begin
  1618. Result:=TProjectsZonesClustersNodePoolsResource.Create(AOwner);
  1619. Result.API:=Self.API;
  1620. end;
  1621. Function TContainerAPI.GetProjectsZonesClustersInstance : TProjectsZonesClustersResource;
  1622. begin
  1623. if (FProjectsZonesClustersInstance=Nil) then
  1624. FProjectsZonesClustersInstance:=CreateProjectsZonesClustersResource;
  1625. Result:=FProjectsZonesClustersInstance;
  1626. end;
  1627. Function TContainerAPI.CreateProjectsZonesClustersResource : TProjectsZonesClustersResource;
  1628. begin
  1629. Result:=CreateProjectsZonesClustersResource(Self);
  1630. end;
  1631. Function TContainerAPI.CreateProjectsZonesClustersResource(AOwner : TComponent) : TProjectsZonesClustersResource;
  1632. begin
  1633. Result:=TProjectsZonesClustersResource.Create(AOwner);
  1634. Result.API:=Self.API;
  1635. end;
  1636. Function TContainerAPI.GetProjectsZonesOperationsInstance : TProjectsZonesOperationsResource;
  1637. begin
  1638. if (FProjectsZonesOperationsInstance=Nil) then
  1639. FProjectsZonesOperationsInstance:=CreateProjectsZonesOperationsResource;
  1640. Result:=FProjectsZonesOperationsInstance;
  1641. end;
  1642. Function TContainerAPI.CreateProjectsZonesOperationsResource : TProjectsZonesOperationsResource;
  1643. begin
  1644. Result:=CreateProjectsZonesOperationsResource(Self);
  1645. end;
  1646. Function TContainerAPI.CreateProjectsZonesOperationsResource(AOwner : TComponent) : TProjectsZonesOperationsResource;
  1647. begin
  1648. Result:=TProjectsZonesOperationsResource.Create(AOwner);
  1649. Result.API:=Self.API;
  1650. end;
  1651. Function TContainerAPI.GetProjectsZonesInstance : TProjectsZonesResource;
  1652. begin
  1653. if (FProjectsZonesInstance=Nil) then
  1654. FProjectsZonesInstance:=CreateProjectsZonesResource;
  1655. Result:=FProjectsZonesInstance;
  1656. end;
  1657. Function TContainerAPI.CreateProjectsZonesResource : TProjectsZonesResource;
  1658. begin
  1659. Result:=CreateProjectsZonesResource(Self);
  1660. end;
  1661. Function TContainerAPI.CreateProjectsZonesResource(AOwner : TComponent) : TProjectsZonesResource;
  1662. begin
  1663. Result:=TProjectsZonesResource.Create(AOwner);
  1664. Result.API:=Self.API;
  1665. end;
  1666. Function TContainerAPI.GetProjectsInstance : TProjectsResource;
  1667. begin
  1668. if (FProjectsInstance=Nil) then
  1669. FProjectsInstance:=CreateProjectsResource;
  1670. Result:=FProjectsInstance;
  1671. end;
  1672. Function TContainerAPI.CreateProjectsResource : TProjectsResource;
  1673. begin
  1674. Result:=CreateProjectsResource(Self);
  1675. end;
  1676. Function TContainerAPI.CreateProjectsResource(AOwner : TComponent) : TProjectsResource;
  1677. begin
  1678. Result:=TProjectsResource.Create(AOwner);
  1679. Result.API:=Self.API;
  1680. end;
  1681. initialization
  1682. TContainerAPI.RegisterAPI;
  1683. end.