1unit googlemanager;
2{
3   **********************************************************************
4      This file is part of the Free Component Library (FCL)
5      Copyright (c) 2015 The free pascal team.
6
7      See the file COPYING.FPC, included in this distribution,
8      for details about the copyright.
9
10      This program is distributed in the hope that it will be useful,
11      but WITHOUT ANY WARRANTY; without even the implied warranty of
12      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
14   **********************************************************************
15}
16//Generated on: 16-5-15 08:53:05
17{$MODE objfpc}
18{$H+}
19
20interface
21
22uses sysutils, classes, googleservice, restbase, googlebase;
23
24type
25
26  //Top-level schema types
27  TAccessConfig = Class;
28  TAction = Class;
29  TAllowedRule = Class;
30  TAutoscalingModule = Class;
31  TAutoscalingModuleStatus = Class;
32  TDeployState = Class;
33  TDeployment = Class;
34  TDeploymentsListResponse = Class;
35  TDiskAttachment = Class;
36  TEnvVariable = Class;
37  TExistingDisk = Class;
38  TFirewallModule = Class;
39  TFirewallModuleStatus = Class;
40  THealthCheckModule = Class;
41  THealthCheckModuleStatus = Class;
42  TLbModule = Class;
43  TLbModuleStatus = Class;
44  TMetadata = Class;
45  TMetadataItem = Class;
46  TModule = Class;
47  TModuleStatus = Class;
48  TNetworkInterface = Class;
49  TNetworkModule = Class;
50  TNetworkModuleStatus = Class;
51  TNewDisk = Class;
52  TNewDiskInitializeParams = Class;
53  TParamOverride = Class;
54  TReplicaPoolModule = Class;
55  TReplicaPoolModuleStatus = Class;
56  TReplicaPoolParams = Class;
57  TReplicaPoolParamsV1Beta1 = Class;
58  TServiceAccount = Class;
59  TTag = Class;
60  TTemplate = Class;
61  TTemplatesListResponse = Class;
62  TAccessConfigArray = Array of TAccessConfig;
63  TActionArray = Array of TAction;
64  TAllowedRuleArray = Array of TAllowedRule;
65  TAutoscalingModuleArray = Array of TAutoscalingModule;
66  TAutoscalingModuleStatusArray = Array of TAutoscalingModuleStatus;
67  TDeployStateArray = Array of TDeployState;
68  TDeploymentArray = Array of TDeployment;
69  TDeploymentsListResponseArray = Array of TDeploymentsListResponse;
70  TDiskAttachmentArray = Array of TDiskAttachment;
71  TEnvVariableArray = Array of TEnvVariable;
72  TExistingDiskArray = Array of TExistingDisk;
73  TFirewallModuleArray = Array of TFirewallModule;
74  TFirewallModuleStatusArray = Array of TFirewallModuleStatus;
75  THealthCheckModuleArray = Array of THealthCheckModule;
76  THealthCheckModuleStatusArray = Array of THealthCheckModuleStatus;
77  TLbModuleArray = Array of TLbModule;
78  TLbModuleStatusArray = Array of TLbModuleStatus;
79  TMetadataArray = Array of TMetadata;
80  TMetadataItemArray = Array of TMetadataItem;
81  TModuleArray = Array of TModule;
82  TModuleStatusArray = Array of TModuleStatus;
83  TNetworkInterfaceArray = Array of TNetworkInterface;
84  TNetworkModuleArray = Array of TNetworkModule;
85  TNetworkModuleStatusArray = Array of TNetworkModuleStatus;
86  TNewDiskArray = Array of TNewDisk;
87  TNewDiskInitializeParamsArray = Array of TNewDiskInitializeParams;
88  TParamOverrideArray = Array of TParamOverride;
89  TReplicaPoolModuleArray = Array of TReplicaPoolModule;
90  TReplicaPoolModuleStatusArray = Array of TReplicaPoolModuleStatus;
91  TReplicaPoolParamsArray = Array of TReplicaPoolParams;
92  TReplicaPoolParamsV1Beta1Array = Array of TReplicaPoolParamsV1Beta1;
93  TServiceAccountArray = Array of TServiceAccount;
94  TTagArray = Array of TTag;
95  TTemplateArray = Array of TTemplate;
96  TTemplatesListResponseArray = Array of TTemplatesListResponse;
97  //Anonymous types, using auto-generated names
98  TDeploymentTypemodules = Class;
99  TReplicaPoolModuleTypeenvVariables = Class;
100  TTemplateTypeactions = Class;
101  TTemplateTypemodules = Class;
102  TDeploymentTypeoverridesArray = Array of TParamOverride;
103  TDeploymentsListResponseTyperesourcesArray = Array of TDeployment;
104  TFirewallModuleTypeallowedArray = Array of TAllowedRule;
105  TMetadataTypeitemsArray = Array of TMetadataItem;
106  TNetworkInterfaceTypeaccessConfigsArray = Array of TAccessConfig;
107  TReplicaPoolParamsV1Beta1TypedisksToAttachArray = Array of TExistingDisk;
108  TReplicaPoolParamsV1Beta1TypedisksToCreateArray = Array of TNewDisk;
109  TReplicaPoolParamsV1Beta1TypenetworkInterfacesArray = Array of TNetworkInterface;
110  TReplicaPoolParamsV1Beta1TypeserviceAccountsArray = Array of TServiceAccount;
111  TTemplatesListResponseTyperesourcesArray = Array of TTemplate;
112
113  { --------------------------------------------------------------------
114    TAccessConfig
115    --------------------------------------------------------------------}
116
117  TAccessConfig = Class(TGoogleBaseObject)
118  Private
119    Fname : String;
120    FnatIp : String;
121    F_type : String;
122  Protected
123    Class Function ExportPropertyName(Const AName : String) : string; override;
124    //Property setters
125    Procedure Setname(AIndex : Integer; const AValue : String); virtual;
126    Procedure SetnatIp(AIndex : Integer; const AValue : String); virtual;
127    Procedure Set_type(AIndex : Integer; const AValue : String); virtual;
128  Public
129  Published
130    Property name : String Index 0 Read Fname Write Setname;
131    Property natIp : String Index 8 Read FnatIp Write SetnatIp;
132    Property _type : String Index 16 Read F_type Write Set_type;
133  end;
134  TAccessConfigClass = Class of TAccessConfig;
135
136  { --------------------------------------------------------------------
137    TAction
138    --------------------------------------------------------------------}
139
140  TAction = Class(TGoogleBaseObject)
141  Private
142    Fcommands : TStringArray;
143    FtimeoutMs : integer;
144  Protected
145    //Property setters
146    Procedure Setcommands(AIndex : Integer; AValue : TStringArray); virtual;
147    Procedure SettimeoutMs(AIndex : Integer; AValue : integer); virtual;
148    //2.6.4. bug workaround
149    {$IFDEF VER2_6}
150    Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
151    {$ENDIF VER2_6}
152  Public
153  Published
154    Property commands : TStringArray Index 0 Read Fcommands Write Setcommands;
155    Property timeoutMs : integer Index 8 Read FtimeoutMs Write SettimeoutMs;
156  end;
157  TActionClass = Class of TAction;
158
159  { --------------------------------------------------------------------
160    TAllowedRule
161    --------------------------------------------------------------------}
162
163  TAllowedRule = Class(TGoogleBaseObject)
164  Private
165    FIPProtocol : String;
166    Fports : TStringArray;
167  Protected
168    //Property setters
169    Procedure SetIPProtocol(AIndex : Integer; const AValue : String); virtual;
170    Procedure Setports(AIndex : Integer; AValue : TStringArray); virtual;
171    //2.6.4. bug workaround
172    {$IFDEF VER2_6}
173    Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
174    {$ENDIF VER2_6}
175  Public
176  Published
177    Property IPProtocol : String Index 0 Read FIPProtocol Write SetIPProtocol;
178    Property ports : TStringArray Index 8 Read Fports Write Setports;
179  end;
180  TAllowedRuleClass = Class of TAllowedRule;
181
182  { --------------------------------------------------------------------
183    TAutoscalingModule
184    --------------------------------------------------------------------}
185
186  TAutoscalingModule = Class(TGoogleBaseObject)
187  Private
188    FcoolDownPeriodSec : integer;
189    Fdescription : String;
190    FmaxNumReplicas : integer;
191    FminNumReplicas : integer;
192    FsignalType : String;
193    FtargetModule : String;
194    FtargetUtilization : double;
195  Protected
196    //Property setters
197    Procedure SetcoolDownPeriodSec(AIndex : Integer; AValue : integer); virtual;
198    Procedure Setdescription(AIndex : Integer; const AValue : String); virtual;
199    Procedure SetmaxNumReplicas(AIndex : Integer; AValue : integer); virtual;
200    Procedure SetminNumReplicas(AIndex : Integer; AValue : integer); virtual;
201    Procedure SetsignalType(AIndex : Integer; const AValue : String); virtual;
202    Procedure SettargetModule(AIndex : Integer; const AValue : String); virtual;
203    Procedure SettargetUtilization(AIndex : Integer; AValue : double); virtual;
204  Public
205  Published
206    Property coolDownPeriodSec : integer Index 0 Read FcoolDownPeriodSec Write SetcoolDownPeriodSec;
207    Property description : String Index 8 Read Fdescription Write Setdescription;
208    Property maxNumReplicas : integer Index 16 Read FmaxNumReplicas Write SetmaxNumReplicas;
209    Property minNumReplicas : integer Index 24 Read FminNumReplicas Write SetminNumReplicas;
210    Property signalType : String Index 32 Read FsignalType Write SetsignalType;
211    Property targetModule : String Index 40 Read FtargetModule Write SettargetModule;
212    Property targetUtilization : double Index 48 Read FtargetUtilization Write SettargetUtilization;
213  end;
214  TAutoscalingModuleClass = Class of TAutoscalingModule;
215
216  { --------------------------------------------------------------------
217    TAutoscalingModuleStatus
218    --------------------------------------------------------------------}
219
220  TAutoscalingModuleStatus = Class(TGoogleBaseObject)
221  Private
222    FautoscalingConfigUrl : String;
223  Protected
224    //Property setters
225    Procedure SetautoscalingConfigUrl(AIndex : Integer; const AValue : String); virtual;
226  Public
227  Published
228    Property autoscalingConfigUrl : String Index 0 Read FautoscalingConfigUrl Write SetautoscalingConfigUrl;
229  end;
230  TAutoscalingModuleStatusClass = Class of TAutoscalingModuleStatus;
231
232  { --------------------------------------------------------------------
233    TDeployState
234    --------------------------------------------------------------------}
235
236  TDeployState = Class(TGoogleBaseObject)
237  Private
238    Fdetails : String;
239    Fstatus : String;
240  Protected
241    //Property setters
242    Procedure Setdetails(AIndex : Integer; const AValue : String); virtual;
243    Procedure Setstatus(AIndex : Integer; const AValue : String); virtual;
244  Public
245  Published
246    Property details : String Index 0 Read Fdetails Write Setdetails;
247    Property status : String Index 8 Read Fstatus Write Setstatus;
248  end;
249  TDeployStateClass = Class of TDeployState;
250
251  { --------------------------------------------------------------------
252    TDeploymentTypemodules
253    --------------------------------------------------------------------}
254
255  TDeploymentTypemodules = Class(TGoogleBaseObject)
256  Private
257  Protected
258    //Property setters
259  Public
260    Class Function AllowAdditionalProperties : Boolean; override;
261  Published
262  end;
263  TDeploymentTypemodulesClass = Class of TDeploymentTypemodules;
264
265  { --------------------------------------------------------------------
266    TDeployment
267    --------------------------------------------------------------------}
268
269  TDeployment = Class(TGoogleBaseObject)
270  Private
271    FcreationDate : String;
272    Fdescription : String;
273    Fmodules : TDeploymentTypemodules;
274    Fname : String;
275    Foverrides : TDeploymentTypeoverridesArray;
276    Fstate : TDeployState;
277    FtemplateName : String;
278  Protected
279    //Property setters
280    Procedure SetcreationDate(AIndex : Integer; const AValue : String); virtual;
281    Procedure Setdescription(AIndex : Integer; const AValue : String); virtual;
282    Procedure Setmodules(AIndex : Integer; AValue : TDeploymentTypemodules); virtual;
283    Procedure Setname(AIndex : Integer; const AValue : String); virtual;
284    Procedure Setoverrides(AIndex : Integer; AValue : TDeploymentTypeoverridesArray); virtual;
285    Procedure Setstate(AIndex : Integer; AValue : TDeployState); virtual;
286    Procedure SettemplateName(AIndex : Integer; const AValue : String); 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 creationDate : String Index 0 Read FcreationDate Write SetcreationDate;
294    Property description : String Index 8 Read Fdescription Write Setdescription;
295    Property modules : TDeploymentTypemodules Index 16 Read Fmodules Write Setmodules;
296    Property name : String Index 24 Read Fname Write Setname;
297    Property overrides : TDeploymentTypeoverridesArray Index 32 Read Foverrides Write Setoverrides;
298    Property state : TDeployState Index 40 Read Fstate Write Setstate;
299    Property templateName : String Index 48 Read FtemplateName Write SettemplateName;
300  end;
301  TDeploymentClass = Class of TDeployment;
302
303  { --------------------------------------------------------------------
304    TDeploymentsListResponse
305    --------------------------------------------------------------------}
306
307  TDeploymentsListResponse = Class(TGoogleBaseObject)
308  Private
309    FnextPageToken : String;
310    Fresources : TDeploymentsListResponseTyperesourcesArray;
311  Protected
312    //Property setters
313    Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual;
314    Procedure Setresources(AIndex : Integer; AValue : TDeploymentsListResponseTyperesourcesArray); virtual;
315    //2.6.4. bug workaround
316    {$IFDEF VER2_6}
317    Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
318    {$ENDIF VER2_6}
319  Public
320  Published
321    Property nextPageToken : String Index 0 Read FnextPageToken Write SetnextPageToken;
322    Property resources : TDeploymentsListResponseTyperesourcesArray Index 8 Read Fresources Write Setresources;
323  end;
324  TDeploymentsListResponseClass = Class of TDeploymentsListResponse;
325
326  { --------------------------------------------------------------------
327    TDiskAttachment
328    --------------------------------------------------------------------}
329
330  TDiskAttachment = Class(TGoogleBaseObject)
331  Private
332    FdeviceName : String;
333    Findex : integer;
334  Protected
335    //Property setters
336    Procedure SetdeviceName(AIndex : Integer; const AValue : String); virtual;
337    Procedure Setindex(AIndex : Integer; AValue : integer); virtual;
338  Public
339  Published
340    Property deviceName : String Index 0 Read FdeviceName Write SetdeviceName;
341    Property index : integer Index 8 Read Findex Write Setindex;
342  end;
343  TDiskAttachmentClass = Class of TDiskAttachment;
344
345  { --------------------------------------------------------------------
346    TEnvVariable
347    --------------------------------------------------------------------}
348
349  TEnvVariable = Class(TGoogleBaseObject)
350  Private
351    Fhidden : boolean;
352    Fvalue : String;
353  Protected
354    //Property setters
355    Procedure Sethidden(AIndex : Integer; AValue : boolean); virtual;
356    Procedure Setvalue(AIndex : Integer; const AValue : String); virtual;
357  Public
358  Published
359    Property hidden : boolean Index 0 Read Fhidden Write Sethidden;
360    Property value : String Index 8 Read Fvalue Write Setvalue;
361  end;
362  TEnvVariableClass = Class of TEnvVariable;
363
364  { --------------------------------------------------------------------
365    TExistingDisk
366    --------------------------------------------------------------------}
367
368  TExistingDisk = Class(TGoogleBaseObject)
369  Private
370    Fattachment : TDiskAttachment;
371    Fsource : String;
372  Protected
373    //Property setters
374    Procedure Setattachment(AIndex : Integer; AValue : TDiskAttachment); virtual;
375    Procedure Setsource(AIndex : Integer; const AValue : String); virtual;
376  Public
377  Published
378    Property attachment : TDiskAttachment Index 0 Read Fattachment Write Setattachment;
379    Property source : String Index 8 Read Fsource Write Setsource;
380  end;
381  TExistingDiskClass = Class of TExistingDisk;
382
383  { --------------------------------------------------------------------
384    TFirewallModule
385    --------------------------------------------------------------------}
386
387  TFirewallModule = Class(TGoogleBaseObject)
388  Private
389    Fallowed : TFirewallModuleTypeallowedArray;
390    Fdescription : String;
391    Fnetwork : String;
392    FsourceRanges : TStringArray;
393    FsourceTags : TStringArray;
394    FtargetTags : TStringArray;
395  Protected
396    //Property setters
397    Procedure Setallowed(AIndex : Integer; AValue : TFirewallModuleTypeallowedArray); virtual;
398    Procedure Setdescription(AIndex : Integer; const AValue : String); virtual;
399    Procedure Setnetwork(AIndex : Integer; const AValue : String); virtual;
400    Procedure SetsourceRanges(AIndex : Integer; AValue : TStringArray); virtual;
401    Procedure SetsourceTags(AIndex : Integer; AValue : TStringArray); virtual;
402    Procedure SettargetTags(AIndex : Integer; AValue : TStringArray); virtual;
403    //2.6.4. bug workaround
404    {$IFDEF VER2_6}
405    Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
406    {$ENDIF VER2_6}
407  Public
408  Published
409    Property allowed : TFirewallModuleTypeallowedArray Index 0 Read Fallowed Write Setallowed;
410    Property description : String Index 8 Read Fdescription Write Setdescription;
411    Property network : String Index 16 Read Fnetwork Write Setnetwork;
412    Property sourceRanges : TStringArray Index 24 Read FsourceRanges Write SetsourceRanges;
413    Property sourceTags : TStringArray Index 32 Read FsourceTags Write SetsourceTags;
414    Property targetTags : TStringArray Index 40 Read FtargetTags Write SettargetTags;
415  end;
416  TFirewallModuleClass = Class of TFirewallModule;
417
418  { --------------------------------------------------------------------
419    TFirewallModuleStatus
420    --------------------------------------------------------------------}
421
422  TFirewallModuleStatus = Class(TGoogleBaseObject)
423  Private
424    FfirewallUrl : String;
425  Protected
426    //Property setters
427    Procedure SetfirewallUrl(AIndex : Integer; const AValue : String); virtual;
428  Public
429  Published
430    Property firewallUrl : String Index 0 Read FfirewallUrl Write SetfirewallUrl;
431  end;
432  TFirewallModuleStatusClass = Class of TFirewallModuleStatus;
433
434  { --------------------------------------------------------------------
435    THealthCheckModule
436    --------------------------------------------------------------------}
437
438  THealthCheckModule = Class(TGoogleBaseObject)
439  Private
440    FcheckIntervalSec : integer;
441    Fdescription : String;
442    FhealthyThreshold : integer;
443    Fhost : String;
444    Fpath : String;
445    Fport : integer;
446    FtimeoutSec : integer;
447    FunhealthyThreshold : integer;
448  Protected
449    //Property setters
450    Procedure SetcheckIntervalSec(AIndex : Integer; AValue : integer); virtual;
451    Procedure Setdescription(AIndex : Integer; const AValue : String); virtual;
452    Procedure SethealthyThreshold(AIndex : Integer; AValue : integer); virtual;
453    Procedure Sethost(AIndex : Integer; const AValue : String); virtual;
454    Procedure Setpath(AIndex : Integer; const AValue : String); virtual;
455    Procedure Setport(AIndex : Integer; AValue : integer); virtual;
456    Procedure SettimeoutSec(AIndex : Integer; AValue : integer); virtual;
457    Procedure SetunhealthyThreshold(AIndex : Integer; AValue : integer); virtual;
458  Public
459  Published
460    Property checkIntervalSec : integer Index 0 Read FcheckIntervalSec Write SetcheckIntervalSec;
461    Property description : String Index 8 Read Fdescription Write Setdescription;
462    Property healthyThreshold : integer Index 16 Read FhealthyThreshold Write SethealthyThreshold;
463    Property host : String Index 24 Read Fhost Write Sethost;
464    Property path : String Index 32 Read Fpath Write Setpath;
465    Property port : integer Index 40 Read Fport Write Setport;
466    Property timeoutSec : integer Index 48 Read FtimeoutSec Write SettimeoutSec;
467    Property unhealthyThreshold : integer Index 56 Read FunhealthyThreshold Write SetunhealthyThreshold;
468  end;
469  THealthCheckModuleClass = Class of THealthCheckModule;
470
471  { --------------------------------------------------------------------
472    THealthCheckModuleStatus
473    --------------------------------------------------------------------}
474
475  THealthCheckModuleStatus = Class(TGoogleBaseObject)
476  Private
477    FhealthCheckUrl : String;
478  Protected
479    //Property setters
480    Procedure SethealthCheckUrl(AIndex : Integer; const AValue : String); virtual;
481  Public
482  Published
483    Property healthCheckUrl : String Index 0 Read FhealthCheckUrl Write SethealthCheckUrl;
484  end;
485  THealthCheckModuleStatusClass = Class of THealthCheckModuleStatus;
486
487  { --------------------------------------------------------------------
488    TLbModule
489    --------------------------------------------------------------------}
490
491  TLbModule = Class(TGoogleBaseObject)
492  Private
493    Fdescription : String;
494    FhealthChecks : TStringArray;
495    FipAddress : String;
496    FipProtocol : String;
497    FportRange : String;
498    FsessionAffinity : String;
499    FtargetModules : TStringArray;
500  Protected
501    //Property setters
502    Procedure Setdescription(AIndex : Integer; const AValue : String); virtual;
503    Procedure SethealthChecks(AIndex : Integer; AValue : TStringArray); virtual;
504    Procedure SetipAddress(AIndex : Integer; const AValue : String); virtual;
505    Procedure SetipProtocol(AIndex : Integer; const AValue : String); virtual;
506    Procedure SetportRange(AIndex : Integer; const AValue : String); virtual;
507    Procedure SetsessionAffinity(AIndex : Integer; const AValue : String); virtual;
508    Procedure SettargetModules(AIndex : Integer; AValue : TStringArray); virtual;
509    //2.6.4. bug workaround
510    {$IFDEF VER2_6}
511    Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
512    {$ENDIF VER2_6}
513  Public
514  Published
515    Property description : String Index 0 Read Fdescription Write Setdescription;
516    Property healthChecks : TStringArray Index 8 Read FhealthChecks Write SethealthChecks;
517    Property ipAddress : String Index 16 Read FipAddress Write SetipAddress;
518    Property ipProtocol : String Index 24 Read FipProtocol Write SetipProtocol;
519    Property portRange : String Index 32 Read FportRange Write SetportRange;
520    Property sessionAffinity : String Index 40 Read FsessionAffinity Write SetsessionAffinity;
521    Property targetModules : TStringArray Index 48 Read FtargetModules Write SettargetModules;
522  end;
523  TLbModuleClass = Class of TLbModule;
524
525  { --------------------------------------------------------------------
526    TLbModuleStatus
527    --------------------------------------------------------------------}
528
529  TLbModuleStatus = Class(TGoogleBaseObject)
530  Private
531    FforwardingRuleUrl : String;
532    FtargetPoolUrl : String;
533  Protected
534    //Property setters
535    Procedure SetforwardingRuleUrl(AIndex : Integer; const AValue : String); virtual;
536    Procedure SettargetPoolUrl(AIndex : Integer; const AValue : String); virtual;
537  Public
538  Published
539    Property forwardingRuleUrl : String Index 0 Read FforwardingRuleUrl Write SetforwardingRuleUrl;
540    Property targetPoolUrl : String Index 8 Read FtargetPoolUrl Write SettargetPoolUrl;
541  end;
542  TLbModuleStatusClass = Class of TLbModuleStatus;
543
544  { --------------------------------------------------------------------
545    TMetadata
546    --------------------------------------------------------------------}
547
548  TMetadata = Class(TGoogleBaseObject)
549  Private
550    FfingerPrint : String;
551    Fitems : TMetadataTypeitemsArray;
552  Protected
553    //Property setters
554    Procedure SetfingerPrint(AIndex : Integer; const AValue : String); virtual;
555    Procedure Setitems(AIndex : Integer; AValue : TMetadataTypeitemsArray); virtual;
556    //2.6.4. bug workaround
557    {$IFDEF VER2_6}
558    Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
559    {$ENDIF VER2_6}
560  Public
561  Published
562    Property fingerPrint : String Index 0 Read FfingerPrint Write SetfingerPrint;
563    Property items : TMetadataTypeitemsArray Index 8 Read Fitems Write Setitems;
564  end;
565  TMetadataClass = Class of TMetadata;
566
567  { --------------------------------------------------------------------
568    TMetadataItem
569    --------------------------------------------------------------------}
570
571  TMetadataItem = Class(TGoogleBaseObject)
572  Private
573    Fkey : String;
574    Fvalue : String;
575  Protected
576    //Property setters
577    Procedure Setkey(AIndex : Integer; const AValue : String); virtual;
578    Procedure Setvalue(AIndex : Integer; const AValue : String); virtual;
579  Public
580  Published
581    Property key : String Index 0 Read Fkey Write Setkey;
582    Property value : String Index 8 Read Fvalue Write Setvalue;
583  end;
584  TMetadataItemClass = Class of TMetadataItem;
585
586  { --------------------------------------------------------------------
587    TModule
588    --------------------------------------------------------------------}
589
590  TModule = Class(TGoogleBaseObject)
591  Private
592    FautoscalingModule : TAutoscalingModule;
593    FfirewallModule : TFirewallModule;
594    FhealthCheckModule : THealthCheckModule;
595    FlbModule : TLbModule;
596    FnetworkModule : TNetworkModule;
597    FreplicaPoolModule : TReplicaPoolModule;
598    F_type : String;
599  Protected
600    Class Function ExportPropertyName(Const AName : String) : string; override;
601    //Property setters
602    Procedure SetautoscalingModule(AIndex : Integer; AValue : TAutoscalingModule); virtual;
603    Procedure SetfirewallModule(AIndex : Integer; AValue : TFirewallModule); virtual;
604    Procedure SethealthCheckModule(AIndex : Integer; AValue : THealthCheckModule); virtual;
605    Procedure SetlbModule(AIndex : Integer; AValue : TLbModule); virtual;
606    Procedure SetnetworkModule(AIndex : Integer; AValue : TNetworkModule); virtual;
607    Procedure SetreplicaPoolModule(AIndex : Integer; AValue : TReplicaPoolModule); virtual;
608    Procedure Set_type(AIndex : Integer; const AValue : String); virtual;
609  Public
610  Published
611    Property autoscalingModule : TAutoscalingModule Index 0 Read FautoscalingModule Write SetautoscalingModule;
612    Property firewallModule : TFirewallModule Index 8 Read FfirewallModule Write SetfirewallModule;
613    Property healthCheckModule : THealthCheckModule Index 16 Read FhealthCheckModule Write SethealthCheckModule;
614    Property lbModule : TLbModule Index 24 Read FlbModule Write SetlbModule;
615    Property networkModule : TNetworkModule Index 32 Read FnetworkModule Write SetnetworkModule;
616    Property replicaPoolModule : TReplicaPoolModule Index 40 Read FreplicaPoolModule Write SetreplicaPoolModule;
617    Property _type : String Index 48 Read F_type Write Set_type;
618  end;
619  TModuleClass = Class of TModule;
620
621  { --------------------------------------------------------------------
622    TModuleStatus
623    --------------------------------------------------------------------}
624
625  TModuleStatus = Class(TGoogleBaseObject)
626  Private
627    FautoscalingModuleStatus : TAutoscalingModuleStatus;
628    FfirewallModuleStatus : TFirewallModuleStatus;
629    FhealthCheckModuleStatus : THealthCheckModuleStatus;
630    FlbModuleStatus : TLbModuleStatus;
631    FnetworkModuleStatus : TNetworkModuleStatus;
632    FreplicaPoolModuleStatus : TReplicaPoolModuleStatus;
633    Fstate : TDeployState;
634    F_type : String;
635  Protected
636    Class Function ExportPropertyName(Const AName : String) : string; override;
637    //Property setters
638    Procedure SetautoscalingModuleStatus(AIndex : Integer; AValue : TAutoscalingModuleStatus); virtual;
639    Procedure SetfirewallModuleStatus(AIndex : Integer; AValue : TFirewallModuleStatus); virtual;
640    Procedure SethealthCheckModuleStatus(AIndex : Integer; AValue : THealthCheckModuleStatus); virtual;
641    Procedure SetlbModuleStatus(AIndex : Integer; AValue : TLbModuleStatus); virtual;
642    Procedure SetnetworkModuleStatus(AIndex : Integer; AValue : TNetworkModuleStatus); virtual;
643    Procedure SetreplicaPoolModuleStatus(AIndex : Integer; AValue : TReplicaPoolModuleStatus); virtual;
644    Procedure Setstate(AIndex : Integer; AValue : TDeployState); virtual;
645    Procedure Set_type(AIndex : Integer; const AValue : String); virtual;
646  Public
647  Published
648    Property autoscalingModuleStatus : TAutoscalingModuleStatus Index 0 Read FautoscalingModuleStatus Write SetautoscalingModuleStatus;
649    Property firewallModuleStatus : TFirewallModuleStatus Index 8 Read FfirewallModuleStatus Write SetfirewallModuleStatus;
650    Property healthCheckModuleStatus : THealthCheckModuleStatus Index 16 Read FhealthCheckModuleStatus Write SethealthCheckModuleStatus;
651    Property lbModuleStatus : TLbModuleStatus Index 24 Read FlbModuleStatus Write SetlbModuleStatus;
652    Property networkModuleStatus : TNetworkModuleStatus Index 32 Read FnetworkModuleStatus Write SetnetworkModuleStatus;
653    Property replicaPoolModuleStatus : TReplicaPoolModuleStatus Index 40 Read FreplicaPoolModuleStatus Write SetreplicaPoolModuleStatus;
654    Property state : TDeployState Index 48 Read Fstate Write Setstate;
655    Property _type : String Index 56 Read F_type Write Set_type;
656  end;
657  TModuleStatusClass = Class of TModuleStatus;
658
659  { --------------------------------------------------------------------
660    TNetworkInterface
661    --------------------------------------------------------------------}
662
663  TNetworkInterface = Class(TGoogleBaseObject)
664  Private
665    FaccessConfigs : TNetworkInterfaceTypeaccessConfigsArray;
666    Fname : String;
667    Fnetwork : String;
668    FnetworkIp : String;
669  Protected
670    //Property setters
671    Procedure SetaccessConfigs(AIndex : Integer; AValue : TNetworkInterfaceTypeaccessConfigsArray); virtual;
672    Procedure Setname(AIndex : Integer; const AValue : String); virtual;
673    Procedure Setnetwork(AIndex : Integer; const AValue : String); virtual;
674    Procedure SetnetworkIp(AIndex : Integer; const AValue : String); virtual;
675    //2.6.4. bug workaround
676    {$IFDEF VER2_6}
677    Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
678    {$ENDIF VER2_6}
679  Public
680  Published
681    Property accessConfigs : TNetworkInterfaceTypeaccessConfigsArray Index 0 Read FaccessConfigs Write SetaccessConfigs;
682    Property name : String Index 8 Read Fname Write Setname;
683    Property network : String Index 16 Read Fnetwork Write Setnetwork;
684    Property networkIp : String Index 24 Read FnetworkIp Write SetnetworkIp;
685  end;
686  TNetworkInterfaceClass = Class of TNetworkInterface;
687
688  { --------------------------------------------------------------------
689    TNetworkModule
690    --------------------------------------------------------------------}
691
692  TNetworkModule = Class(TGoogleBaseObject)
693  Private
694    FIPv4Range : String;
695    Fdescription : String;
696    FgatewayIPv4 : String;
697  Protected
698    //Property setters
699    Procedure SetIPv4Range(AIndex : Integer; const AValue : String); virtual;
700    Procedure Setdescription(AIndex : Integer; const AValue : String); virtual;
701    Procedure SetgatewayIPv4(AIndex : Integer; const AValue : String); virtual;
702  Public
703  Published
704    Property IPv4Range : String Index 0 Read FIPv4Range Write SetIPv4Range;
705    Property description : String Index 8 Read Fdescription Write Setdescription;
706    Property gatewayIPv4 : String Index 16 Read FgatewayIPv4 Write SetgatewayIPv4;
707  end;
708  TNetworkModuleClass = Class of TNetworkModule;
709
710  { --------------------------------------------------------------------
711    TNetworkModuleStatus
712    --------------------------------------------------------------------}
713
714  TNetworkModuleStatus = Class(TGoogleBaseObject)
715  Private
716    FnetworkUrl : String;
717  Protected
718    //Property setters
719    Procedure SetnetworkUrl(AIndex : Integer; const AValue : String); virtual;
720  Public
721  Published
722    Property networkUrl : String Index 0 Read FnetworkUrl Write SetnetworkUrl;
723  end;
724  TNetworkModuleStatusClass = Class of TNetworkModuleStatus;
725
726  { --------------------------------------------------------------------
727    TNewDisk
728    --------------------------------------------------------------------}
729
730  TNewDisk = Class(TGoogleBaseObject)
731  Private
732    Fattachment : TDiskAttachment;
733    FautoDelete : boolean;
734    Fboot : boolean;
735    FinitializeParams : TNewDiskInitializeParams;
736  Protected
737    //Property setters
738    Procedure Setattachment(AIndex : Integer; AValue : TDiskAttachment); virtual;
739    Procedure SetautoDelete(AIndex : Integer; AValue : boolean); virtual;
740    Procedure Setboot(AIndex : Integer; AValue : boolean); virtual;
741    Procedure SetinitializeParams(AIndex : Integer; AValue : TNewDiskInitializeParams); virtual;
742  Public
743  Published
744    Property attachment : TDiskAttachment Index 0 Read Fattachment Write Setattachment;
745    Property autoDelete : boolean Index 8 Read FautoDelete Write SetautoDelete;
746    Property boot : boolean Index 16 Read Fboot Write Setboot;
747    Property initializeParams : TNewDiskInitializeParams Index 24 Read FinitializeParams Write SetinitializeParams;
748  end;
749  TNewDiskClass = Class of TNewDisk;
750
751  { --------------------------------------------------------------------
752    TNewDiskInitializeParams
753    --------------------------------------------------------------------}
754
755  TNewDiskInitializeParams = Class(TGoogleBaseObject)
756  Private
757    FdiskSizeGb : String;
758    FdiskType : String;
759    FsourceImage : String;
760  Protected
761    //Property setters
762    Procedure SetdiskSizeGb(AIndex : Integer; const AValue : String); virtual;
763    Procedure SetdiskType(AIndex : Integer; const AValue : String); virtual;
764    Procedure SetsourceImage(AIndex : Integer; const AValue : String); virtual;
765  Public
766  Published
767    Property diskSizeGb : String Index 0 Read FdiskSizeGb Write SetdiskSizeGb;
768    Property diskType : String Index 8 Read FdiskType Write SetdiskType;
769    Property sourceImage : String Index 16 Read FsourceImage Write SetsourceImage;
770  end;
771  TNewDiskInitializeParamsClass = Class of TNewDiskInitializeParams;
772
773  { --------------------------------------------------------------------
774    TParamOverride
775    --------------------------------------------------------------------}
776
777  TParamOverride = Class(TGoogleBaseObject)
778  Private
779    Fpath : String;
780    Fvalue : String;
781  Protected
782    //Property setters
783    Procedure Setpath(AIndex : Integer; const AValue : String); virtual;
784    Procedure Setvalue(AIndex : Integer; const AValue : String); virtual;
785  Public
786  Published
787    Property path : String Index 0 Read Fpath Write Setpath;
788    Property value : String Index 8 Read Fvalue Write Setvalue;
789  end;
790  TParamOverrideClass = Class of TParamOverride;
791
792  { --------------------------------------------------------------------
793    TReplicaPoolModuleTypeenvVariables
794    --------------------------------------------------------------------}
795
796  TReplicaPoolModuleTypeenvVariables = Class(TGoogleBaseObject)
797  Private
798  Protected
799    //Property setters
800  Public
801    Class Function AllowAdditionalProperties : Boolean; override;
802  Published
803  end;
804  TReplicaPoolModuleTypeenvVariablesClass = Class of TReplicaPoolModuleTypeenvVariables;
805
806  { --------------------------------------------------------------------
807    TReplicaPoolModule
808    --------------------------------------------------------------------}
809
810  TReplicaPoolModule = Class(TGoogleBaseObject)
811  Private
812    FenvVariables : TReplicaPoolModuleTypeenvVariables;
813    FhealthChecks : TStringArray;
814    FnumReplicas : integer;
815    FreplicaPoolParams : TReplicaPoolParams;
816    FresourceView : String;
817  Protected
818    //Property setters
819    Procedure SetenvVariables(AIndex : Integer; AValue : TReplicaPoolModuleTypeenvVariables); virtual;
820    Procedure SethealthChecks(AIndex : Integer; AValue : TStringArray); virtual;
821    Procedure SetnumReplicas(AIndex : Integer; AValue : integer); virtual;
822    Procedure SetreplicaPoolParams(AIndex : Integer; AValue : TReplicaPoolParams); virtual;
823    Procedure SetresourceView(AIndex : Integer; const AValue : String); virtual;
824    //2.6.4. bug workaround
825    {$IFDEF VER2_6}
826    Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
827    {$ENDIF VER2_6}
828  Public
829  Published
830    Property envVariables : TReplicaPoolModuleTypeenvVariables Index 0 Read FenvVariables Write SetenvVariables;
831    Property healthChecks : TStringArray Index 8 Read FhealthChecks Write SethealthChecks;
832    Property numReplicas : integer Index 16 Read FnumReplicas Write SetnumReplicas;
833    Property replicaPoolParams : TReplicaPoolParams Index 24 Read FreplicaPoolParams Write SetreplicaPoolParams;
834    Property resourceView : String Index 32 Read FresourceView Write SetresourceView;
835  end;
836  TReplicaPoolModuleClass = Class of TReplicaPoolModule;
837
838  { --------------------------------------------------------------------
839    TReplicaPoolModuleStatus
840    --------------------------------------------------------------------}
841
842  TReplicaPoolModuleStatus = Class(TGoogleBaseObject)
843  Private
844    FreplicaPoolUrl : String;
845    FresourceViewUrl : String;
846  Protected
847    //Property setters
848    Procedure SetreplicaPoolUrl(AIndex : Integer; const AValue : String); virtual;
849    Procedure SetresourceViewUrl(AIndex : Integer; const AValue : String); virtual;
850  Public
851  Published
852    Property replicaPoolUrl : String Index 0 Read FreplicaPoolUrl Write SetreplicaPoolUrl;
853    Property resourceViewUrl : String Index 8 Read FresourceViewUrl Write SetresourceViewUrl;
854  end;
855  TReplicaPoolModuleStatusClass = Class of TReplicaPoolModuleStatus;
856
857  { --------------------------------------------------------------------
858    TReplicaPoolParams
859    --------------------------------------------------------------------}
860
861  TReplicaPoolParams = Class(TGoogleBaseObject)
862  Private
863    Fv1beta1 : TReplicaPoolParamsV1Beta1;
864  Protected
865    //Property setters
866    Procedure Setv1beta1(AIndex : Integer; AValue : TReplicaPoolParamsV1Beta1); virtual;
867  Public
868  Published
869    Property v1beta1 : TReplicaPoolParamsV1Beta1 Index 0 Read Fv1beta1 Write Setv1beta1;
870  end;
871  TReplicaPoolParamsClass = Class of TReplicaPoolParams;
872
873  { --------------------------------------------------------------------
874    TReplicaPoolParamsV1Beta1
875    --------------------------------------------------------------------}
876
877  TReplicaPoolParamsV1Beta1 = Class(TGoogleBaseObject)
878  Private
879    FautoRestart : boolean;
880    FbaseInstanceName : String;
881    FcanIpForward : boolean;
882    Fdescription : String;
883    FdisksToAttach : TReplicaPoolParamsV1Beta1TypedisksToAttachArray;
884    FdisksToCreate : TReplicaPoolParamsV1Beta1TypedisksToCreateArray;
885    FinitAction : String;
886    FmachineType : String;
887    Fmetadata : TMetadata;
888    FnetworkInterfaces : TReplicaPoolParamsV1Beta1TypenetworkInterfacesArray;
889    FonHostMaintenance : String;
890    FserviceAccounts : TReplicaPoolParamsV1Beta1TypeserviceAccountsArray;
891    Ftags : TTag;
892    Fzone : String;
893  Protected
894    //Property setters
895    Procedure SetautoRestart(AIndex : Integer; AValue : boolean); virtual;
896    Procedure SetbaseInstanceName(AIndex : Integer; const AValue : String); virtual;
897    Procedure SetcanIpForward(AIndex : Integer; AValue : boolean); virtual;
898    Procedure Setdescription(AIndex : Integer; const AValue : String); virtual;
899    Procedure SetdisksToAttach(AIndex : Integer; AValue : TReplicaPoolParamsV1Beta1TypedisksToAttachArray); virtual;
900    Procedure SetdisksToCreate(AIndex : Integer; AValue : TReplicaPoolParamsV1Beta1TypedisksToCreateArray); virtual;
901    Procedure SetinitAction(AIndex : Integer; const AValue : String); virtual;
902    Procedure SetmachineType(AIndex : Integer; const AValue : String); virtual;
903    Procedure Setmetadata(AIndex : Integer; AValue : TMetadata); virtual;
904    Procedure SetnetworkInterfaces(AIndex : Integer; AValue : TReplicaPoolParamsV1Beta1TypenetworkInterfacesArray); virtual;
905    Procedure SetonHostMaintenance(AIndex : Integer; const AValue : String); virtual;
906    Procedure SetserviceAccounts(AIndex : Integer; AValue : TReplicaPoolParamsV1Beta1TypeserviceAccountsArray); virtual;
907    Procedure Settags(AIndex : Integer; AValue : TTag); virtual;
908    Procedure Setzone(AIndex : Integer; const AValue : String); virtual;
909    //2.6.4. bug workaround
910    {$IFDEF VER2_6}
911    Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
912    {$ENDIF VER2_6}
913  Public
914  Published
915    Property autoRestart : boolean Index 0 Read FautoRestart Write SetautoRestart;
916    Property baseInstanceName : String Index 8 Read FbaseInstanceName Write SetbaseInstanceName;
917    Property canIpForward : boolean Index 16 Read FcanIpForward Write SetcanIpForward;
918    Property description : String Index 24 Read Fdescription Write Setdescription;
919    Property disksToAttach : TReplicaPoolParamsV1Beta1TypedisksToAttachArray Index 32 Read FdisksToAttach Write SetdisksToAttach;
920    Property disksToCreate : TReplicaPoolParamsV1Beta1TypedisksToCreateArray Index 40 Read FdisksToCreate Write SetdisksToCreate;
921    Property initAction : String Index 48 Read FinitAction Write SetinitAction;
922    Property machineType : String Index 56 Read FmachineType Write SetmachineType;
923    Property metadata : TMetadata Index 64 Read Fmetadata Write Setmetadata;
924    Property networkInterfaces : TReplicaPoolParamsV1Beta1TypenetworkInterfacesArray Index 72 Read FnetworkInterfaces Write SetnetworkInterfaces;
925    Property onHostMaintenance : String Index 80 Read FonHostMaintenance Write SetonHostMaintenance;
926    Property serviceAccounts : TReplicaPoolParamsV1Beta1TypeserviceAccountsArray Index 88 Read FserviceAccounts Write SetserviceAccounts;
927    Property tags : TTag Index 96 Read Ftags Write Settags;
928    Property zone : String Index 104 Read Fzone Write Setzone;
929  end;
930  TReplicaPoolParamsV1Beta1Class = Class of TReplicaPoolParamsV1Beta1;
931
932  { --------------------------------------------------------------------
933    TServiceAccount
934    --------------------------------------------------------------------}
935
936  TServiceAccount = Class(TGoogleBaseObject)
937  Private
938    Femail : String;
939    Fscopes : TStringArray;
940  Protected
941    //Property setters
942    Procedure Setemail(AIndex : Integer; const AValue : String); virtual;
943    Procedure Setscopes(AIndex : Integer; AValue : TStringArray); virtual;
944    //2.6.4. bug workaround
945    {$IFDEF VER2_6}
946    Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
947    {$ENDIF VER2_6}
948  Public
949  Published
950    Property email : String Index 0 Read Femail Write Setemail;
951    Property scopes : TStringArray Index 8 Read Fscopes Write Setscopes;
952  end;
953  TServiceAccountClass = Class of TServiceAccount;
954
955  { --------------------------------------------------------------------
956    TTag
957    --------------------------------------------------------------------}
958
959  TTag = Class(TGoogleBaseObject)
960  Private
961    FfingerPrint : String;
962    Fitems : TStringArray;
963  Protected
964    //Property setters
965    Procedure SetfingerPrint(AIndex : Integer; const AValue : String); virtual;
966    Procedure Setitems(AIndex : Integer; AValue : TStringArray); virtual;
967    //2.6.4. bug workaround
968    {$IFDEF VER2_6}
969    Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
970    {$ENDIF VER2_6}
971  Public
972  Published
973    Property fingerPrint : String Index 0 Read FfingerPrint Write SetfingerPrint;
974    Property items : TStringArray Index 8 Read Fitems Write Setitems;
975  end;
976  TTagClass = Class of TTag;
977
978  { --------------------------------------------------------------------
979    TTemplateTypeactions
980    --------------------------------------------------------------------}
981
982  TTemplateTypeactions = Class(TGoogleBaseObject)
983  Private
984  Protected
985    //Property setters
986  Public
987    Class Function AllowAdditionalProperties : Boolean; override;
988  Published
989  end;
990  TTemplateTypeactionsClass = Class of TTemplateTypeactions;
991
992  { --------------------------------------------------------------------
993    TTemplateTypemodules
994    --------------------------------------------------------------------}
995
996  TTemplateTypemodules = Class(TGoogleBaseObject)
997  Private
998  Protected
999    //Property setters
1000  Public
1001    Class Function AllowAdditionalProperties : Boolean; override;
1002  Published
1003  end;
1004  TTemplateTypemodulesClass = Class of TTemplateTypemodules;
1005
1006  { --------------------------------------------------------------------
1007    TTemplate
1008    --------------------------------------------------------------------}
1009
1010  TTemplate = Class(TGoogleBaseObject)
1011  Private
1012    Factions : TTemplateTypeactions;
1013    Fdescription : String;
1014    Fmodules : TTemplateTypemodules;
1015    Fname : String;
1016  Protected
1017    //Property setters
1018    Procedure Setactions(AIndex : Integer; AValue : TTemplateTypeactions); virtual;
1019    Procedure Setdescription(AIndex : Integer; const AValue : String); virtual;
1020    Procedure Setmodules(AIndex : Integer; AValue : TTemplateTypemodules); virtual;
1021    Procedure Setname(AIndex : Integer; const AValue : String); virtual;
1022  Public
1023  Published
1024    Property actions : TTemplateTypeactions Index 0 Read Factions Write Setactions;
1025    Property description : String Index 8 Read Fdescription Write Setdescription;
1026    Property modules : TTemplateTypemodules Index 16 Read Fmodules Write Setmodules;
1027    Property name : String Index 24 Read Fname Write Setname;
1028  end;
1029  TTemplateClass = Class of TTemplate;
1030
1031  { --------------------------------------------------------------------
1032    TTemplatesListResponse
1033    --------------------------------------------------------------------}
1034
1035  TTemplatesListResponse = Class(TGoogleBaseObject)
1036  Private
1037    FnextPageToken : String;
1038    Fresources : TTemplatesListResponseTyperesourcesArray;
1039  Protected
1040    //Property setters
1041    Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual;
1042    Procedure Setresources(AIndex : Integer; AValue : TTemplatesListResponseTyperesourcesArray); virtual;
1043    //2.6.4. bug workaround
1044    {$IFDEF VER2_6}
1045    Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
1046    {$ENDIF VER2_6}
1047  Public
1048  Published
1049    Property nextPageToken : String Index 0 Read FnextPageToken Write SetnextPageToken;
1050    Property resources : TTemplatesListResponseTyperesourcesArray Index 8 Read Fresources Write Setresources;
1051  end;
1052  TTemplatesListResponseClass = Class of TTemplatesListResponse;
1053
1054  { --------------------------------------------------------------------
1055    TDeploymentsResource
1056    --------------------------------------------------------------------}
1057
1058
1059  //Optional query Options for TDeploymentsResource, method List
1060
1061  TDeploymentsListOptions = Record
1062    maxResults : integer;
1063    pageToken : String;
1064  end;
1065
1066  TDeploymentsResource = Class(TGoogleResource)
1067  Public
1068    Class Function ResourceName : String; override;
1069    Class Function DefaultAPI : TGoogleAPIClass; override;
1070    Procedure Delete(deploymentName: string; projectId: string; region: string);
1071    Function Get(deploymentName: string; projectId: string; region: string) : TDeployment;
1072    Function Insert(projectId: string; region: string; aDeployment : TDeployment) : TDeployment;
1073    Function List(projectId: string; region: string; AQuery : string  = '') : TDeploymentsListResponse;
1074    Function List(projectId: string; region: string; AQuery : TDeploymentslistOptions) : TDeploymentsListResponse;
1075  end;
1076
1077
1078  { --------------------------------------------------------------------
1079    TTemplatesResource
1080    --------------------------------------------------------------------}
1081
1082
1083  //Optional query Options for TTemplatesResource, method List
1084
1085  TTemplatesListOptions = Record
1086    maxResults : integer;
1087    pageToken : String;
1088  end;
1089
1090  TTemplatesResource = Class(TGoogleResource)
1091  Public
1092    Class Function ResourceName : String; override;
1093    Class Function DefaultAPI : TGoogleAPIClass; override;
1094    Procedure Delete(projectId: string; templateName: string);
1095    Function Get(projectId: string; templateName: string) : TTemplate;
1096    Function Insert(projectId: string; aTemplate : TTemplate) : TTemplate;
1097    Function List(projectId: string; AQuery : string  = '') : TTemplatesListResponse;
1098    Function List(projectId: string; AQuery : TTemplateslistOptions) : TTemplatesListResponse;
1099  end;
1100
1101
1102  { --------------------------------------------------------------------
1103    TManagerAPI
1104    --------------------------------------------------------------------}
1105
1106  TManagerAPI = Class(TGoogleAPI)
1107  Private
1108    FDeploymentsInstance : TDeploymentsResource;
1109    FTemplatesInstance : TTemplatesResource;
1110    Function GetDeploymentsInstance : TDeploymentsResource;virtual;
1111    Function GetTemplatesInstance : TTemplatesResource;virtual;
1112  Public
1113    //Override class functions with API info
1114    Class Function APIName : String; override;
1115    Class Function APIVersion : String; override;
1116    Class Function APIRevision : String; override;
1117    Class Function APIID : String; override;
1118    Class Function APITitle : String; override;
1119    Class Function APIDescription : String; override;
1120    Class Function APIOwnerDomain : String; override;
1121    Class Function APIOwnerName : String; override;
1122    Class Function APIIcon16 : String; override;
1123    Class Function APIIcon32 : String; override;
1124    Class Function APIdocumentationLink : String; override;
1125    Class Function APIrootUrl : string; override;
1126    Class Function APIbasePath : string;override;
1127    Class Function APIbaseURL : String;override;
1128    Class Function APIProtocol : string;override;
1129    Class Function APIservicePath : string;override;
1130    Class Function APIbatchPath : String;override;
1131    Class Function APIAuthScopes : TScopeInfoArray;override;
1132    Class Function APINeedsAuth : Boolean;override;
1133    Class Procedure RegisterAPIResources; override;
1134    //Add create function for resources
1135    Function CreateDeploymentsResource(AOwner : TComponent) : TDeploymentsResource;virtual;overload;
1136    Function CreateDeploymentsResource : TDeploymentsResource;virtual;overload;
1137    Function CreateTemplatesResource(AOwner : TComponent) : TTemplatesResource;virtual;overload;
1138    Function CreateTemplatesResource : TTemplatesResource;virtual;overload;
1139    //Add default on-demand instances for resources
1140    Property DeploymentsResource : TDeploymentsResource Read GetDeploymentsInstance;
1141    Property TemplatesResource : TTemplatesResource Read GetTemplatesInstance;
1142  end;
1143
1144implementation
1145
1146
1147{ --------------------------------------------------------------------
1148  TAccessConfig
1149  --------------------------------------------------------------------}
1150
1151
1152Procedure TAccessConfig.Setname(AIndex : Integer; const AValue : String);
1153
1154begin
1155  If (Fname=AValue) then exit;
1156  Fname:=AValue;
1157  MarkPropertyChanged(AIndex);
1158end;
1159
1160
1161
1162Procedure TAccessConfig.SetnatIp(AIndex : Integer; const AValue : String);
1163
1164begin
1165  If (FnatIp=AValue) then exit;
1166  FnatIp:=AValue;
1167  MarkPropertyChanged(AIndex);
1168end;
1169
1170
1171
1172Procedure TAccessConfig.Set_type(AIndex : Integer; const AValue : String);
1173
1174begin
1175  If (F_type=AValue) then exit;
1176  F_type:=AValue;
1177  MarkPropertyChanged(AIndex);
1178end;
1179
1180
1181
1182Class Function TAccessConfig.ExportPropertyName(Const AName : String) :String;
1183
1184begin
1185  Case AName of
1186  '_type' : Result:='type';
1187  else
1188    Result:=Inherited ExportPropertyName(AName);
1189  end;
1190end;
1191
1192
1193
1194
1195{ --------------------------------------------------------------------
1196  TAction
1197  --------------------------------------------------------------------}
1198
1199
1200Procedure TAction.Setcommands(AIndex : Integer; AValue : TStringArray);
1201
1202begin
1203  If (Fcommands=AValue) then exit;
1204  Fcommands:=AValue;
1205  MarkPropertyChanged(AIndex);
1206end;
1207
1208
1209
1210Procedure TAction.SettimeoutMs(AIndex : Integer; AValue : integer);
1211
1212begin
1213  If (FtimeoutMs=AValue) then exit;
1214  FtimeoutMs:=AValue;
1215  MarkPropertyChanged(AIndex);
1216end;
1217
1218
1219//2.6.4. bug workaround
1220{$IFDEF VER2_6}
1221Procedure TAction.SetArrayLength(Const AName : String; ALength : Longint);
1222
1223begin
1224  Case AName of
1225  'commands' : SetLength(Fcommands,ALength);
1226  else
1227    Inherited SetArrayLength(AName,ALength);
1228  end;
1229end;
1230{$ENDIF VER2_6}
1231
1232
1233
1234
1235{ --------------------------------------------------------------------
1236  TAllowedRule
1237  --------------------------------------------------------------------}
1238
1239
1240Procedure TAllowedRule.SetIPProtocol(AIndex : Integer; const AValue : String);
1241
1242begin
1243  If (FIPProtocol=AValue) then exit;
1244  FIPProtocol:=AValue;
1245  MarkPropertyChanged(AIndex);
1246end;
1247
1248
1249
1250Procedure TAllowedRule.Setports(AIndex : Integer; AValue : TStringArray);
1251
1252begin
1253  If (Fports=AValue) then exit;
1254  Fports:=AValue;
1255  MarkPropertyChanged(AIndex);
1256end;
1257
1258
1259//2.6.4. bug workaround
1260{$IFDEF VER2_6}
1261Procedure TAllowedRule.SetArrayLength(Const AName : String; ALength : Longint);
1262
1263begin
1264  Case AName of
1265  'ports' : SetLength(Fports,ALength);
1266  else
1267    Inherited SetArrayLength(AName,ALength);
1268  end;
1269end;
1270{$ENDIF VER2_6}
1271
1272
1273
1274
1275{ --------------------------------------------------------------------
1276  TAutoscalingModule
1277  --------------------------------------------------------------------}
1278
1279
1280Procedure TAutoscalingModule.SetcoolDownPeriodSec(AIndex : Integer; AValue : integer);
1281
1282begin
1283  If (FcoolDownPeriodSec=AValue) then exit;
1284  FcoolDownPeriodSec:=AValue;
1285  MarkPropertyChanged(AIndex);
1286end;
1287
1288
1289
1290Procedure TAutoscalingModule.Setdescription(AIndex : Integer; const AValue : String);
1291
1292begin
1293  If (Fdescription=AValue) then exit;
1294  Fdescription:=AValue;
1295  MarkPropertyChanged(AIndex);
1296end;
1297
1298
1299
1300Procedure TAutoscalingModule.SetmaxNumReplicas(AIndex : Integer; AValue : integer);
1301
1302begin
1303  If (FmaxNumReplicas=AValue) then exit;
1304  FmaxNumReplicas:=AValue;
1305  MarkPropertyChanged(AIndex);
1306end;
1307
1308
1309
1310Procedure TAutoscalingModule.SetminNumReplicas(AIndex : Integer; AValue : integer);
1311
1312begin
1313  If (FminNumReplicas=AValue) then exit;
1314  FminNumReplicas:=AValue;
1315  MarkPropertyChanged(AIndex);
1316end;
1317
1318
1319
1320Procedure TAutoscalingModule.SetsignalType(AIndex : Integer; const AValue : String);
1321
1322begin
1323  If (FsignalType=AValue) then exit;
1324  FsignalType:=AValue;
1325  MarkPropertyChanged(AIndex);
1326end;
1327
1328
1329
1330Procedure TAutoscalingModule.SettargetModule(AIndex : Integer; const AValue : String);
1331
1332begin
1333  If (FtargetModule=AValue) then exit;
1334  FtargetModule:=AValue;
1335  MarkPropertyChanged(AIndex);
1336end;
1337
1338
1339
1340Procedure TAutoscalingModule.SettargetUtilization(AIndex : Integer; AValue : double);
1341
1342begin
1343  If (FtargetUtilization=AValue) then exit;
1344  FtargetUtilization:=AValue;
1345  MarkPropertyChanged(AIndex);
1346end;
1347
1348
1349
1350
1351
1352{ --------------------------------------------------------------------
1353  TAutoscalingModuleStatus
1354  --------------------------------------------------------------------}
1355
1356
1357Procedure TAutoscalingModuleStatus.SetautoscalingConfigUrl(AIndex : Integer; const AValue : String);
1358
1359begin
1360  If (FautoscalingConfigUrl=AValue) then exit;
1361  FautoscalingConfigUrl:=AValue;
1362  MarkPropertyChanged(AIndex);
1363end;
1364
1365
1366
1367
1368
1369{ --------------------------------------------------------------------
1370  TDeployState
1371  --------------------------------------------------------------------}
1372
1373
1374Procedure TDeployState.Setdetails(AIndex : Integer; const AValue : String);
1375
1376begin
1377  If (Fdetails=AValue) then exit;
1378  Fdetails:=AValue;
1379  MarkPropertyChanged(AIndex);
1380end;
1381
1382
1383
1384Procedure TDeployState.Setstatus(AIndex : Integer; const AValue : String);
1385
1386begin
1387  If (Fstatus=AValue) then exit;
1388  Fstatus:=AValue;
1389  MarkPropertyChanged(AIndex);
1390end;
1391
1392
1393
1394
1395
1396{ --------------------------------------------------------------------
1397  TDeploymentTypemodules
1398  --------------------------------------------------------------------}
1399
1400
1401Class Function TDeploymentTypemodules.AllowAdditionalProperties : Boolean;
1402
1403begin
1404  Result:=True;
1405end;
1406
1407
1408
1409{ --------------------------------------------------------------------
1410  TDeployment
1411  --------------------------------------------------------------------}
1412
1413
1414Procedure TDeployment.SetcreationDate(AIndex : Integer; const AValue : String);
1415
1416begin
1417  If (FcreationDate=AValue) then exit;
1418  FcreationDate:=AValue;
1419  MarkPropertyChanged(AIndex);
1420end;
1421
1422
1423
1424Procedure TDeployment.Setdescription(AIndex : Integer; const AValue : String);
1425
1426begin
1427  If (Fdescription=AValue) then exit;
1428  Fdescription:=AValue;
1429  MarkPropertyChanged(AIndex);
1430end;
1431
1432
1433
1434Procedure TDeployment.Setmodules(AIndex : Integer; AValue : TDeploymentTypemodules);
1435
1436begin
1437  If (Fmodules=AValue) then exit;
1438  Fmodules:=AValue;
1439  MarkPropertyChanged(AIndex);
1440end;
1441
1442
1443
1444Procedure TDeployment.Setname(AIndex : Integer; const AValue : String);
1445
1446begin
1447  If (Fname=AValue) then exit;
1448  Fname:=AValue;
1449  MarkPropertyChanged(AIndex);
1450end;
1451
1452
1453
1454Procedure TDeployment.Setoverrides(AIndex : Integer; AValue : TDeploymentTypeoverridesArray);
1455
1456begin
1457  If (Foverrides=AValue) then exit;
1458  Foverrides:=AValue;
1459  MarkPropertyChanged(AIndex);
1460end;
1461
1462
1463
1464Procedure TDeployment.Setstate(AIndex : Integer; AValue : TDeployState);
1465
1466begin
1467  If (Fstate=AValue) then exit;
1468  Fstate:=AValue;
1469  MarkPropertyChanged(AIndex);
1470end;
1471
1472
1473
1474Procedure TDeployment.SettemplateName(AIndex : Integer; const AValue : String);
1475
1476begin
1477  If (FtemplateName=AValue) then exit;
1478  FtemplateName:=AValue;
1479  MarkPropertyChanged(AIndex);
1480end;
1481
1482
1483//2.6.4. bug workaround
1484{$IFDEF VER2_6}
1485Procedure TDeployment.SetArrayLength(Const AName : String; ALength : Longint);
1486
1487begin
1488  Case AName of
1489  'overrides' : SetLength(Foverrides,ALength);
1490  else
1491    Inherited SetArrayLength(AName,ALength);
1492  end;
1493end;
1494{$ENDIF VER2_6}
1495
1496
1497
1498
1499{ --------------------------------------------------------------------
1500  TDeploymentsListResponse
1501  --------------------------------------------------------------------}
1502
1503
1504Procedure TDeploymentsListResponse.SetnextPageToken(AIndex : Integer; const AValue : String);
1505
1506begin
1507  If (FnextPageToken=AValue) then exit;
1508  FnextPageToken:=AValue;
1509  MarkPropertyChanged(AIndex);
1510end;
1511
1512
1513
1514Procedure TDeploymentsListResponse.Setresources(AIndex : Integer; AValue : TDeploymentsListResponseTyperesourcesArray);
1515
1516begin
1517  If (Fresources=AValue) then exit;
1518  Fresources:=AValue;
1519  MarkPropertyChanged(AIndex);
1520end;
1521
1522
1523//2.6.4. bug workaround
1524{$IFDEF VER2_6}
1525Procedure TDeploymentsListResponse.SetArrayLength(Const AName : String; ALength : Longint);
1526
1527begin
1528  Case AName of
1529  'resources' : SetLength(Fresources,ALength);
1530  else
1531    Inherited SetArrayLength(AName,ALength);
1532  end;
1533end;
1534{$ENDIF VER2_6}
1535
1536
1537
1538
1539{ --------------------------------------------------------------------
1540  TDiskAttachment
1541  --------------------------------------------------------------------}
1542
1543
1544Procedure TDiskAttachment.SetdeviceName(AIndex : Integer; const AValue : String);
1545
1546begin
1547  If (FdeviceName=AValue) then exit;
1548  FdeviceName:=AValue;
1549  MarkPropertyChanged(AIndex);
1550end;
1551
1552
1553
1554Procedure TDiskAttachment.Setindex(AIndex : Integer; AValue : integer);
1555
1556begin
1557  If (Findex=AValue) then exit;
1558  Findex:=AValue;
1559  MarkPropertyChanged(AIndex);
1560end;
1561
1562
1563
1564
1565
1566{ --------------------------------------------------------------------
1567  TEnvVariable
1568  --------------------------------------------------------------------}
1569
1570
1571Procedure TEnvVariable.Sethidden(AIndex : Integer; AValue : boolean);
1572
1573begin
1574  If (Fhidden=AValue) then exit;
1575  Fhidden:=AValue;
1576  MarkPropertyChanged(AIndex);
1577end;
1578
1579
1580
1581Procedure TEnvVariable.Setvalue(AIndex : Integer; const AValue : String);
1582
1583begin
1584  If (Fvalue=AValue) then exit;
1585  Fvalue:=AValue;
1586  MarkPropertyChanged(AIndex);
1587end;
1588
1589
1590
1591
1592
1593{ --------------------------------------------------------------------
1594  TExistingDisk
1595  --------------------------------------------------------------------}
1596
1597
1598Procedure TExistingDisk.Setattachment(AIndex : Integer; AValue : TDiskAttachment);
1599
1600begin
1601  If (Fattachment=AValue) then exit;
1602  Fattachment:=AValue;
1603  MarkPropertyChanged(AIndex);
1604end;
1605
1606
1607
1608Procedure TExistingDisk.Setsource(AIndex : Integer; const AValue : String);
1609
1610begin
1611  If (Fsource=AValue) then exit;
1612  Fsource:=AValue;
1613  MarkPropertyChanged(AIndex);
1614end;
1615
1616
1617
1618
1619
1620{ --------------------------------------------------------------------
1621  TFirewallModule
1622  --------------------------------------------------------------------}
1623
1624
1625Procedure TFirewallModule.Setallowed(AIndex : Integer; AValue : TFirewallModuleTypeallowedArray);
1626
1627begin
1628  If (Fallowed=AValue) then exit;
1629  Fallowed:=AValue;
1630  MarkPropertyChanged(AIndex);
1631end;
1632
1633
1634
1635Procedure TFirewallModule.Setdescription(AIndex : Integer; const AValue : String);
1636
1637begin
1638  If (Fdescription=AValue) then exit;
1639  Fdescription:=AValue;
1640  MarkPropertyChanged(AIndex);
1641end;
1642
1643
1644
1645Procedure TFirewallModule.Setnetwork(AIndex : Integer; const AValue : String);
1646
1647begin
1648  If (Fnetwork=AValue) then exit;
1649  Fnetwork:=AValue;
1650  MarkPropertyChanged(AIndex);
1651end;
1652
1653
1654
1655Procedure TFirewallModule.SetsourceRanges(AIndex : Integer; AValue : TStringArray);
1656
1657begin
1658  If (FsourceRanges=AValue) then exit;
1659  FsourceRanges:=AValue;
1660  MarkPropertyChanged(AIndex);
1661end;
1662
1663
1664
1665Procedure TFirewallModule.SetsourceTags(AIndex : Integer; AValue : TStringArray);
1666
1667begin
1668  If (FsourceTags=AValue) then exit;
1669  FsourceTags:=AValue;
1670  MarkPropertyChanged(AIndex);
1671end;
1672
1673
1674
1675Procedure TFirewallModule.SettargetTags(AIndex : Integer; AValue : TStringArray);
1676
1677begin
1678  If (FtargetTags=AValue) then exit;
1679  FtargetTags:=AValue;
1680  MarkPropertyChanged(AIndex);
1681end;
1682
1683
1684//2.6.4. bug workaround
1685{$IFDEF VER2_6}
1686Procedure TFirewallModule.SetArrayLength(Const AName : String; ALength : Longint);
1687
1688begin
1689  Case AName of
1690  'allowed' : SetLength(Fallowed,ALength);
1691  'sourceranges' : SetLength(FsourceRanges,ALength);
1692  'sourcetags' : SetLength(FsourceTags,ALength);
1693  'targettags' : SetLength(FtargetTags,ALength);
1694  else
1695    Inherited SetArrayLength(AName,ALength);
1696  end;
1697end;
1698{$ENDIF VER2_6}
1699
1700
1701
1702
1703{ --------------------------------------------------------------------
1704  TFirewallModuleStatus
1705  --------------------------------------------------------------------}
1706
1707
1708Procedure TFirewallModuleStatus.SetfirewallUrl(AIndex : Integer; const AValue : String);
1709
1710begin
1711  If (FfirewallUrl=AValue) then exit;
1712  FfirewallUrl:=AValue;
1713  MarkPropertyChanged(AIndex);
1714end;
1715
1716
1717
1718
1719
1720{ --------------------------------------------------------------------
1721  THealthCheckModule
1722  --------------------------------------------------------------------}
1723
1724
1725Procedure THealthCheckModule.SetcheckIntervalSec(AIndex : Integer; AValue : integer);
1726
1727begin
1728  If (FcheckIntervalSec=AValue) then exit;
1729  FcheckIntervalSec:=AValue;
1730  MarkPropertyChanged(AIndex);
1731end;
1732
1733
1734
1735Procedure THealthCheckModule.Setdescription(AIndex : Integer; const AValue : String);
1736
1737begin
1738  If (Fdescription=AValue) then exit;
1739  Fdescription:=AValue;
1740  MarkPropertyChanged(AIndex);
1741end;
1742
1743
1744
1745Procedure THealthCheckModule.SethealthyThreshold(AIndex : Integer; AValue : integer);
1746
1747begin
1748  If (FhealthyThreshold=AValue) then exit;
1749  FhealthyThreshold:=AValue;
1750  MarkPropertyChanged(AIndex);
1751end;
1752
1753
1754
1755Procedure THealthCheckModule.Sethost(AIndex : Integer; const AValue : String);
1756
1757begin
1758  If (Fhost=AValue) then exit;
1759  Fhost:=AValue;
1760  MarkPropertyChanged(AIndex);
1761end;
1762
1763
1764
1765Procedure THealthCheckModule.Setpath(AIndex : Integer; const AValue : String);
1766
1767begin
1768  If (Fpath=AValue) then exit;
1769  Fpath:=AValue;
1770  MarkPropertyChanged(AIndex);
1771end;
1772
1773
1774
1775Procedure THealthCheckModule.Setport(AIndex : Integer; AValue : integer);
1776
1777begin
1778  If (Fport=AValue) then exit;
1779  Fport:=AValue;
1780  MarkPropertyChanged(AIndex);
1781end;
1782
1783
1784
1785Procedure THealthCheckModule.SettimeoutSec(AIndex : Integer; AValue : integer);
1786
1787begin
1788  If (FtimeoutSec=AValue) then exit;
1789  FtimeoutSec:=AValue;
1790  MarkPropertyChanged(AIndex);
1791end;
1792
1793
1794
1795Procedure THealthCheckModule.SetunhealthyThreshold(AIndex : Integer; AValue : integer);
1796
1797begin
1798  If (FunhealthyThreshold=AValue) then exit;
1799  FunhealthyThreshold:=AValue;
1800  MarkPropertyChanged(AIndex);
1801end;
1802
1803
1804
1805
1806
1807{ --------------------------------------------------------------------
1808  THealthCheckModuleStatus
1809  --------------------------------------------------------------------}
1810
1811
1812Procedure THealthCheckModuleStatus.SethealthCheckUrl(AIndex : Integer; const AValue : String);
1813
1814begin
1815  If (FhealthCheckUrl=AValue) then exit;
1816  FhealthCheckUrl:=AValue;
1817  MarkPropertyChanged(AIndex);
1818end;
1819
1820
1821
1822
1823
1824{ --------------------------------------------------------------------
1825  TLbModule
1826  --------------------------------------------------------------------}
1827
1828
1829Procedure TLbModule.Setdescription(AIndex : Integer; const AValue : String);
1830
1831begin
1832  If (Fdescription=AValue) then exit;
1833  Fdescription:=AValue;
1834  MarkPropertyChanged(AIndex);
1835end;
1836
1837
1838
1839Procedure TLbModule.SethealthChecks(AIndex : Integer; AValue : TStringArray);
1840
1841begin
1842  If (FhealthChecks=AValue) then exit;
1843  FhealthChecks:=AValue;
1844  MarkPropertyChanged(AIndex);
1845end;
1846
1847
1848
1849Procedure TLbModule.SetipAddress(AIndex : Integer; const AValue : String);
1850
1851begin
1852  If (FipAddress=AValue) then exit;
1853  FipAddress:=AValue;
1854  MarkPropertyChanged(AIndex);
1855end;
1856
1857
1858
1859Procedure TLbModule.SetipProtocol(AIndex : Integer; const AValue : String);
1860
1861begin
1862  If (FipProtocol=AValue) then exit;
1863  FipProtocol:=AValue;
1864  MarkPropertyChanged(AIndex);
1865end;
1866
1867
1868
1869Procedure TLbModule.SetportRange(AIndex : Integer; const AValue : String);
1870
1871begin
1872  If (FportRange=AValue) then exit;
1873  FportRange:=AValue;
1874  MarkPropertyChanged(AIndex);
1875end;
1876
1877
1878
1879Procedure TLbModule.SetsessionAffinity(AIndex : Integer; const AValue : String);
1880
1881begin
1882  If (FsessionAffinity=AValue) then exit;
1883  FsessionAffinity:=AValue;
1884  MarkPropertyChanged(AIndex);
1885end;
1886
1887
1888
1889Procedure TLbModule.SettargetModules(AIndex : Integer; AValue : TStringArray);
1890
1891begin
1892  If (FtargetModules=AValue) then exit;
1893  FtargetModules:=AValue;
1894  MarkPropertyChanged(AIndex);
1895end;
1896
1897
1898//2.6.4. bug workaround
1899{$IFDEF VER2_6}
1900Procedure TLbModule.SetArrayLength(Const AName : String; ALength : Longint);
1901
1902begin
1903  Case AName of
1904  'healthchecks' : SetLength(FhealthChecks,ALength);
1905  'targetmodules' : SetLength(FtargetModules,ALength);
1906  else
1907    Inherited SetArrayLength(AName,ALength);
1908  end;
1909end;
1910{$ENDIF VER2_6}
1911
1912
1913
1914
1915{ --------------------------------------------------------------------
1916  TLbModuleStatus
1917  --------------------------------------------------------------------}
1918
1919
1920Procedure TLbModuleStatus.SetforwardingRuleUrl(AIndex : Integer; const AValue : String);
1921
1922begin
1923  If (FforwardingRuleUrl=AValue) then exit;
1924  FforwardingRuleUrl:=AValue;
1925  MarkPropertyChanged(AIndex);
1926end;
1927
1928
1929
1930Procedure TLbModuleStatus.SettargetPoolUrl(AIndex : Integer; const AValue : String);
1931
1932begin
1933  If (FtargetPoolUrl=AValue) then exit;
1934  FtargetPoolUrl:=AValue;
1935  MarkPropertyChanged(AIndex);
1936end;
1937
1938
1939
1940
1941
1942{ --------------------------------------------------------------------
1943  TMetadata
1944  --------------------------------------------------------------------}
1945
1946
1947Procedure TMetadata.SetfingerPrint(AIndex : Integer; const AValue : String);
1948
1949begin
1950  If (FfingerPrint=AValue) then exit;
1951  FfingerPrint:=AValue;
1952  MarkPropertyChanged(AIndex);
1953end;
1954
1955
1956
1957Procedure TMetadata.Setitems(AIndex : Integer; AValue : TMetadataTypeitemsArray);
1958
1959begin
1960  If (Fitems=AValue) then exit;
1961  Fitems:=AValue;
1962  MarkPropertyChanged(AIndex);
1963end;
1964
1965
1966//2.6.4. bug workaround
1967{$IFDEF VER2_6}
1968Procedure TMetadata.SetArrayLength(Const AName : String; ALength : Longint);
1969
1970begin
1971  Case AName of
1972  'items' : SetLength(Fitems,ALength);
1973  else
1974    Inherited SetArrayLength(AName,ALength);
1975  end;
1976end;
1977{$ENDIF VER2_6}
1978
1979
1980
1981
1982{ --------------------------------------------------------------------
1983  TMetadataItem
1984  --------------------------------------------------------------------}
1985
1986
1987Procedure TMetadataItem.Setkey(AIndex : Integer; const AValue : String);
1988
1989begin
1990  If (Fkey=AValue) then exit;
1991  Fkey:=AValue;
1992  MarkPropertyChanged(AIndex);
1993end;
1994
1995
1996
1997Procedure TMetadataItem.Setvalue(AIndex : Integer; const AValue : String);
1998
1999begin
2000  If (Fvalue=AValue) then exit;
2001  Fvalue:=AValue;
2002  MarkPropertyChanged(AIndex);
2003end;
2004
2005
2006
2007
2008
2009{ --------------------------------------------------------------------
2010  TModule
2011  --------------------------------------------------------------------}
2012
2013
2014Procedure TModule.SetautoscalingModule(AIndex : Integer; AValue : TAutoscalingModule);
2015
2016begin
2017  If (FautoscalingModule=AValue) then exit;
2018  FautoscalingModule:=AValue;
2019  MarkPropertyChanged(AIndex);
2020end;
2021
2022
2023
2024Procedure TModule.SetfirewallModule(AIndex : Integer; AValue : TFirewallModule);
2025
2026begin
2027  If (FfirewallModule=AValue) then exit;
2028  FfirewallModule:=AValue;
2029  MarkPropertyChanged(AIndex);
2030end;
2031
2032
2033
2034Procedure TModule.SethealthCheckModule(AIndex : Integer; AValue : THealthCheckModule);
2035
2036begin
2037  If (FhealthCheckModule=AValue) then exit;
2038  FhealthCheckModule:=AValue;
2039  MarkPropertyChanged(AIndex);
2040end;
2041
2042
2043
2044Procedure TModule.SetlbModule(AIndex : Integer; AValue : TLbModule);
2045
2046begin
2047  If (FlbModule=AValue) then exit;
2048  FlbModule:=AValue;
2049  MarkPropertyChanged(AIndex);
2050end;
2051
2052
2053
2054Procedure TModule.SetnetworkModule(AIndex : Integer; AValue : TNetworkModule);
2055
2056begin
2057  If (FnetworkModule=AValue) then exit;
2058  FnetworkModule:=AValue;
2059  MarkPropertyChanged(AIndex);
2060end;
2061
2062
2063
2064Procedure TModule.SetreplicaPoolModule(AIndex : Integer; AValue : TReplicaPoolModule);
2065
2066begin
2067  If (FreplicaPoolModule=AValue) then exit;
2068  FreplicaPoolModule:=AValue;
2069  MarkPropertyChanged(AIndex);
2070end;
2071
2072
2073
2074Procedure TModule.Set_type(AIndex : Integer; const AValue : String);
2075
2076begin
2077  If (F_type=AValue) then exit;
2078  F_type:=AValue;
2079  MarkPropertyChanged(AIndex);
2080end;
2081
2082
2083
2084Class Function TModule.ExportPropertyName(Const AName : String) :String;
2085
2086begin
2087  Case AName of
2088  '_type' : Result:='type';
2089  else
2090    Result:=Inherited ExportPropertyName(AName);
2091  end;
2092end;
2093
2094
2095
2096
2097{ --------------------------------------------------------------------
2098  TModuleStatus
2099  --------------------------------------------------------------------}
2100
2101
2102Procedure TModuleStatus.SetautoscalingModuleStatus(AIndex : Integer; AValue : TAutoscalingModuleStatus);
2103
2104begin
2105  If (FautoscalingModuleStatus=AValue) then exit;
2106  FautoscalingModuleStatus:=AValue;
2107  MarkPropertyChanged(AIndex);
2108end;
2109
2110
2111
2112Procedure TModuleStatus.SetfirewallModuleStatus(AIndex : Integer; AValue : TFirewallModuleStatus);
2113
2114begin
2115  If (FfirewallModuleStatus=AValue) then exit;
2116  FfirewallModuleStatus:=AValue;
2117  MarkPropertyChanged(AIndex);
2118end;
2119
2120
2121
2122Procedure TModuleStatus.SethealthCheckModuleStatus(AIndex : Integer; AValue : THealthCheckModuleStatus);
2123
2124begin
2125  If (FhealthCheckModuleStatus=AValue) then exit;
2126  FhealthCheckModuleStatus:=AValue;
2127  MarkPropertyChanged(AIndex);
2128end;
2129
2130
2131
2132Procedure TModuleStatus.SetlbModuleStatus(AIndex : Integer; AValue : TLbModuleStatus);
2133
2134begin
2135  If (FlbModuleStatus=AValue) then exit;
2136  FlbModuleStatus:=AValue;
2137  MarkPropertyChanged(AIndex);
2138end;
2139
2140
2141
2142Procedure TModuleStatus.SetnetworkModuleStatus(AIndex : Integer; AValue : TNetworkModuleStatus);
2143
2144begin
2145  If (FnetworkModuleStatus=AValue) then exit;
2146  FnetworkModuleStatus:=AValue;
2147  MarkPropertyChanged(AIndex);
2148end;
2149
2150
2151
2152Procedure TModuleStatus.SetreplicaPoolModuleStatus(AIndex : Integer; AValue : TReplicaPoolModuleStatus);
2153
2154begin
2155  If (FreplicaPoolModuleStatus=AValue) then exit;
2156  FreplicaPoolModuleStatus:=AValue;
2157  MarkPropertyChanged(AIndex);
2158end;
2159
2160
2161
2162Procedure TModuleStatus.Setstate(AIndex : Integer; AValue : TDeployState);
2163
2164begin
2165  If (Fstate=AValue) then exit;
2166  Fstate:=AValue;
2167  MarkPropertyChanged(AIndex);
2168end;
2169
2170
2171
2172Procedure TModuleStatus.Set_type(AIndex : Integer; const AValue : String);
2173
2174begin
2175  If (F_type=AValue) then exit;
2176  F_type:=AValue;
2177  MarkPropertyChanged(AIndex);
2178end;
2179
2180
2181
2182Class Function TModuleStatus.ExportPropertyName(Const AName : String) :String;
2183
2184begin
2185  Case AName of
2186  '_type' : Result:='type';
2187  else
2188    Result:=Inherited ExportPropertyName(AName);
2189  end;
2190end;
2191
2192
2193
2194
2195{ --------------------------------------------------------------------
2196  TNetworkInterface
2197  --------------------------------------------------------------------}
2198
2199
2200Procedure TNetworkInterface.SetaccessConfigs(AIndex : Integer; AValue : TNetworkInterfaceTypeaccessConfigsArray);
2201
2202begin
2203  If (FaccessConfigs=AValue) then exit;
2204  FaccessConfigs:=AValue;
2205  MarkPropertyChanged(AIndex);
2206end;
2207
2208
2209
2210Procedure TNetworkInterface.Setname(AIndex : Integer; const AValue : String);
2211
2212begin
2213  If (Fname=AValue) then exit;
2214  Fname:=AValue;
2215  MarkPropertyChanged(AIndex);
2216end;
2217
2218
2219
2220Procedure TNetworkInterface.Setnetwork(AIndex : Integer; const AValue : String);
2221
2222begin
2223  If (Fnetwork=AValue) then exit;
2224  Fnetwork:=AValue;
2225  MarkPropertyChanged(AIndex);
2226end;
2227
2228
2229
2230Procedure TNetworkInterface.SetnetworkIp(AIndex : Integer; const AValue : String);
2231
2232begin
2233  If (FnetworkIp=AValue) then exit;
2234  FnetworkIp:=AValue;
2235  MarkPropertyChanged(AIndex);
2236end;
2237
2238
2239//2.6.4. bug workaround
2240{$IFDEF VER2_6}
2241Procedure TNetworkInterface.SetArrayLength(Const AName : String; ALength : Longint);
2242
2243begin
2244  Case AName of
2245  'accessconfigs' : SetLength(FaccessConfigs,ALength);
2246  else
2247    Inherited SetArrayLength(AName,ALength);
2248  end;
2249end;
2250{$ENDIF VER2_6}
2251
2252
2253
2254
2255{ --------------------------------------------------------------------
2256  TNetworkModule
2257  --------------------------------------------------------------------}
2258
2259
2260Procedure TNetworkModule.SetIPv4Range(AIndex : Integer; const AValue : String);
2261
2262begin
2263  If (FIPv4Range=AValue) then exit;
2264  FIPv4Range:=AValue;
2265  MarkPropertyChanged(AIndex);
2266end;
2267
2268
2269
2270Procedure TNetworkModule.Setdescription(AIndex : Integer; const AValue : String);
2271
2272begin
2273  If (Fdescription=AValue) then exit;
2274  Fdescription:=AValue;
2275  MarkPropertyChanged(AIndex);
2276end;
2277
2278
2279
2280Procedure TNetworkModule.SetgatewayIPv4(AIndex : Integer; const AValue : String);
2281
2282begin
2283  If (FgatewayIPv4=AValue) then exit;
2284  FgatewayIPv4:=AValue;
2285  MarkPropertyChanged(AIndex);
2286end;
2287
2288
2289
2290
2291
2292{ --------------------------------------------------------------------
2293  TNetworkModuleStatus
2294  --------------------------------------------------------------------}
2295
2296
2297Procedure TNetworkModuleStatus.SetnetworkUrl(AIndex : Integer; const AValue : String);
2298
2299begin
2300  If (FnetworkUrl=AValue) then exit;
2301  FnetworkUrl:=AValue;
2302  MarkPropertyChanged(AIndex);
2303end;
2304
2305
2306
2307
2308
2309{ --------------------------------------------------------------------
2310  TNewDisk
2311  --------------------------------------------------------------------}
2312
2313
2314Procedure TNewDisk.Setattachment(AIndex : Integer; AValue : TDiskAttachment);
2315
2316begin
2317  If (Fattachment=AValue) then exit;
2318  Fattachment:=AValue;
2319  MarkPropertyChanged(AIndex);
2320end;
2321
2322
2323
2324Procedure TNewDisk.SetautoDelete(AIndex : Integer; AValue : boolean);
2325
2326begin
2327  If (FautoDelete=AValue) then exit;
2328  FautoDelete:=AValue;
2329  MarkPropertyChanged(AIndex);
2330end;
2331
2332
2333
2334Procedure TNewDisk.Setboot(AIndex : Integer; AValue : boolean);
2335
2336begin
2337  If (Fboot=AValue) then exit;
2338  Fboot:=AValue;
2339  MarkPropertyChanged(AIndex);
2340end;
2341
2342
2343
2344Procedure TNewDisk.SetinitializeParams(AIndex : Integer; AValue : TNewDiskInitializeParams);
2345
2346begin
2347  If (FinitializeParams=AValue) then exit;
2348  FinitializeParams:=AValue;
2349  MarkPropertyChanged(AIndex);
2350end;
2351
2352
2353
2354
2355
2356{ --------------------------------------------------------------------
2357  TNewDiskInitializeParams
2358  --------------------------------------------------------------------}
2359
2360
2361Procedure TNewDiskInitializeParams.SetdiskSizeGb(AIndex : Integer; const AValue : String);
2362
2363begin
2364  If (FdiskSizeGb=AValue) then exit;
2365  FdiskSizeGb:=AValue;
2366  MarkPropertyChanged(AIndex);
2367end;
2368
2369
2370
2371Procedure TNewDiskInitializeParams.SetdiskType(AIndex : Integer; const AValue : String);
2372
2373begin
2374  If (FdiskType=AValue) then exit;
2375  FdiskType:=AValue;
2376  MarkPropertyChanged(AIndex);
2377end;
2378
2379
2380
2381Procedure TNewDiskInitializeParams.SetsourceImage(AIndex : Integer; const AValue : String);
2382
2383begin
2384  If (FsourceImage=AValue) then exit;
2385  FsourceImage:=AValue;
2386  MarkPropertyChanged(AIndex);
2387end;
2388
2389
2390
2391
2392
2393{ --------------------------------------------------------------------
2394  TParamOverride
2395  --------------------------------------------------------------------}
2396
2397
2398Procedure TParamOverride.Setpath(AIndex : Integer; const AValue : String);
2399
2400begin
2401  If (Fpath=AValue) then exit;
2402  Fpath:=AValue;
2403  MarkPropertyChanged(AIndex);
2404end;
2405
2406
2407
2408Procedure TParamOverride.Setvalue(AIndex : Integer; const AValue : String);
2409
2410begin
2411  If (Fvalue=AValue) then exit;
2412  Fvalue:=AValue;
2413  MarkPropertyChanged(AIndex);
2414end;
2415
2416
2417
2418
2419
2420{ --------------------------------------------------------------------
2421  TReplicaPoolModuleTypeenvVariables
2422  --------------------------------------------------------------------}
2423
2424
2425Class Function TReplicaPoolModuleTypeenvVariables.AllowAdditionalProperties : Boolean;
2426
2427begin
2428  Result:=True;
2429end;
2430
2431
2432
2433{ --------------------------------------------------------------------
2434  TReplicaPoolModule
2435  --------------------------------------------------------------------}
2436
2437
2438Procedure TReplicaPoolModule.SetenvVariables(AIndex : Integer; AValue : TReplicaPoolModuleTypeenvVariables);
2439
2440begin
2441  If (FenvVariables=AValue) then exit;
2442  FenvVariables:=AValue;
2443  MarkPropertyChanged(AIndex);
2444end;
2445
2446
2447
2448Procedure TReplicaPoolModule.SethealthChecks(AIndex : Integer; AValue : TStringArray);
2449
2450begin
2451  If (FhealthChecks=AValue) then exit;
2452  FhealthChecks:=AValue;
2453  MarkPropertyChanged(AIndex);
2454end;
2455
2456
2457
2458Procedure TReplicaPoolModule.SetnumReplicas(AIndex : Integer; AValue : integer);
2459
2460begin
2461  If (FnumReplicas=AValue) then exit;
2462  FnumReplicas:=AValue;
2463  MarkPropertyChanged(AIndex);
2464end;
2465
2466
2467
2468Procedure TReplicaPoolModule.SetreplicaPoolParams(AIndex : Integer; AValue : TReplicaPoolParams);
2469
2470begin
2471  If (FreplicaPoolParams=AValue) then exit;
2472  FreplicaPoolParams:=AValue;
2473  MarkPropertyChanged(AIndex);
2474end;
2475
2476
2477
2478Procedure TReplicaPoolModule.SetresourceView(AIndex : Integer; const AValue : String);
2479
2480begin
2481  If (FresourceView=AValue) then exit;
2482  FresourceView:=AValue;
2483  MarkPropertyChanged(AIndex);
2484end;
2485
2486
2487//2.6.4. bug workaround
2488{$IFDEF VER2_6}
2489Procedure TReplicaPoolModule.SetArrayLength(Const AName : String; ALength : Longint);
2490
2491begin
2492  Case AName of
2493  'healthchecks' : SetLength(FhealthChecks,ALength);
2494  else
2495    Inherited SetArrayLength(AName,ALength);
2496  end;
2497end;
2498{$ENDIF VER2_6}
2499
2500
2501
2502
2503{ --------------------------------------------------------------------
2504  TReplicaPoolModuleStatus
2505  --------------------------------------------------------------------}
2506
2507
2508Procedure TReplicaPoolModuleStatus.SetreplicaPoolUrl(AIndex : Integer; const AValue : String);
2509
2510begin
2511  If (FreplicaPoolUrl=AValue) then exit;
2512  FreplicaPoolUrl:=AValue;
2513  MarkPropertyChanged(AIndex);
2514end;
2515
2516
2517
2518Procedure TReplicaPoolModuleStatus.SetresourceViewUrl(AIndex : Integer; const AValue : String);
2519
2520begin
2521  If (FresourceViewUrl=AValue) then exit;
2522  FresourceViewUrl:=AValue;
2523  MarkPropertyChanged(AIndex);
2524end;
2525
2526
2527
2528
2529
2530{ --------------------------------------------------------------------
2531  TReplicaPoolParams
2532  --------------------------------------------------------------------}
2533
2534
2535Procedure TReplicaPoolParams.Setv1beta1(AIndex : Integer; AValue : TReplicaPoolParamsV1Beta1);
2536
2537begin
2538  If (Fv1beta1=AValue) then exit;
2539  Fv1beta1:=AValue;
2540  MarkPropertyChanged(AIndex);
2541end;
2542
2543
2544
2545
2546
2547{ --------------------------------------------------------------------
2548  TReplicaPoolParamsV1Beta1
2549  --------------------------------------------------------------------}
2550
2551
2552Procedure TReplicaPoolParamsV1Beta1.SetautoRestart(AIndex : Integer; AValue : boolean);
2553
2554begin
2555  If (FautoRestart=AValue) then exit;
2556  FautoRestart:=AValue;
2557  MarkPropertyChanged(AIndex);
2558end;
2559
2560
2561
2562Procedure TReplicaPoolParamsV1Beta1.SetbaseInstanceName(AIndex : Integer; const AValue : String);
2563
2564begin
2565  If (FbaseInstanceName=AValue) then exit;
2566  FbaseInstanceName:=AValue;
2567  MarkPropertyChanged(AIndex);
2568end;
2569
2570
2571
2572Procedure TReplicaPoolParamsV1Beta1.SetcanIpForward(AIndex : Integer; AValue : boolean);
2573
2574begin
2575  If (FcanIpForward=AValue) then exit;
2576  FcanIpForward:=AValue;
2577  MarkPropertyChanged(AIndex);
2578end;
2579
2580
2581
2582Procedure TReplicaPoolParamsV1Beta1.Setdescription(AIndex : Integer; const AValue : String);
2583
2584begin
2585  If (Fdescription=AValue) then exit;
2586  Fdescription:=AValue;
2587  MarkPropertyChanged(AIndex);
2588end;
2589
2590
2591
2592Procedure TReplicaPoolParamsV1Beta1.SetdisksToAttach(AIndex : Integer; AValue : TReplicaPoolParamsV1Beta1TypedisksToAttachArray);
2593
2594begin
2595  If (FdisksToAttach=AValue) then exit;
2596  FdisksToAttach:=AValue;
2597  MarkPropertyChanged(AIndex);
2598end;
2599
2600
2601
2602Procedure TReplicaPoolParamsV1Beta1.SetdisksToCreate(AIndex : Integer; AValue : TReplicaPoolParamsV1Beta1TypedisksToCreateArray);
2603
2604begin
2605  If (FdisksToCreate=AValue) then exit;
2606  FdisksToCreate:=AValue;
2607  MarkPropertyChanged(AIndex);
2608end;
2609
2610
2611
2612Procedure TReplicaPoolParamsV1Beta1.SetinitAction(AIndex : Integer; const AValue : String);
2613
2614begin
2615  If (FinitAction=AValue) then exit;
2616  FinitAction:=AValue;
2617  MarkPropertyChanged(AIndex);
2618end;
2619
2620
2621
2622Procedure TReplicaPoolParamsV1Beta1.SetmachineType(AIndex : Integer; const AValue : String);
2623
2624begin
2625  If (FmachineType=AValue) then exit;
2626  FmachineType:=AValue;
2627  MarkPropertyChanged(AIndex);
2628end;
2629
2630
2631
2632Procedure TReplicaPoolParamsV1Beta1.Setmetadata(AIndex : Integer; AValue : TMetadata);
2633
2634begin
2635  If (Fmetadata=AValue) then exit;
2636  Fmetadata:=AValue;
2637  MarkPropertyChanged(AIndex);
2638end;
2639
2640
2641
2642Procedure TReplicaPoolParamsV1Beta1.SetnetworkInterfaces(AIndex : Integer; AValue : TReplicaPoolParamsV1Beta1TypenetworkInterfacesArray);
2643
2644begin
2645  If (FnetworkInterfaces=AValue) then exit;
2646  FnetworkInterfaces:=AValue;
2647  MarkPropertyChanged(AIndex);
2648end;
2649
2650
2651
2652Procedure TReplicaPoolParamsV1Beta1.SetonHostMaintenance(AIndex : Integer; const AValue : String);
2653
2654begin
2655  If (FonHostMaintenance=AValue) then exit;
2656  FonHostMaintenance:=AValue;
2657  MarkPropertyChanged(AIndex);
2658end;
2659
2660
2661
2662Procedure TReplicaPoolParamsV1Beta1.SetserviceAccounts(AIndex : Integer; AValue : TReplicaPoolParamsV1Beta1TypeserviceAccountsArray);
2663
2664begin
2665  If (FserviceAccounts=AValue) then exit;
2666  FserviceAccounts:=AValue;
2667  MarkPropertyChanged(AIndex);
2668end;
2669
2670
2671
2672Procedure TReplicaPoolParamsV1Beta1.Settags(AIndex : Integer; AValue : TTag);
2673
2674begin
2675  If (Ftags=AValue) then exit;
2676  Ftags:=AValue;
2677  MarkPropertyChanged(AIndex);
2678end;
2679
2680
2681
2682Procedure TReplicaPoolParamsV1Beta1.Setzone(AIndex : Integer; const AValue : String);
2683
2684begin
2685  If (Fzone=AValue) then exit;
2686  Fzone:=AValue;
2687  MarkPropertyChanged(AIndex);
2688end;
2689
2690
2691//2.6.4. bug workaround
2692{$IFDEF VER2_6}
2693Procedure TReplicaPoolParamsV1Beta1.SetArrayLength(Const AName : String; ALength : Longint);
2694
2695begin
2696  Case AName of
2697  'diskstoattach' : SetLength(FdisksToAttach,ALength);
2698  'diskstocreate' : SetLength(FdisksToCreate,ALength);
2699  'networkinterfaces' : SetLength(FnetworkInterfaces,ALength);
2700  'serviceaccounts' : SetLength(FserviceAccounts,ALength);
2701  else
2702    Inherited SetArrayLength(AName,ALength);
2703  end;
2704end;
2705{$ENDIF VER2_6}
2706
2707
2708
2709
2710{ --------------------------------------------------------------------
2711  TServiceAccount
2712  --------------------------------------------------------------------}
2713
2714
2715Procedure TServiceAccount.Setemail(AIndex : Integer; const AValue : String);
2716
2717begin
2718  If (Femail=AValue) then exit;
2719  Femail:=AValue;
2720  MarkPropertyChanged(AIndex);
2721end;
2722
2723
2724
2725Procedure TServiceAccount.Setscopes(AIndex : Integer; AValue : TStringArray);
2726
2727begin
2728  If (Fscopes=AValue) then exit;
2729  Fscopes:=AValue;
2730  MarkPropertyChanged(AIndex);
2731end;
2732
2733
2734//2.6.4. bug workaround
2735{$IFDEF VER2_6}
2736Procedure TServiceAccount.SetArrayLength(Const AName : String; ALength : Longint);
2737
2738begin
2739  Case AName of
2740  'scopes' : SetLength(Fscopes,ALength);
2741  else
2742    Inherited SetArrayLength(AName,ALength);
2743  end;
2744end;
2745{$ENDIF VER2_6}
2746
2747
2748
2749
2750{ --------------------------------------------------------------------
2751  TTag
2752  --------------------------------------------------------------------}
2753
2754
2755Procedure TTag.SetfingerPrint(AIndex : Integer; const AValue : String);
2756
2757begin
2758  If (FfingerPrint=AValue) then exit;
2759  FfingerPrint:=AValue;
2760  MarkPropertyChanged(AIndex);
2761end;
2762
2763
2764
2765Procedure TTag.Setitems(AIndex : Integer; AValue : TStringArray);
2766
2767begin
2768  If (Fitems=AValue) then exit;
2769  Fitems:=AValue;
2770  MarkPropertyChanged(AIndex);
2771end;
2772
2773
2774//2.6.4. bug workaround
2775{$IFDEF VER2_6}
2776Procedure TTag.SetArrayLength(Const AName : String; ALength : Longint);
2777
2778begin
2779  Case AName of
2780  'items' : SetLength(Fitems,ALength);
2781  else
2782    Inherited SetArrayLength(AName,ALength);
2783  end;
2784end;
2785{$ENDIF VER2_6}
2786
2787
2788
2789
2790{ --------------------------------------------------------------------
2791  TTemplateTypeactions
2792  --------------------------------------------------------------------}
2793
2794
2795Class Function TTemplateTypeactions.AllowAdditionalProperties : Boolean;
2796
2797begin
2798  Result:=True;
2799end;
2800
2801
2802
2803{ --------------------------------------------------------------------
2804  TTemplateTypemodules
2805  --------------------------------------------------------------------}
2806
2807
2808Class Function TTemplateTypemodules.AllowAdditionalProperties : Boolean;
2809
2810begin
2811  Result:=True;
2812end;
2813
2814
2815
2816{ --------------------------------------------------------------------
2817  TTemplate
2818  --------------------------------------------------------------------}
2819
2820
2821Procedure TTemplate.Setactions(AIndex : Integer; AValue : TTemplateTypeactions);
2822
2823begin
2824  If (Factions=AValue) then exit;
2825  Factions:=AValue;
2826  MarkPropertyChanged(AIndex);
2827end;
2828
2829
2830
2831Procedure TTemplate.Setdescription(AIndex : Integer; const AValue : String);
2832
2833begin
2834  If (Fdescription=AValue) then exit;
2835  Fdescription:=AValue;
2836  MarkPropertyChanged(AIndex);
2837end;
2838
2839
2840
2841Procedure TTemplate.Setmodules(AIndex : Integer; AValue : TTemplateTypemodules);
2842
2843begin
2844  If (Fmodules=AValue) then exit;
2845  Fmodules:=AValue;
2846  MarkPropertyChanged(AIndex);
2847end;
2848
2849
2850
2851Procedure TTemplate.Setname(AIndex : Integer; const AValue : String);
2852
2853begin
2854  If (Fname=AValue) then exit;
2855  Fname:=AValue;
2856  MarkPropertyChanged(AIndex);
2857end;
2858
2859
2860
2861
2862
2863{ --------------------------------------------------------------------
2864  TTemplatesListResponse
2865  --------------------------------------------------------------------}
2866
2867
2868Procedure TTemplatesListResponse.SetnextPageToken(AIndex : Integer; const AValue : String);
2869
2870begin
2871  If (FnextPageToken=AValue) then exit;
2872  FnextPageToken:=AValue;
2873  MarkPropertyChanged(AIndex);
2874end;
2875
2876
2877
2878Procedure TTemplatesListResponse.Setresources(AIndex : Integer; AValue : TTemplatesListResponseTyperesourcesArray);
2879
2880begin
2881  If (Fresources=AValue) then exit;
2882  Fresources:=AValue;
2883  MarkPropertyChanged(AIndex);
2884end;
2885
2886
2887//2.6.4. bug workaround
2888{$IFDEF VER2_6}
2889Procedure TTemplatesListResponse.SetArrayLength(Const AName : String; ALength : Longint);
2890
2891begin
2892  Case AName of
2893  'resources' : SetLength(Fresources,ALength);
2894  else
2895    Inherited SetArrayLength(AName,ALength);
2896  end;
2897end;
2898{$ENDIF VER2_6}
2899
2900
2901
2902
2903{ --------------------------------------------------------------------
2904  TDeploymentsResource
2905  --------------------------------------------------------------------}
2906
2907
2908Class Function TDeploymentsResource.ResourceName : String;
2909
2910begin
2911  Result:='deployments';
2912end;
2913
2914Class Function TDeploymentsResource.DefaultAPI : TGoogleAPIClass;
2915
2916begin
2917  Result:=TmanagerAPI;
2918end;
2919
2920Procedure TDeploymentsResource.Delete(deploymentName: string; projectId: string; region: string);
2921
2922Const
2923  _HTTPMethod = 'DELETE';
2924  _Path       = '{projectId}/regions/{region}/deployments/{deploymentName}';
2925  _Methodid   = 'manager.deployments.delete';
2926
2927Var
2928  _P : String;
2929
2930begin
2931  _P:=SubstitutePath(_Path,['deploymentName',deploymentName,'projectId',projectId,'region',region]);
2932  ServiceCall(_HTTPMethod,_P,'',Nil,Nil);
2933end;
2934
2935Function TDeploymentsResource.Get(deploymentName: string; projectId: string; region: string) : TDeployment;
2936
2937Const
2938  _HTTPMethod = 'GET';
2939  _Path       = '{projectId}/regions/{region}/deployments/{deploymentName}';
2940  _Methodid   = 'manager.deployments.get';
2941
2942Var
2943  _P : String;
2944
2945begin
2946  _P:=SubstitutePath(_Path,['deploymentName',deploymentName,'projectId',projectId,'region',region]);
2947  Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TDeployment) as TDeployment;
2948end;
2949
2950Function TDeploymentsResource.Insert(projectId: string; region: string; aDeployment : TDeployment) : TDeployment;
2951
2952Const
2953  _HTTPMethod = 'POST';
2954  _Path       = '{projectId}/regions/{region}/deployments';
2955  _Methodid   = 'manager.deployments.insert';
2956
2957Var
2958  _P : String;
2959
2960begin
2961  _P:=SubstitutePath(_Path,['projectId',projectId,'region',region]);
2962  Result:=ServiceCall(_HTTPMethod,_P,'',aDeployment,TDeployment) as TDeployment;
2963end;
2964
2965Function TDeploymentsResource.List(projectId: string; region: string; AQuery : string = '') : TDeploymentsListResponse;
2966
2967Const
2968  _HTTPMethod = 'GET';
2969  _Path       = '{projectId}/regions/{region}/deployments';
2970  _Methodid   = 'manager.deployments.list';
2971
2972Var
2973  _P : String;
2974
2975begin
2976  _P:=SubstitutePath(_Path,['projectId',projectId,'region',region]);
2977  Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TDeploymentsListResponse) as TDeploymentsListResponse;
2978end;
2979
2980
2981Function TDeploymentsResource.List(projectId: string; region: string; AQuery : TDeploymentslistOptions) : TDeploymentsListResponse;
2982
2983Var
2984  _Q : String;
2985
2986begin
2987  _Q:='';
2988  AddToQuery(_Q,'maxResults',AQuery.maxResults);
2989  AddToQuery(_Q,'pageToken',AQuery.pageToken);
2990  Result:=List(projectId,region,_Q);
2991end;
2992
2993
2994
2995{ --------------------------------------------------------------------
2996  TTemplatesResource
2997  --------------------------------------------------------------------}
2998
2999
3000Class Function TTemplatesResource.ResourceName : String;
3001
3002begin
3003  Result:='templates';
3004end;
3005
3006Class Function TTemplatesResource.DefaultAPI : TGoogleAPIClass;
3007
3008begin
3009  Result:=TmanagerAPI;
3010end;
3011
3012Procedure TTemplatesResource.Delete(projectId: string; templateName: string);
3013
3014Const
3015  _HTTPMethod = 'DELETE';
3016  _Path       = '{projectId}/templates/{templateName}';
3017  _Methodid   = 'manager.templates.delete';
3018
3019Var
3020  _P : String;
3021
3022begin
3023  _P:=SubstitutePath(_Path,['projectId',projectId,'templateName',templateName]);
3024  ServiceCall(_HTTPMethod,_P,'',Nil,Nil);
3025end;
3026
3027Function TTemplatesResource.Get(projectId: string; templateName: string) : TTemplate;
3028
3029Const
3030  _HTTPMethod = 'GET';
3031  _Path       = '{projectId}/templates/{templateName}';
3032  _Methodid   = 'manager.templates.get';
3033
3034Var
3035  _P : String;
3036
3037begin
3038  _P:=SubstitutePath(_Path,['projectId',projectId,'templateName',templateName]);
3039  Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TTemplate) as TTemplate;
3040end;
3041
3042Function TTemplatesResource.Insert(projectId: string; aTemplate : TTemplate) : TTemplate;
3043
3044Const
3045  _HTTPMethod = 'POST';
3046  _Path       = '{projectId}/templates';
3047  _Methodid   = 'manager.templates.insert';
3048
3049Var
3050  _P : String;
3051
3052begin
3053  _P:=SubstitutePath(_Path,['projectId',projectId]);
3054  Result:=ServiceCall(_HTTPMethod,_P,'',aTemplate,TTemplate) as TTemplate;
3055end;
3056
3057Function TTemplatesResource.List(projectId: string; AQuery : string = '') : TTemplatesListResponse;
3058
3059Const
3060  _HTTPMethod = 'GET';
3061  _Path       = '{projectId}/templates';
3062  _Methodid   = 'manager.templates.list';
3063
3064Var
3065  _P : String;
3066
3067begin
3068  _P:=SubstitutePath(_Path,['projectId',projectId]);
3069  Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TTemplatesListResponse) as TTemplatesListResponse;
3070end;
3071
3072
3073Function TTemplatesResource.List(projectId: string; AQuery : TTemplateslistOptions) : TTemplatesListResponse;
3074
3075Var
3076  _Q : String;
3077
3078begin
3079  _Q:='';
3080  AddToQuery(_Q,'maxResults',AQuery.maxResults);
3081  AddToQuery(_Q,'pageToken',AQuery.pageToken);
3082  Result:=List(projectId,_Q);
3083end;
3084
3085
3086
3087{ --------------------------------------------------------------------
3088  TManagerAPI
3089  --------------------------------------------------------------------}
3090
3091Class Function TManagerAPI.APIName : String;
3092
3093begin
3094  Result:='manager';
3095end;
3096
3097Class Function TManagerAPI.APIVersion : String;
3098
3099begin
3100  Result:='v1beta2';
3101end;
3102
3103Class Function TManagerAPI.APIRevision : String;
3104
3105begin
3106  Result:='20140915';
3107end;
3108
3109Class Function TManagerAPI.APIID : String;
3110
3111begin
3112  Result:='manager:v1beta2';
3113end;
3114
3115Class Function TManagerAPI.APITitle : String;
3116
3117begin
3118  Result:='Deployment Manager API';
3119end;
3120
3121Class Function TManagerAPI.APIDescription : String;
3122
3123begin
3124  Result:='The Deployment Manager API allows users to declaratively configure, deploy and run complex solutions on the Google Cloud Platform.';
3125end;
3126
3127Class Function TManagerAPI.APIOwnerDomain : String;
3128
3129begin
3130  Result:='google.com';
3131end;
3132
3133Class Function TManagerAPI.APIOwnerName : String;
3134
3135begin
3136  Result:='Google';
3137end;
3138
3139Class Function TManagerAPI.APIIcon16 : String;
3140
3141begin
3142  Result:='http://www.google.com/images/icons/product/search-16.gif';
3143end;
3144
3145Class Function TManagerAPI.APIIcon32 : String;
3146
3147begin
3148  Result:='http://www.google.com/images/icons/product/search-32.gif';
3149end;
3150
3151Class Function TManagerAPI.APIdocumentationLink : String;
3152
3153begin
3154  Result:='https://developers.google.com/deployment-manager/';
3155end;
3156
3157Class Function TManagerAPI.APIrootUrl : string;
3158
3159begin
3160  Result:='https://www.googleapis.com:443/';
3161end;
3162
3163Class Function TManagerAPI.APIbasePath : string;
3164
3165begin
3166  Result:='/manager/v1beta2/projects/';
3167end;
3168
3169Class Function TManagerAPI.APIbaseURL : String;
3170
3171begin
3172  Result:='https://www.googleapis.com:443/manager/v1beta2/projects/';
3173end;
3174
3175Class Function TManagerAPI.APIProtocol : string;
3176
3177begin
3178  Result:='rest';
3179end;
3180
3181Class Function TManagerAPI.APIservicePath : string;
3182
3183begin
3184  Result:='manager/v1beta2/projects/';
3185end;
3186
3187Class Function TManagerAPI.APIbatchPath : String;
3188
3189begin
3190  Result:='batch';
3191end;
3192
3193Class Function TManagerAPI.APIAuthScopes : TScopeInfoArray;
3194
3195begin
3196  SetLength(Result,6);
3197  Result[0].Name:='https://www.googleapis.com/auth/appengine.admin';
3198  Result[0].Description:='View and manage your applications deployed on Google App Engine';
3199  Result[1].Name:='https://www.googleapis.com/auth/cloud-platform';
3200  Result[1].Description:='View and manage your data across Google Cloud Platform services';
3201  Result[2].Name:='https://www.googleapis.com/auth/compute';
3202  Result[2].Description:='View and manage your Google Compute Engine resources';
3203  Result[3].Name:='https://www.googleapis.com/auth/devstorage.read_write';
3204  Result[3].Description:='Manage your data in Google Cloud Storage';
3205  Result[4].Name:='https://www.googleapis.com/auth/ndev.cloudman';
3206  Result[4].Description:='View and manage your Google Cloud Platform management resources and deployment status information';
3207  Result[5].Name:='https://www.googleapis.com/auth/ndev.cloudman.readonly';
3208  Result[5].Description:='View your Google Cloud Platform management resources and deployment status information';
3209
3210end;
3211
3212Class Function TManagerAPI.APINeedsAuth : Boolean;
3213
3214begin
3215  Result:=True;
3216end;
3217
3218Class Procedure TManagerAPI.RegisterAPIResources;
3219
3220begin
3221  TAccessConfig.RegisterObject;
3222  TAction.RegisterObject;
3223  TAllowedRule.RegisterObject;
3224  TAutoscalingModule.RegisterObject;
3225  TAutoscalingModuleStatus.RegisterObject;
3226  TDeployState.RegisterObject;
3227  TDeploymentTypemodules.RegisterObject;
3228  TDeployment.RegisterObject;
3229  TDeploymentsListResponse.RegisterObject;
3230  TDiskAttachment.RegisterObject;
3231  TEnvVariable.RegisterObject;
3232  TExistingDisk.RegisterObject;
3233  TFirewallModule.RegisterObject;
3234  TFirewallModuleStatus.RegisterObject;
3235  THealthCheckModule.RegisterObject;
3236  THealthCheckModuleStatus.RegisterObject;
3237  TLbModule.RegisterObject;
3238  TLbModuleStatus.RegisterObject;
3239  TMetadata.RegisterObject;
3240  TMetadataItem.RegisterObject;
3241  TModule.RegisterObject;
3242  TModuleStatus.RegisterObject;
3243  TNetworkInterface.RegisterObject;
3244  TNetworkModule.RegisterObject;
3245  TNetworkModuleStatus.RegisterObject;
3246  TNewDisk.RegisterObject;
3247  TNewDiskInitializeParams.RegisterObject;
3248  TParamOverride.RegisterObject;
3249  TReplicaPoolModuleTypeenvVariables.RegisterObject;
3250  TReplicaPoolModule.RegisterObject;
3251  TReplicaPoolModuleStatus.RegisterObject;
3252  TReplicaPoolParams.RegisterObject;
3253  TReplicaPoolParamsV1Beta1.RegisterObject;
3254  TServiceAccount.RegisterObject;
3255  TTag.RegisterObject;
3256  TTemplateTypeactions.RegisterObject;
3257  TTemplateTypemodules.RegisterObject;
3258  TTemplate.RegisterObject;
3259  TTemplatesListResponse.RegisterObject;
3260end;
3261
3262
3263Function TManagerAPI.GetDeploymentsInstance : TDeploymentsResource;
3264
3265begin
3266  if (FDeploymentsInstance=Nil) then
3267    FDeploymentsInstance:=CreateDeploymentsResource;
3268  Result:=FDeploymentsInstance;
3269end;
3270
3271Function TManagerAPI.CreateDeploymentsResource : TDeploymentsResource;
3272
3273begin
3274  Result:=CreateDeploymentsResource(Self);
3275end;
3276
3277
3278Function TManagerAPI.CreateDeploymentsResource(AOwner : TComponent) : TDeploymentsResource;
3279
3280begin
3281  Result:=TDeploymentsResource.Create(AOwner);
3282  Result.API:=Self.API;
3283end;
3284
3285
3286
3287Function TManagerAPI.GetTemplatesInstance : TTemplatesResource;
3288
3289begin
3290  if (FTemplatesInstance=Nil) then
3291    FTemplatesInstance:=CreateTemplatesResource;
3292  Result:=FTemplatesInstance;
3293end;
3294
3295Function TManagerAPI.CreateTemplatesResource : TTemplatesResource;
3296
3297begin
3298  Result:=CreateTemplatesResource(Self);
3299end;
3300
3301
3302Function TManagerAPI.CreateTemplatesResource(AOwner : TComponent) : TTemplatesResource;
3303
3304begin
3305  Result:=TTemplatesResource.Create(AOwner);
3306  Result.API:=Self.API;
3307end;
3308
3309
3310
3311initialization
3312  TManagerAPI.RegisterAPI;
3313end.
3314