googlecloudbuild.pp 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492
  1. unit googlecloudbuild;
  2. {$MODE objfpc}
  3. {$H+}
  4. interface
  5. uses sysutils, classes, googleservice, restbase, googlebase;
  6. type
  7. //Top-level schema types
  8. TStatus = Class;
  9. TBuildOperationMetadata = Class;
  10. TSource = Class;
  11. TOperation = Class;
  12. TBuiltImage = Class;
  13. TStorageSource = Class;
  14. TResults = Class;
  15. TBuild = Class;
  16. TCancelBuildRequest = Class;
  17. TListOperationsResponse = Class;
  18. TBuildStep = Class;
  19. TListBuildsResponse = Class;
  20. TStatusArray = Array of TStatus;
  21. TBuildOperationMetadataArray = Array of TBuildOperationMetadata;
  22. TSourceArray = Array of TSource;
  23. TOperationArray = Array of TOperation;
  24. TBuiltImageArray = Array of TBuiltImage;
  25. TStorageSourceArray = Array of TStorageSource;
  26. TResultsArray = Array of TResults;
  27. TBuildArray = Array of TBuild;
  28. TCancelBuildRequestArray = Array of TCancelBuildRequest;
  29. TListOperationsResponseArray = Array of TListOperationsResponse;
  30. TBuildStepArray = Array of TBuildStep;
  31. TListBuildsResponseArray = Array of TListBuildsResponse;
  32. //Anonymous types, using auto-generated names
  33. TStatusTypedetailsItem = Class;
  34. TOperationTypemetadata = Class;
  35. TOperationTyperesponse = Class;
  36. TStatusTypedetailsArray = Array of TStatusTypedetailsItem;
  37. TResultsTypeimagesArray = Array of TBuiltImage;
  38. TBuildTypestepsArray = Array of TBuildStep;
  39. TListOperationsResponseTypeoperationsArray = Array of TOperation;
  40. TListBuildsResponseTypebuildsArray = Array of TBuild;
  41. { --------------------------------------------------------------------
  42. TStatusTypedetailsItem
  43. --------------------------------------------------------------------}
  44. TStatusTypedetailsItem = Class(TGoogleBaseObject)
  45. Private
  46. Protected
  47. //Property setters
  48. Public
  49. Class Function AllowAdditionalProperties : Boolean; override;
  50. Published
  51. end;
  52. TStatusTypedetailsItemClass = Class of TStatusTypedetailsItem;
  53. { --------------------------------------------------------------------
  54. TStatus
  55. --------------------------------------------------------------------}
  56. TStatus = Class(TGoogleBaseObject)
  57. Private
  58. Fcode : integer;
  59. Fdetails : TStatusTypedetailsArray;
  60. Fmessage : String;
  61. Protected
  62. //Property setters
  63. Procedure Setcode(AIndex : Integer; const AValue : integer); virtual;
  64. Procedure Setdetails(AIndex : Integer; const AValue : TStatusTypedetailsArray); virtual;
  65. Procedure Setmessage(AIndex : Integer; const AValue : String); virtual;
  66. //2.6.4. bug workaround
  67. {$IFDEF VER2_6}
  68. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  69. {$ENDIF VER2_6}
  70. Public
  71. Published
  72. Property code : integer Index 0 Read Fcode Write Setcode;
  73. Property details : TStatusTypedetailsArray Index 8 Read Fdetails Write Setdetails;
  74. Property message : String Index 16 Read Fmessage Write Setmessage;
  75. end;
  76. TStatusClass = Class of TStatus;
  77. { --------------------------------------------------------------------
  78. TBuildOperationMetadata
  79. --------------------------------------------------------------------}
  80. TBuildOperationMetadata = Class(TGoogleBaseObject)
  81. Private
  82. Fbuild : TBuild;
  83. Protected
  84. //Property setters
  85. Procedure Setbuild(AIndex : Integer; const AValue : TBuild); virtual;
  86. Public
  87. Published
  88. Property build : TBuild Index 0 Read Fbuild Write Setbuild;
  89. end;
  90. TBuildOperationMetadataClass = Class of TBuildOperationMetadata;
  91. { --------------------------------------------------------------------
  92. TSource
  93. --------------------------------------------------------------------}
  94. TSource = Class(TGoogleBaseObject)
  95. Private
  96. FstorageSource : TStorageSource;
  97. Protected
  98. //Property setters
  99. Procedure SetstorageSource(AIndex : Integer; const AValue : TStorageSource); virtual;
  100. Public
  101. Published
  102. Property storageSource : TStorageSource Index 0 Read FstorageSource Write SetstorageSource;
  103. end;
  104. TSourceClass = Class of TSource;
  105. { --------------------------------------------------------------------
  106. TOperationTypemetadata
  107. --------------------------------------------------------------------}
  108. TOperationTypemetadata = Class(TGoogleBaseObject)
  109. Private
  110. Protected
  111. //Property setters
  112. Public
  113. Class Function AllowAdditionalProperties : Boolean; override;
  114. Published
  115. end;
  116. TOperationTypemetadataClass = Class of TOperationTypemetadata;
  117. { --------------------------------------------------------------------
  118. TOperationTyperesponse
  119. --------------------------------------------------------------------}
  120. TOperationTyperesponse = Class(TGoogleBaseObject)
  121. Private
  122. Protected
  123. //Property setters
  124. Public
  125. Class Function AllowAdditionalProperties : Boolean; override;
  126. Published
  127. end;
  128. TOperationTyperesponseClass = Class of TOperationTyperesponse;
  129. { --------------------------------------------------------------------
  130. TOperation
  131. --------------------------------------------------------------------}
  132. TOperation = Class(TGoogleBaseObject)
  133. Private
  134. Ferror : TStatus;
  135. Fdone : boolean;
  136. Fmetadata : TOperationTypemetadata;
  137. Fresponse : TOperationTyperesponse;
  138. Fname : String;
  139. Protected
  140. //Property setters
  141. Procedure Seterror(AIndex : Integer; const AValue : TStatus); virtual;
  142. Procedure Setdone(AIndex : Integer; const AValue : boolean); virtual;
  143. Procedure Setmetadata(AIndex : Integer; const AValue : TOperationTypemetadata); virtual;
  144. Procedure Setresponse(AIndex : Integer; const AValue : TOperationTyperesponse); virtual;
  145. Procedure Setname(AIndex : Integer; const AValue : String); virtual;
  146. Public
  147. Published
  148. Property error : TStatus Index 0 Read Ferror Write Seterror;
  149. Property done : boolean Index 8 Read Fdone Write Setdone;
  150. Property metadata : TOperationTypemetadata Index 16 Read Fmetadata Write Setmetadata;
  151. Property response : TOperationTyperesponse Index 24 Read Fresponse Write Setresponse;
  152. Property name : String Index 32 Read Fname Write Setname;
  153. end;
  154. TOperationClass = Class of TOperation;
  155. { --------------------------------------------------------------------
  156. TBuiltImage
  157. --------------------------------------------------------------------}
  158. TBuiltImage = Class(TGoogleBaseObject)
  159. Private
  160. Fdigest : String;
  161. Fname : String;
  162. Protected
  163. //Property setters
  164. Procedure Setdigest(AIndex : Integer; const AValue : String); virtual;
  165. Procedure Setname(AIndex : Integer; const AValue : String); virtual;
  166. Public
  167. Published
  168. Property digest : String Index 0 Read Fdigest Write Setdigest;
  169. Property name : String Index 8 Read Fname Write Setname;
  170. end;
  171. TBuiltImageClass = Class of TBuiltImage;
  172. { --------------------------------------------------------------------
  173. TStorageSource
  174. --------------------------------------------------------------------}
  175. TStorageSource = Class(TGoogleBaseObject)
  176. Private
  177. Fbucket : String;
  178. Fgeneration : String;
  179. F_object : String;
  180. Protected
  181. Class Function ExportPropertyName(Const AName : String) : string; override;
  182. //Property setters
  183. Procedure Setbucket(AIndex : Integer; const AValue : String); virtual;
  184. Procedure Setgeneration(AIndex : Integer; const AValue : String); virtual;
  185. Procedure Set_object(AIndex : Integer; const AValue : String); virtual;
  186. Public
  187. Published
  188. Property bucket : String Index 0 Read Fbucket Write Setbucket;
  189. Property generation : String Index 8 Read Fgeneration Write Setgeneration;
  190. Property _object : String Index 16 Read F_object Write Set_object;
  191. end;
  192. TStorageSourceClass = Class of TStorageSource;
  193. { --------------------------------------------------------------------
  194. TResults
  195. --------------------------------------------------------------------}
  196. TResults = Class(TGoogleBaseObject)
  197. Private
  198. Fimages : TResultsTypeimagesArray;
  199. Protected
  200. //Property setters
  201. Procedure Setimages(AIndex : Integer; const AValue : TResultsTypeimagesArray); virtual;
  202. //2.6.4. bug workaround
  203. {$IFDEF VER2_6}
  204. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  205. {$ENDIF VER2_6}
  206. Public
  207. Published
  208. Property images : TResultsTypeimagesArray Index 0 Read Fimages Write Setimages;
  209. end;
  210. TResultsClass = Class of TResults;
  211. { --------------------------------------------------------------------
  212. TBuild
  213. --------------------------------------------------------------------}
  214. TBuild = Class(TGoogleBaseObject)
  215. Private
  216. Fid : String;
  217. Fresults : TResults;
  218. Fstatus : String;
  219. FfinishTime : String;
  220. Ftimeout : String;
  221. Fsteps : TBuildTypestepsArray;
  222. Fsource : TSource;
  223. FcreateTime : String;
  224. FstatusDetail : String;
  225. Fimages : TStringArray;
  226. FstartTime : String;
  227. FlogsBucket : String;
  228. FprojectId : String;
  229. Protected
  230. //Property setters
  231. Procedure Setid(AIndex : Integer; const AValue : String); virtual;
  232. Procedure Setresults(AIndex : Integer; const AValue : TResults); virtual;
  233. Procedure Setstatus(AIndex : Integer; const AValue : String); virtual;
  234. Procedure SetfinishTime(AIndex : Integer; const AValue : String); virtual;
  235. Procedure Settimeout(AIndex : Integer; const AValue : String); virtual;
  236. Procedure Setsteps(AIndex : Integer; const AValue : TBuildTypestepsArray); virtual;
  237. Procedure Setsource(AIndex : Integer; const AValue : TSource); virtual;
  238. Procedure SetcreateTime(AIndex : Integer; const AValue : String); virtual;
  239. Procedure SetstatusDetail(AIndex : Integer; const AValue : String); virtual;
  240. Procedure Setimages(AIndex : Integer; const AValue : TStringArray); virtual;
  241. Procedure SetstartTime(AIndex : Integer; const AValue : String); virtual;
  242. Procedure SetlogsBucket(AIndex : Integer; const AValue : String); virtual;
  243. Procedure SetprojectId(AIndex : Integer; const AValue : String); virtual;
  244. //2.6.4. bug workaround
  245. {$IFDEF VER2_6}
  246. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  247. {$ENDIF VER2_6}
  248. Public
  249. Published
  250. Property id : String Index 0 Read Fid Write Setid;
  251. Property results : TResults Index 8 Read Fresults Write Setresults;
  252. Property status : String Index 16 Read Fstatus Write Setstatus;
  253. Property finishTime : String Index 24 Read FfinishTime Write SetfinishTime;
  254. Property timeout : String Index 32 Read Ftimeout Write Settimeout;
  255. Property steps : TBuildTypestepsArray Index 40 Read Fsteps Write Setsteps;
  256. Property source : TSource Index 48 Read Fsource Write Setsource;
  257. Property createTime : String Index 56 Read FcreateTime Write SetcreateTime;
  258. Property statusDetail : String Index 64 Read FstatusDetail Write SetstatusDetail;
  259. Property images : TStringArray Index 72 Read Fimages Write Setimages;
  260. Property startTime : String Index 80 Read FstartTime Write SetstartTime;
  261. Property logsBucket : String Index 88 Read FlogsBucket Write SetlogsBucket;
  262. Property projectId : String Index 96 Read FprojectId Write SetprojectId;
  263. end;
  264. TBuildClass = Class of TBuild;
  265. { --------------------------------------------------------------------
  266. TCancelBuildRequest
  267. --------------------------------------------------------------------}
  268. TCancelBuildRequest = Class(TGoogleBaseObject)
  269. Private
  270. Protected
  271. //Property setters
  272. Public
  273. Published
  274. end;
  275. TCancelBuildRequestClass = Class of TCancelBuildRequest;
  276. { --------------------------------------------------------------------
  277. TListOperationsResponse
  278. --------------------------------------------------------------------}
  279. TListOperationsResponse = Class(TGoogleBaseObject)
  280. Private
  281. FnextPageToken : String;
  282. Foperations : TListOperationsResponseTypeoperationsArray;
  283. Protected
  284. //Property setters
  285. Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual;
  286. Procedure Setoperations(AIndex : Integer; const AValue : TListOperationsResponseTypeoperationsArray); virtual;
  287. //2.6.4. bug workaround
  288. {$IFDEF VER2_6}
  289. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  290. {$ENDIF VER2_6}
  291. Public
  292. Published
  293. Property nextPageToken : String Index 0 Read FnextPageToken Write SetnextPageToken;
  294. Property operations : TListOperationsResponseTypeoperationsArray Index 8 Read Foperations Write Setoperations;
  295. end;
  296. TListOperationsResponseClass = Class of TListOperationsResponse;
  297. { --------------------------------------------------------------------
  298. TBuildStep
  299. --------------------------------------------------------------------}
  300. TBuildStep = Class(TGoogleBaseObject)
  301. Private
  302. Fargs : TStringArray;
  303. Fdir : String;
  304. Fname : String;
  305. Fenv : TStringArray;
  306. Protected
  307. //Property setters
  308. Procedure Setargs(AIndex : Integer; const AValue : TStringArray); virtual;
  309. Procedure Setdir(AIndex : Integer; const AValue : String); virtual;
  310. Procedure Setname(AIndex : Integer; const AValue : String); virtual;
  311. Procedure Setenv(AIndex : Integer; const AValue : TStringArray); virtual;
  312. //2.6.4. bug workaround
  313. {$IFDEF VER2_6}
  314. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  315. {$ENDIF VER2_6}
  316. Public
  317. Published
  318. Property args : TStringArray Index 0 Read Fargs Write Setargs;
  319. Property dir : String Index 8 Read Fdir Write Setdir;
  320. Property name : String Index 16 Read Fname Write Setname;
  321. Property env : TStringArray Index 24 Read Fenv Write Setenv;
  322. end;
  323. TBuildStepClass = Class of TBuildStep;
  324. { --------------------------------------------------------------------
  325. TListBuildsResponse
  326. --------------------------------------------------------------------}
  327. TListBuildsResponse = Class(TGoogleBaseObject)
  328. Private
  329. FnextPageToken : String;
  330. Fbuilds : TListBuildsResponseTypebuildsArray;
  331. Protected
  332. //Property setters
  333. Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual;
  334. Procedure Setbuilds(AIndex : Integer; const AValue : TListBuildsResponseTypebuildsArray); virtual;
  335. //2.6.4. bug workaround
  336. {$IFDEF VER2_6}
  337. Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
  338. {$ENDIF VER2_6}
  339. Public
  340. Published
  341. Property nextPageToken : String Index 0 Read FnextPageToken Write SetnextPageToken;
  342. Property builds : TListBuildsResponseTypebuildsArray Index 8 Read Fbuilds Write Setbuilds;
  343. end;
  344. TListBuildsResponseClass = Class of TListBuildsResponse;
  345. { --------------------------------------------------------------------
  346. TProjectsBuildsResource
  347. --------------------------------------------------------------------}
  348. //Optional query Options for TProjectsBuildsResource, method List
  349. TProjectsBuildsListOptions = Record
  350. pageSize : integer;
  351. pageToken : String;
  352. end;
  353. TProjectsBuildsResource = Class(TGoogleResource)
  354. Public
  355. Class Function ResourceName : String; override;
  356. Class Function DefaultAPI : TGoogleAPIClass; override;
  357. Function Create(projectId: string; aBuild : TBuild) : TOperation;overload;
  358. Function Get(projectId: string; id: string) : TBuild;
  359. Function List(projectId: string; AQuery : string = '') : TListBuildsResponse;
  360. Function List(projectId: string; AQuery : TProjectsBuildslistOptions) : TListBuildsResponse;
  361. Function Cancel(projectId: string; id: string; aCancelBuildRequest : TCancelBuildRequest) : TBuild;
  362. end;
  363. { --------------------------------------------------------------------
  364. TProjectsResource
  365. --------------------------------------------------------------------}
  366. TProjectsResource = Class(TGoogleResource)
  367. Private
  368. FBuildsInstance : TProjectsBuildsResource;
  369. Function GetBuildsInstance : TProjectsBuildsResource;virtual;
  370. Public
  371. Class Function ResourceName : String; override;
  372. Class Function DefaultAPI : TGoogleAPIClass; override;
  373. Function CreateBuildsResource(AOwner : TComponent) : TProjectsBuildsResource;virtual;overload;
  374. Function CreateBuildsResource : TProjectsBuildsResource;virtual;overload;
  375. Property BuildsResource : TProjectsBuildsResource Read GetBuildsInstance;
  376. end;
  377. { --------------------------------------------------------------------
  378. TOperationsResource
  379. --------------------------------------------------------------------}
  380. //Optional query Options for TOperationsResource, method List
  381. TOperationsListOptions = Record
  382. pageSize : integer;
  383. filter : String;
  384. pageToken : String;
  385. end;
  386. TOperationsResource = Class(TGoogleResource)
  387. Public
  388. Class Function ResourceName : String; override;
  389. Class Function DefaultAPI : TGoogleAPIClass; override;
  390. Function Get(_name: string) : TOperation;
  391. Function List(_name: string; AQuery : string = '') : TListOperationsResponse;
  392. Function List(_name: string; AQuery : TOperationslistOptions) : TListOperationsResponse;
  393. end;
  394. { --------------------------------------------------------------------
  395. TCloudbuildAPI
  396. --------------------------------------------------------------------}
  397. TCloudbuildAPI = Class(TGoogleAPI)
  398. Private
  399. FProjectsBuildsInstance : TProjectsBuildsResource;
  400. FProjectsInstance : TProjectsResource;
  401. FOperationsInstance : TOperationsResource;
  402. Function GetProjectsBuildsInstance : TProjectsBuildsResource;virtual;
  403. Function GetProjectsInstance : TProjectsResource;virtual;
  404. Function GetOperationsInstance : TOperationsResource;virtual;
  405. Public
  406. //Override class functions with API info
  407. Class Function APIName : String; override;
  408. Class Function APIVersion : String; override;
  409. Class Function APIRevision : String; override;
  410. Class Function APIID : String; override;
  411. Class Function APITitle : String; override;
  412. Class Function APIDescription : String; override;
  413. Class Function APIOwnerDomain : String; override;
  414. Class Function APIOwnerName : String; override;
  415. Class Function APIIcon16 : String; override;
  416. Class Function APIIcon32 : String; override;
  417. Class Function APIdocumentationLink : String; override;
  418. Class Function APIrootUrl : string; override;
  419. Class Function APIbasePath : string;override;
  420. Class Function APIbaseURL : String;override;
  421. Class Function APIProtocol : string;override;
  422. Class Function APIservicePath : string;override;
  423. Class Function APIbatchPath : String;override;
  424. Class Function APIAuthScopes : TScopeInfoArray;override;
  425. Class Function APINeedsAuth : Boolean;override;
  426. Class Procedure RegisterAPIResources; override;
  427. //Add create function for resources
  428. Function CreateProjectsBuildsResource(AOwner : TComponent) : TProjectsBuildsResource;virtual;overload;
  429. Function CreateProjectsBuildsResource : TProjectsBuildsResource;virtual;overload;
  430. Function CreateProjectsResource(AOwner : TComponent) : TProjectsResource;virtual;overload;
  431. Function CreateProjectsResource : TProjectsResource;virtual;overload;
  432. Function CreateOperationsResource(AOwner : TComponent) : TOperationsResource;virtual;overload;
  433. Function CreateOperationsResource : TOperationsResource;virtual;overload;
  434. //Add default on-demand instances for resources
  435. Property ProjectsBuildsResource : TProjectsBuildsResource Read GetProjectsBuildsInstance;
  436. Property ProjectsResource : TProjectsResource Read GetProjectsInstance;
  437. Property OperationsResource : TOperationsResource Read GetOperationsInstance;
  438. end;
  439. implementation
  440. { --------------------------------------------------------------------
  441. TStatusTypedetailsItem
  442. --------------------------------------------------------------------}
  443. Class Function TStatusTypedetailsItem.AllowAdditionalProperties : Boolean;
  444. begin
  445. Result:=True;
  446. end;
  447. { --------------------------------------------------------------------
  448. TStatus
  449. --------------------------------------------------------------------}
  450. Procedure TStatus.Setcode(AIndex : Integer; const AValue : integer);
  451. begin
  452. If (Fcode=AValue) then exit;
  453. Fcode:=AValue;
  454. MarkPropertyChanged(AIndex);
  455. end;
  456. Procedure TStatus.Setdetails(AIndex : Integer; const AValue : TStatusTypedetailsArray);
  457. begin
  458. If (Fdetails=AValue) then exit;
  459. Fdetails:=AValue;
  460. MarkPropertyChanged(AIndex);
  461. end;
  462. Procedure TStatus.Setmessage(AIndex : Integer; const AValue : String);
  463. begin
  464. If (Fmessage=AValue) then exit;
  465. Fmessage:=AValue;
  466. MarkPropertyChanged(AIndex);
  467. end;
  468. //2.6.4. bug workaround
  469. {$IFDEF VER2_6}
  470. Procedure TStatus.SetArrayLength(Const AName : String; ALength : Longint);
  471. begin
  472. Case AName of
  473. 'details' : SetLength(Fdetails,ALength);
  474. else
  475. Inherited SetArrayLength(AName,ALength);
  476. end;
  477. end;
  478. {$ENDIF VER2_6}
  479. { --------------------------------------------------------------------
  480. TBuildOperationMetadata
  481. --------------------------------------------------------------------}
  482. Procedure TBuildOperationMetadata.Setbuild(AIndex : Integer; const AValue : TBuild);
  483. begin
  484. If (Fbuild=AValue) then exit;
  485. Fbuild:=AValue;
  486. MarkPropertyChanged(AIndex);
  487. end;
  488. { --------------------------------------------------------------------
  489. TSource
  490. --------------------------------------------------------------------}
  491. Procedure TSource.SetstorageSource(AIndex : Integer; const AValue : TStorageSource);
  492. begin
  493. If (FstorageSource=AValue) then exit;
  494. FstorageSource:=AValue;
  495. MarkPropertyChanged(AIndex);
  496. end;
  497. { --------------------------------------------------------------------
  498. TOperationTypemetadata
  499. --------------------------------------------------------------------}
  500. Class Function TOperationTypemetadata.AllowAdditionalProperties : Boolean;
  501. begin
  502. Result:=True;
  503. end;
  504. { --------------------------------------------------------------------
  505. TOperationTyperesponse
  506. --------------------------------------------------------------------}
  507. Class Function TOperationTyperesponse.AllowAdditionalProperties : Boolean;
  508. begin
  509. Result:=True;
  510. end;
  511. { --------------------------------------------------------------------
  512. TOperation
  513. --------------------------------------------------------------------}
  514. Procedure TOperation.Seterror(AIndex : Integer; const AValue : TStatus);
  515. begin
  516. If (Ferror=AValue) then exit;
  517. Ferror:=AValue;
  518. MarkPropertyChanged(AIndex);
  519. end;
  520. Procedure TOperation.Setdone(AIndex : Integer; const AValue : boolean);
  521. begin
  522. If (Fdone=AValue) then exit;
  523. Fdone:=AValue;
  524. MarkPropertyChanged(AIndex);
  525. end;
  526. Procedure TOperation.Setmetadata(AIndex : Integer; const AValue : TOperationTypemetadata);
  527. begin
  528. If (Fmetadata=AValue) then exit;
  529. Fmetadata:=AValue;
  530. MarkPropertyChanged(AIndex);
  531. end;
  532. Procedure TOperation.Setresponse(AIndex : Integer; const AValue : TOperationTyperesponse);
  533. begin
  534. If (Fresponse=AValue) then exit;
  535. Fresponse:=AValue;
  536. MarkPropertyChanged(AIndex);
  537. end;
  538. Procedure TOperation.Setname(AIndex : Integer; const AValue : String);
  539. begin
  540. If (Fname=AValue) then exit;
  541. Fname:=AValue;
  542. MarkPropertyChanged(AIndex);
  543. end;
  544. { --------------------------------------------------------------------
  545. TBuiltImage
  546. --------------------------------------------------------------------}
  547. Procedure TBuiltImage.Setdigest(AIndex : Integer; const AValue : String);
  548. begin
  549. If (Fdigest=AValue) then exit;
  550. Fdigest:=AValue;
  551. MarkPropertyChanged(AIndex);
  552. end;
  553. Procedure TBuiltImage.Setname(AIndex : Integer; const AValue : String);
  554. begin
  555. If (Fname=AValue) then exit;
  556. Fname:=AValue;
  557. MarkPropertyChanged(AIndex);
  558. end;
  559. { --------------------------------------------------------------------
  560. TStorageSource
  561. --------------------------------------------------------------------}
  562. Procedure TStorageSource.Setbucket(AIndex : Integer; const AValue : String);
  563. begin
  564. If (Fbucket=AValue) then exit;
  565. Fbucket:=AValue;
  566. MarkPropertyChanged(AIndex);
  567. end;
  568. Procedure TStorageSource.Setgeneration(AIndex : Integer; const AValue : String);
  569. begin
  570. If (Fgeneration=AValue) then exit;
  571. Fgeneration:=AValue;
  572. MarkPropertyChanged(AIndex);
  573. end;
  574. Procedure TStorageSource.Set_object(AIndex : Integer; const AValue : String);
  575. begin
  576. If (F_object=AValue) then exit;
  577. F_object:=AValue;
  578. MarkPropertyChanged(AIndex);
  579. end;
  580. Class Function TStorageSource.ExportPropertyName(Const AName : String) :String;
  581. begin
  582. Case AName of
  583. '_object' : Result:='object';
  584. else
  585. Result:=Inherited ExportPropertyName(AName);
  586. end;
  587. end;
  588. { --------------------------------------------------------------------
  589. TResults
  590. --------------------------------------------------------------------}
  591. Procedure TResults.Setimages(AIndex : Integer; const AValue : TResultsTypeimagesArray);
  592. begin
  593. If (Fimages=AValue) then exit;
  594. Fimages:=AValue;
  595. MarkPropertyChanged(AIndex);
  596. end;
  597. //2.6.4. bug workaround
  598. {$IFDEF VER2_6}
  599. Procedure TResults.SetArrayLength(Const AName : String; ALength : Longint);
  600. begin
  601. Case AName of
  602. 'images' : SetLength(Fimages,ALength);
  603. else
  604. Inherited SetArrayLength(AName,ALength);
  605. end;
  606. end;
  607. {$ENDIF VER2_6}
  608. { --------------------------------------------------------------------
  609. TBuild
  610. --------------------------------------------------------------------}
  611. Procedure TBuild.Setid(AIndex : Integer; const AValue : String);
  612. begin
  613. If (Fid=AValue) then exit;
  614. Fid:=AValue;
  615. MarkPropertyChanged(AIndex);
  616. end;
  617. Procedure TBuild.Setresults(AIndex : Integer; const AValue : TResults);
  618. begin
  619. If (Fresults=AValue) then exit;
  620. Fresults:=AValue;
  621. MarkPropertyChanged(AIndex);
  622. end;
  623. Procedure TBuild.Setstatus(AIndex : Integer; const AValue : String);
  624. begin
  625. If (Fstatus=AValue) then exit;
  626. Fstatus:=AValue;
  627. MarkPropertyChanged(AIndex);
  628. end;
  629. Procedure TBuild.SetfinishTime(AIndex : Integer; const AValue : String);
  630. begin
  631. If (FfinishTime=AValue) then exit;
  632. FfinishTime:=AValue;
  633. MarkPropertyChanged(AIndex);
  634. end;
  635. Procedure TBuild.Settimeout(AIndex : Integer; const AValue : String);
  636. begin
  637. If (Ftimeout=AValue) then exit;
  638. Ftimeout:=AValue;
  639. MarkPropertyChanged(AIndex);
  640. end;
  641. Procedure TBuild.Setsteps(AIndex : Integer; const AValue : TBuildTypestepsArray);
  642. begin
  643. If (Fsteps=AValue) then exit;
  644. Fsteps:=AValue;
  645. MarkPropertyChanged(AIndex);
  646. end;
  647. Procedure TBuild.Setsource(AIndex : Integer; const AValue : TSource);
  648. begin
  649. If (Fsource=AValue) then exit;
  650. Fsource:=AValue;
  651. MarkPropertyChanged(AIndex);
  652. end;
  653. Procedure TBuild.SetcreateTime(AIndex : Integer; const AValue : String);
  654. begin
  655. If (FcreateTime=AValue) then exit;
  656. FcreateTime:=AValue;
  657. MarkPropertyChanged(AIndex);
  658. end;
  659. Procedure TBuild.SetstatusDetail(AIndex : Integer; const AValue : String);
  660. begin
  661. If (FstatusDetail=AValue) then exit;
  662. FstatusDetail:=AValue;
  663. MarkPropertyChanged(AIndex);
  664. end;
  665. Procedure TBuild.Setimages(AIndex : Integer; const AValue : TStringArray);
  666. begin
  667. If (Fimages=AValue) then exit;
  668. Fimages:=AValue;
  669. MarkPropertyChanged(AIndex);
  670. end;
  671. Procedure TBuild.SetstartTime(AIndex : Integer; const AValue : String);
  672. begin
  673. If (FstartTime=AValue) then exit;
  674. FstartTime:=AValue;
  675. MarkPropertyChanged(AIndex);
  676. end;
  677. Procedure TBuild.SetlogsBucket(AIndex : Integer; const AValue : String);
  678. begin
  679. If (FlogsBucket=AValue) then exit;
  680. FlogsBucket:=AValue;
  681. MarkPropertyChanged(AIndex);
  682. end;
  683. Procedure TBuild.SetprojectId(AIndex : Integer; const AValue : String);
  684. begin
  685. If (FprojectId=AValue) then exit;
  686. FprojectId:=AValue;
  687. MarkPropertyChanged(AIndex);
  688. end;
  689. //2.6.4. bug workaround
  690. {$IFDEF VER2_6}
  691. Procedure TBuild.SetArrayLength(Const AName : String; ALength : Longint);
  692. begin
  693. Case AName of
  694. 'steps' : SetLength(Fsteps,ALength);
  695. 'images' : SetLength(Fimages,ALength);
  696. else
  697. Inherited SetArrayLength(AName,ALength);
  698. end;
  699. end;
  700. {$ENDIF VER2_6}
  701. { --------------------------------------------------------------------
  702. TCancelBuildRequest
  703. --------------------------------------------------------------------}
  704. { --------------------------------------------------------------------
  705. TListOperationsResponse
  706. --------------------------------------------------------------------}
  707. Procedure TListOperationsResponse.SetnextPageToken(AIndex : Integer; const AValue : String);
  708. begin
  709. If (FnextPageToken=AValue) then exit;
  710. FnextPageToken:=AValue;
  711. MarkPropertyChanged(AIndex);
  712. end;
  713. Procedure TListOperationsResponse.Setoperations(AIndex : Integer; const AValue : TListOperationsResponseTypeoperationsArray);
  714. begin
  715. If (Foperations=AValue) then exit;
  716. Foperations:=AValue;
  717. MarkPropertyChanged(AIndex);
  718. end;
  719. //2.6.4. bug workaround
  720. {$IFDEF VER2_6}
  721. Procedure TListOperationsResponse.SetArrayLength(Const AName : String; ALength : Longint);
  722. begin
  723. Case AName of
  724. 'operations' : SetLength(Foperations,ALength);
  725. else
  726. Inherited SetArrayLength(AName,ALength);
  727. end;
  728. end;
  729. {$ENDIF VER2_6}
  730. { --------------------------------------------------------------------
  731. TBuildStep
  732. --------------------------------------------------------------------}
  733. Procedure TBuildStep.Setargs(AIndex : Integer; const AValue : TStringArray);
  734. begin
  735. If (Fargs=AValue) then exit;
  736. Fargs:=AValue;
  737. MarkPropertyChanged(AIndex);
  738. end;
  739. Procedure TBuildStep.Setdir(AIndex : Integer; const AValue : String);
  740. begin
  741. If (Fdir=AValue) then exit;
  742. Fdir:=AValue;
  743. MarkPropertyChanged(AIndex);
  744. end;
  745. Procedure TBuildStep.Setname(AIndex : Integer; const AValue : String);
  746. begin
  747. If (Fname=AValue) then exit;
  748. Fname:=AValue;
  749. MarkPropertyChanged(AIndex);
  750. end;
  751. Procedure TBuildStep.Setenv(AIndex : Integer; const AValue : TStringArray);
  752. begin
  753. If (Fenv=AValue) then exit;
  754. Fenv:=AValue;
  755. MarkPropertyChanged(AIndex);
  756. end;
  757. //2.6.4. bug workaround
  758. {$IFDEF VER2_6}
  759. Procedure TBuildStep.SetArrayLength(Const AName : String; ALength : Longint);
  760. begin
  761. Case AName of
  762. 'args' : SetLength(Fargs,ALength);
  763. 'env' : SetLength(Fenv,ALength);
  764. else
  765. Inherited SetArrayLength(AName,ALength);
  766. end;
  767. end;
  768. {$ENDIF VER2_6}
  769. { --------------------------------------------------------------------
  770. TListBuildsResponse
  771. --------------------------------------------------------------------}
  772. Procedure TListBuildsResponse.SetnextPageToken(AIndex : Integer; const AValue : String);
  773. begin
  774. If (FnextPageToken=AValue) then exit;
  775. FnextPageToken:=AValue;
  776. MarkPropertyChanged(AIndex);
  777. end;
  778. Procedure TListBuildsResponse.Setbuilds(AIndex : Integer; const AValue : TListBuildsResponseTypebuildsArray);
  779. begin
  780. If (Fbuilds=AValue) then exit;
  781. Fbuilds:=AValue;
  782. MarkPropertyChanged(AIndex);
  783. end;
  784. //2.6.4. bug workaround
  785. {$IFDEF VER2_6}
  786. Procedure TListBuildsResponse.SetArrayLength(Const AName : String; ALength : Longint);
  787. begin
  788. Case AName of
  789. 'builds' : SetLength(Fbuilds,ALength);
  790. else
  791. Inherited SetArrayLength(AName,ALength);
  792. end;
  793. end;
  794. {$ENDIF VER2_6}
  795. { --------------------------------------------------------------------
  796. TProjectsBuildsResource
  797. --------------------------------------------------------------------}
  798. Class Function TProjectsBuildsResource.ResourceName : String;
  799. begin
  800. Result:='builds';
  801. end;
  802. Class Function TProjectsBuildsResource.DefaultAPI : TGoogleAPIClass;
  803. begin
  804. Result:=TcloudbuildAPI;
  805. end;
  806. Function TProjectsBuildsResource.Create(projectId: string; aBuild : TBuild) : TOperation;
  807. Const
  808. _HTTPMethod = 'POST';
  809. _Path = 'v1/projects/{projectId}/builds';
  810. _Methodid = 'cloudbuild.projects.builds.create';
  811. Var
  812. _P : String;
  813. begin
  814. _P:=SubstitutePath(_Path,['projectId',projectId]);
  815. Result:=ServiceCall(_HTTPMethod,_P,'',aBuild,TOperation) as TOperation;
  816. end;
  817. Function TProjectsBuildsResource.Get(projectId: string; id: string) : TBuild;
  818. Const
  819. _HTTPMethod = 'GET';
  820. _Path = 'v1/projects/{projectId}/builds/{id}';
  821. _Methodid = 'cloudbuild.projects.builds.get';
  822. Var
  823. _P : String;
  824. begin
  825. _P:=SubstitutePath(_Path,['projectId',projectId,'id',id]);
  826. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TBuild) as TBuild;
  827. end;
  828. Function TProjectsBuildsResource.List(projectId: string; AQuery : string = '') : TListBuildsResponse;
  829. Const
  830. _HTTPMethod = 'GET';
  831. _Path = 'v1/projects/{projectId}/builds';
  832. _Methodid = 'cloudbuild.projects.builds.list';
  833. Var
  834. _P : String;
  835. begin
  836. _P:=SubstitutePath(_Path,['projectId',projectId]);
  837. Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TListBuildsResponse) as TListBuildsResponse;
  838. end;
  839. Function TProjectsBuildsResource.List(projectId: string; AQuery : TProjectsBuildslistOptions) : TListBuildsResponse;
  840. Var
  841. _Q : String;
  842. begin
  843. _Q:='';
  844. AddToQuery(_Q,'pageSize',AQuery.pageSize);
  845. AddToQuery(_Q,'pageToken',AQuery.pageToken);
  846. Result:=List(projectId,_Q);
  847. end;
  848. Function TProjectsBuildsResource.Cancel(projectId: string; id: string; aCancelBuildRequest : TCancelBuildRequest) : TBuild;
  849. Const
  850. _HTTPMethod = 'POST';
  851. _Path = 'v1/projects/{projectId}/builds/{id}:cancel';
  852. _Methodid = 'cloudbuild.projects.builds.cancel';
  853. Var
  854. _P : String;
  855. begin
  856. _P:=SubstitutePath(_Path,['projectId',projectId,'id',id]);
  857. Result:=ServiceCall(_HTTPMethod,_P,'',aCancelBuildRequest,TBuild) as TBuild;
  858. end;
  859. { --------------------------------------------------------------------
  860. TProjectsResource
  861. --------------------------------------------------------------------}
  862. Class Function TProjectsResource.ResourceName : String;
  863. begin
  864. Result:='projects';
  865. end;
  866. Class Function TProjectsResource.DefaultAPI : TGoogleAPIClass;
  867. begin
  868. Result:=TcloudbuildAPI;
  869. end;
  870. Function TProjectsResource.GetBuildsInstance : TProjectsBuildsResource;
  871. begin
  872. if (FBuildsInstance=Nil) then
  873. FBuildsInstance:=CreateBuildsResource;
  874. Result:=FBuildsInstance;
  875. end;
  876. Function TProjectsResource.CreateBuildsResource : TProjectsBuildsResource;
  877. begin
  878. Result:=CreateBuildsResource(Self);
  879. end;
  880. Function TProjectsResource.CreateBuildsResource(AOwner : TComponent) : TProjectsBuildsResource;
  881. begin
  882. Result:=TProjectsBuildsResource.Create(AOwner);
  883. Result.API:=Self.API;
  884. end;
  885. { --------------------------------------------------------------------
  886. TOperationsResource
  887. --------------------------------------------------------------------}
  888. Class Function TOperationsResource.ResourceName : String;
  889. begin
  890. Result:='operations';
  891. end;
  892. Class Function TOperationsResource.DefaultAPI : TGoogleAPIClass;
  893. begin
  894. Result:=TcloudbuildAPI;
  895. end;
  896. Function TOperationsResource.Get(_name: string) : TOperation;
  897. Const
  898. _HTTPMethod = 'GET';
  899. _Path = 'v1/{+name}';
  900. _Methodid = 'cloudbuild.operations.get';
  901. Var
  902. _P : String;
  903. begin
  904. _P:=SubstitutePath(_Path,['name',_name]);
  905. Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TOperation) as TOperation;
  906. end;
  907. Function TOperationsResource.List(_name: string; AQuery : string = '') : TListOperationsResponse;
  908. Const
  909. _HTTPMethod = 'GET';
  910. _Path = 'v1/{+name}';
  911. _Methodid = 'cloudbuild.operations.list';
  912. Var
  913. _P : String;
  914. begin
  915. _P:=SubstitutePath(_Path,['name',_name]);
  916. Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TListOperationsResponse) as TListOperationsResponse;
  917. end;
  918. Function TOperationsResource.List(_name: string; AQuery : TOperationslistOptions) : TListOperationsResponse;
  919. Var
  920. _Q : String;
  921. begin
  922. _Q:='';
  923. AddToQuery(_Q,'pageSize',AQuery.pageSize);
  924. AddToQuery(_Q,'filter',AQuery.filter);
  925. AddToQuery(_Q,'pageToken',AQuery.pageToken);
  926. Result:=List(_name,_Q);
  927. end;
  928. { --------------------------------------------------------------------
  929. TCloudbuildAPI
  930. --------------------------------------------------------------------}
  931. Class Function TCloudbuildAPI.APIName : String;
  932. begin
  933. Result:='cloudbuild';
  934. end;
  935. Class Function TCloudbuildAPI.APIVersion : String;
  936. begin
  937. Result:='v1';
  938. end;
  939. Class Function TCloudbuildAPI.APIRevision : String;
  940. begin
  941. Result:='20160523';
  942. end;
  943. Class Function TCloudbuildAPI.APIID : String;
  944. begin
  945. Result:='cloudbuild:v1';
  946. end;
  947. Class Function TCloudbuildAPI.APITitle : String;
  948. begin
  949. Result:='Google Cloud Container Builder API';
  950. end;
  951. Class Function TCloudbuildAPI.APIDescription : String;
  952. begin
  953. Result:='Builds container images in the cloud.';
  954. end;
  955. Class Function TCloudbuildAPI.APIOwnerDomain : String;
  956. begin
  957. Result:='google.com';
  958. end;
  959. Class Function TCloudbuildAPI.APIOwnerName : String;
  960. begin
  961. Result:='Google';
  962. end;
  963. Class Function TCloudbuildAPI.APIIcon16 : String;
  964. begin
  965. Result:='http://www.google.com/images/icons/product/search-16.gif';
  966. end;
  967. Class Function TCloudbuildAPI.APIIcon32 : String;
  968. begin
  969. Result:='http://www.google.com/images/icons/product/search-32.gif';
  970. end;
  971. Class Function TCloudbuildAPI.APIdocumentationLink : String;
  972. begin
  973. Result:='https://cloud.google.com/container-builder/docs/';
  974. end;
  975. Class Function TCloudbuildAPI.APIrootUrl : string;
  976. begin
  977. Result:='https://cloudbuild.googleapis.com/';
  978. end;
  979. Class Function TCloudbuildAPI.APIbasePath : string;
  980. begin
  981. Result:='';
  982. end;
  983. Class Function TCloudbuildAPI.APIbaseURL : String;
  984. begin
  985. Result:='https://cloudbuild.googleapis.com/';
  986. end;
  987. Class Function TCloudbuildAPI.APIProtocol : string;
  988. begin
  989. Result:='rest';
  990. end;
  991. Class Function TCloudbuildAPI.APIservicePath : string;
  992. begin
  993. Result:='';
  994. end;
  995. Class Function TCloudbuildAPI.APIbatchPath : String;
  996. begin
  997. Result:='batch';
  998. end;
  999. Class Function TCloudbuildAPI.APIAuthScopes : TScopeInfoArray;
  1000. begin
  1001. SetLength(Result,1);
  1002. Result[0].Name:='https://www.googleapis.com/auth/cloud-platform';
  1003. Result[0].Description:='View and manage your data across Google Cloud Platform services';
  1004. end;
  1005. Class Function TCloudbuildAPI.APINeedsAuth : Boolean;
  1006. begin
  1007. Result:=True;
  1008. end;
  1009. Class Procedure TCloudbuildAPI.RegisterAPIResources;
  1010. begin
  1011. TStatusTypedetailsItem.RegisterObject;
  1012. TStatus.RegisterObject;
  1013. TBuildOperationMetadata.RegisterObject;
  1014. TSource.RegisterObject;
  1015. TOperationTypemetadata.RegisterObject;
  1016. TOperationTyperesponse.RegisterObject;
  1017. TOperation.RegisterObject;
  1018. TBuiltImage.RegisterObject;
  1019. TStorageSource.RegisterObject;
  1020. TResults.RegisterObject;
  1021. TBuild.RegisterObject;
  1022. TCancelBuildRequest.RegisterObject;
  1023. TListOperationsResponse.RegisterObject;
  1024. TBuildStep.RegisterObject;
  1025. TListBuildsResponse.RegisterObject;
  1026. end;
  1027. Function TCloudbuildAPI.GetProjectsBuildsInstance : TProjectsBuildsResource;
  1028. begin
  1029. if (FProjectsBuildsInstance=Nil) then
  1030. FProjectsBuildsInstance:=CreateProjectsBuildsResource;
  1031. Result:=FProjectsBuildsInstance;
  1032. end;
  1033. Function TCloudbuildAPI.CreateProjectsBuildsResource : TProjectsBuildsResource;
  1034. begin
  1035. Result:=CreateProjectsBuildsResource(Self);
  1036. end;
  1037. Function TCloudbuildAPI.CreateProjectsBuildsResource(AOwner : TComponent) : TProjectsBuildsResource;
  1038. begin
  1039. Result:=TProjectsBuildsResource.Create(AOwner);
  1040. Result.API:=Self.API;
  1041. end;
  1042. Function TCloudbuildAPI.GetProjectsInstance : TProjectsResource;
  1043. begin
  1044. if (FProjectsInstance=Nil) then
  1045. FProjectsInstance:=CreateProjectsResource;
  1046. Result:=FProjectsInstance;
  1047. end;
  1048. Function TCloudbuildAPI.CreateProjectsResource : TProjectsResource;
  1049. begin
  1050. Result:=CreateProjectsResource(Self);
  1051. end;
  1052. Function TCloudbuildAPI.CreateProjectsResource(AOwner : TComponent) : TProjectsResource;
  1053. begin
  1054. Result:=TProjectsResource.Create(AOwner);
  1055. Result.API:=Self.API;
  1056. end;
  1057. Function TCloudbuildAPI.GetOperationsInstance : TOperationsResource;
  1058. begin
  1059. if (FOperationsInstance=Nil) then
  1060. FOperationsInstance:=CreateOperationsResource;
  1061. Result:=FOperationsInstance;
  1062. end;
  1063. Function TCloudbuildAPI.CreateOperationsResource : TOperationsResource;
  1064. begin
  1065. Result:=CreateOperationsResource(Self);
  1066. end;
  1067. Function TCloudbuildAPI.CreateOperationsResource(AOwner : TComponent) : TOperationsResource;
  1068. begin
  1069. Result:=TOperationsResource.Create(AOwner);
  1070. Result.API:=Self.API;
  1071. end;
  1072. initialization
  1073. TCloudbuildAPI.RegisterAPI;
  1074. end.