Repository URL to install this package:
|
Version:
3.2.0 ▾
|
unit googledns;
{$MODE objfpc}
{$H+}
interface
uses sysutils, classes, googleservice, restbase, googlebase;
type
//Top-level schema types
TChange = Class;
TChangesListResponse = Class;
TManagedZone = Class;
TManagedZonesListResponse = Class;
TProject = Class;
TQuota = Class;
TResourceRecordSet = Class;
TResourceRecordSetsListResponse = Class;
TChangeArray = Array of TChange;
TChangesListResponseArray = Array of TChangesListResponse;
TManagedZoneArray = Array of TManagedZone;
TManagedZonesListResponseArray = Array of TManagedZonesListResponse;
TProjectArray = Array of TProject;
TQuotaArray = Array of TQuota;
TResourceRecordSetArray = Array of TResourceRecordSet;
TResourceRecordSetsListResponseArray = Array of TResourceRecordSetsListResponse;
//Anonymous types, using auto-generated names
TChangeTypeadditionsArray = Array of TResourceRecordSet;
TChangeTypedeletionsArray = Array of TResourceRecordSet;
TChangesListResponseTypechangesArray = Array of TChange;
TManagedZonesListResponseTypemanagedZonesArray = Array of TManagedZone;
TResourceRecordSetsListResponseTyperrsetsArray = Array of TResourceRecordSet;
{ --------------------------------------------------------------------
TChange
--------------------------------------------------------------------}
TChange = Class(TGoogleBaseObject)
Private
Fadditions : TChangeTypeadditionsArray;
Fdeletions : TChangeTypedeletionsArray;
Fid : String;
Fkind : String;
FstartTime : String;
Fstatus : String;
Protected
//Property setters
Procedure Setadditions(AIndex : Integer; const AValue : TChangeTypeadditionsArray); virtual;
Procedure Setdeletions(AIndex : Integer; const AValue : TChangeTypedeletionsArray); virtual;
Procedure Setid(AIndex : Integer; const AValue : String); virtual;
Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
Procedure SetstartTime(AIndex : Integer; const AValue : String); virtual;
Procedure Setstatus(AIndex : Integer; const AValue : String); virtual;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
{$ENDIF VER2_6}
Public
Published
Property additions : TChangeTypeadditionsArray Index 0 Read Fadditions Write Setadditions;
Property deletions : TChangeTypedeletionsArray Index 8 Read Fdeletions Write Setdeletions;
Property id : String Index 16 Read Fid Write Setid;
Property kind : String Index 24 Read Fkind Write Setkind;
Property startTime : String Index 32 Read FstartTime Write SetstartTime;
Property status : String Index 40 Read Fstatus Write Setstatus;
end;
TChangeClass = Class of TChange;
{ --------------------------------------------------------------------
TChangesListResponse
--------------------------------------------------------------------}
TChangesListResponse = Class(TGoogleBaseObject)
Private
Fchanges : TChangesListResponseTypechangesArray;
Fkind : String;
FnextPageToken : String;
Protected
//Property setters
Procedure Setchanges(AIndex : Integer; const AValue : TChangesListResponseTypechangesArray); virtual;
Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
{$ENDIF VER2_6}
Public
Published
Property changes : TChangesListResponseTypechangesArray Index 0 Read Fchanges Write Setchanges;
Property kind : String Index 8 Read Fkind Write Setkind;
Property nextPageToken : String Index 16 Read FnextPageToken Write SetnextPageToken;
end;
TChangesListResponseClass = Class of TChangesListResponse;
{ --------------------------------------------------------------------
TManagedZone
--------------------------------------------------------------------}
TManagedZone = Class(TGoogleBaseObject)
Private
FcreationTime : String;
Fdescription : String;
FdnsName : String;
Fid : String;
Fkind : String;
Fname : String;
FnameServerSet : String;
FnameServers : TStringArray;
Protected
//Property setters
Procedure SetcreationTime(AIndex : Integer; const AValue : String); virtual;
Procedure Setdescription(AIndex : Integer; const AValue : String); virtual;
Procedure SetdnsName(AIndex : Integer; const AValue : String); virtual;
Procedure Setid(AIndex : Integer; const AValue : String); virtual;
Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
Procedure Setname(AIndex : Integer; const AValue : String); virtual;
Procedure SetnameServerSet(AIndex : Integer; const AValue : String); virtual;
Procedure SetnameServers(AIndex : Integer; const AValue : TStringArray); virtual;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
{$ENDIF VER2_6}
Public
Published
Property creationTime : String Index 0 Read FcreationTime Write SetcreationTime;
Property description : String Index 8 Read Fdescription Write Setdescription;
Property dnsName : String Index 16 Read FdnsName Write SetdnsName;
Property id : String Index 24 Read Fid Write Setid;
Property kind : String Index 32 Read Fkind Write Setkind;
Property name : String Index 40 Read Fname Write Setname;
Property nameServerSet : String Index 48 Read FnameServerSet Write SetnameServerSet;
Property nameServers : TStringArray Index 56 Read FnameServers Write SetnameServers;
end;
TManagedZoneClass = Class of TManagedZone;
{ --------------------------------------------------------------------
TManagedZonesListResponse
--------------------------------------------------------------------}
TManagedZonesListResponse = Class(TGoogleBaseObject)
Private
Fkind : String;
FmanagedZones : TManagedZonesListResponseTypemanagedZonesArray;
FnextPageToken : String;
Protected
//Property setters
Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
Procedure SetmanagedZones(AIndex : Integer; const AValue : TManagedZonesListResponseTypemanagedZonesArray); virtual;
Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
{$ENDIF VER2_6}
Public
Published
Property kind : String Index 0 Read Fkind Write Setkind;
Property managedZones : TManagedZonesListResponseTypemanagedZonesArray Index 8 Read FmanagedZones Write SetmanagedZones;
Property nextPageToken : String Index 16 Read FnextPageToken Write SetnextPageToken;
end;
TManagedZonesListResponseClass = Class of TManagedZonesListResponse;
{ --------------------------------------------------------------------
TProject
--------------------------------------------------------------------}
TProject = Class(TGoogleBaseObject)
Private
Fid : String;
Fkind : String;
Fnumber : String;
Fquota : TQuota;
Protected
//Property setters
Procedure Setid(AIndex : Integer; const AValue : String); virtual;
Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
Procedure Setnumber(AIndex : Integer; const AValue : String); virtual;
Procedure Setquota(AIndex : Integer; const AValue : TQuota); virtual;
Public
Published
Property id : String Index 0 Read Fid Write Setid;
Property kind : String Index 8 Read Fkind Write Setkind;
Property number : String Index 16 Read Fnumber Write Setnumber;
Property quota : TQuota Index 24 Read Fquota Write Setquota;
end;
TProjectClass = Class of TProject;
{ --------------------------------------------------------------------
TQuota
--------------------------------------------------------------------}
TQuota = Class(TGoogleBaseObject)
Private
Fkind : String;
FmanagedZones : integer;
FresourceRecordsPerRrset : integer;
FrrsetAdditionsPerChange : integer;
FrrsetDeletionsPerChange : integer;
FrrsetsPerManagedZone : integer;
FtotalRrdataSizePerChange : integer;
Protected
//Property setters
Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
Procedure SetmanagedZones(AIndex : Integer; const AValue : integer); virtual;
Procedure SetresourceRecordsPerRrset(AIndex : Integer; const AValue : integer); virtual;
Procedure SetrrsetAdditionsPerChange(AIndex : Integer; const AValue : integer); virtual;
Procedure SetrrsetDeletionsPerChange(AIndex : Integer; const AValue : integer); virtual;
Procedure SetrrsetsPerManagedZone(AIndex : Integer; const AValue : integer); virtual;
Procedure SettotalRrdataSizePerChange(AIndex : Integer; const AValue : integer); virtual;
Public
Published
Property kind : String Index 0 Read Fkind Write Setkind;
Property managedZones : integer Index 8 Read FmanagedZones Write SetmanagedZones;
Property resourceRecordsPerRrset : integer Index 16 Read FresourceRecordsPerRrset Write SetresourceRecordsPerRrset;
Property rrsetAdditionsPerChange : integer Index 24 Read FrrsetAdditionsPerChange Write SetrrsetAdditionsPerChange;
Property rrsetDeletionsPerChange : integer Index 32 Read FrrsetDeletionsPerChange Write SetrrsetDeletionsPerChange;
Property rrsetsPerManagedZone : integer Index 40 Read FrrsetsPerManagedZone Write SetrrsetsPerManagedZone;
Property totalRrdataSizePerChange : integer Index 48 Read FtotalRrdataSizePerChange Write SettotalRrdataSizePerChange;
end;
TQuotaClass = Class of TQuota;
{ --------------------------------------------------------------------
TResourceRecordSet
--------------------------------------------------------------------}
TResourceRecordSet = Class(TGoogleBaseObject)
Private
Fkind : String;
Fname : String;
Frrdatas : TStringArray;
Fttl : integer;
F_type : String;
Protected
Class Function ExportPropertyName(Const AName : String) : string; override;
//Property setters
Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
Procedure Setname(AIndex : Integer; const AValue : String); virtual;
Procedure Setrrdatas(AIndex : Integer; const AValue : TStringArray); virtual;
Procedure Setttl(AIndex : Integer; const AValue : integer); virtual;
Procedure Set_type(AIndex : Integer; const AValue : String); virtual;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
{$ENDIF VER2_6}
Public
Published
Property kind : String Index 0 Read Fkind Write Setkind;
Property name : String Index 8 Read Fname Write Setname;
Property rrdatas : TStringArray Index 16 Read Frrdatas Write Setrrdatas;
Property ttl : integer Index 24 Read Fttl Write Setttl;
Property _type : String Index 32 Read F_type Write Set_type;
end;
TResourceRecordSetClass = Class of TResourceRecordSet;
{ --------------------------------------------------------------------
TResourceRecordSetsListResponse
--------------------------------------------------------------------}
TResourceRecordSetsListResponse = Class(TGoogleBaseObject)
Private
Fkind : String;
FnextPageToken : String;
Frrsets : TResourceRecordSetsListResponseTyperrsetsArray;
Protected
//Property setters
Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual;
Procedure Setrrsets(AIndex : Integer; const AValue : TResourceRecordSetsListResponseTyperrsetsArray); virtual;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
{$ENDIF VER2_6}
Public
Published
Property kind : String Index 0 Read Fkind Write Setkind;
Property nextPageToken : String Index 8 Read FnextPageToken Write SetnextPageToken;
Property rrsets : TResourceRecordSetsListResponseTyperrsetsArray Index 16 Read Frrsets Write Setrrsets;
end;
TResourceRecordSetsListResponseClass = Class of TResourceRecordSetsListResponse;
{ --------------------------------------------------------------------
TChangesResource
--------------------------------------------------------------------}
//Optional query Options for TChangesResource, method List
TChangesListOptions = Record
maxResults : integer;
pageToken : String;
sortBy : String;
sortOrder : String;
end;
TChangesResource = Class(TGoogleResource)
Public
Class Function ResourceName : String; override;
Class Function DefaultAPI : TGoogleAPIClass; override;
Function Create(managedZone: string; project: string; aChange : TChange) : TChange;overload;
Function Get(changeId: string; managedZone: string; project: string) : TChange;
Function List(managedZone: string; project: string; AQuery : string = '') : TChangesListResponse;
Function List(managedZone: string; project: string; AQuery : TChangeslistOptions) : TChangesListResponse;
end;
{ --------------------------------------------------------------------
TManagedZonesResource
--------------------------------------------------------------------}
//Optional query Options for TManagedZonesResource, method List
TManagedZonesListOptions = Record
dnsName : String;
maxResults : integer;
pageToken : String;
end;
TManagedZonesResource = Class(TGoogleResource)
Public
Class Function ResourceName : String; override;
Class Function DefaultAPI : TGoogleAPIClass; override;
Function Create(project: string; aManagedZone : TManagedZone) : TManagedZone;overload;
Procedure Delete(managedZone: string; project: string);
Function Get(managedZone: string; project: string) : TManagedZone;
Function List(project: string; AQuery : string = '') : TManagedZonesListResponse;
Function List(project: string; AQuery : TManagedZoneslistOptions) : TManagedZonesListResponse;
end;
{ --------------------------------------------------------------------
TProjectsResource
--------------------------------------------------------------------}
TProjectsResource = Class(TGoogleResource)
Public
Class Function ResourceName : String; override;
Class Function DefaultAPI : TGoogleAPIClass; override;
Function Get(project: string) : TProject;
end;
{ --------------------------------------------------------------------
TResourceRecordSetsResource
--------------------------------------------------------------------}
//Optional query Options for TResourceRecordSetsResource, method List
TResourceRecordSetsListOptions = Record
maxResults : integer;
_name : String;
pageToken : String;
_type : String;
end;
TResourceRecordSetsResource = Class(TGoogleResource)
Public
Class Function ResourceName : String; override;
Class Function DefaultAPI : TGoogleAPIClass; override;
Function List(managedZone: string; project: string; AQuery : string = '') : TResourceRecordSetsListResponse;
Function List(managedZone: string; project: string; AQuery : TResourceRecordSetslistOptions) : TResourceRecordSetsListResponse;
end;
{ --------------------------------------------------------------------
TDnsAPI
--------------------------------------------------------------------}
TDnsAPI = Class(TGoogleAPI)
Private
FChangesInstance : TChangesResource;
FManagedZonesInstance : TManagedZonesResource;
FProjectsInstance : TProjectsResource;
FResourceRecordSetsInstance : TResourceRecordSetsResource;
Function GetChangesInstance : TChangesResource;virtual;
Function GetManagedZonesInstance : TManagedZonesResource;virtual;
Function GetProjectsInstance : TProjectsResource;virtual;
Function GetResourceRecordSetsInstance : TResourceRecordSetsResource;virtual;
Public
//Override class functions with API info
Class Function APIName : String; override;
Class Function APIVersion : String; override;
Class Function APIRevision : String; override;
Class Function APIID : String; override;
Class Function APITitle : String; override;
Class Function APIDescription : String; override;
Class Function APIOwnerDomain : String; override;
Class Function APIOwnerName : String; override;
Class Function APIIcon16 : String; override;
Class Function APIIcon32 : String; override;
Class Function APIdocumentationLink : String; override;
Class Function APIrootUrl : string; override;
Class Function APIbasePath : string;override;
Class Function APIbaseURL : String;override;
Class Function APIProtocol : string;override;
Class Function APIservicePath : string;override;
Class Function APIbatchPath : String;override;
Class Function APIAuthScopes : TScopeInfoArray;override;
Class Function APINeedsAuth : Boolean;override;
Class Procedure RegisterAPIResources; override;
//Add create function for resources
Function CreateChangesResource(AOwner : TComponent) : TChangesResource;virtual;overload;
Function CreateChangesResource : TChangesResource;virtual;overload;
Function CreateManagedZonesResource(AOwner : TComponent) : TManagedZonesResource;virtual;overload;
Function CreateManagedZonesResource : TManagedZonesResource;virtual;overload;
Function CreateProjectsResource(AOwner : TComponent) : TProjectsResource;virtual;overload;
Function CreateProjectsResource : TProjectsResource;virtual;overload;
Function CreateResourceRecordSetsResource(AOwner : TComponent) : TResourceRecordSetsResource;virtual;overload;
Function CreateResourceRecordSetsResource : TResourceRecordSetsResource;virtual;overload;
//Add default on-demand instances for resources
Property ChangesResource : TChangesResource Read GetChangesInstance;
Property ManagedZonesResource : TManagedZonesResource Read GetManagedZonesInstance;
Property ProjectsResource : TProjectsResource Read GetProjectsInstance;
Property ResourceRecordSetsResource : TResourceRecordSetsResource Read GetResourceRecordSetsInstance;
end;
implementation
{ --------------------------------------------------------------------
TChange
--------------------------------------------------------------------}
Procedure TChange.Setadditions(AIndex : Integer; const AValue : TChangeTypeadditionsArray);
begin
If (Fadditions=AValue) then exit;
Fadditions:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TChange.Setdeletions(AIndex : Integer; const AValue : TChangeTypedeletionsArray);
begin
If (Fdeletions=AValue) then exit;
Fdeletions:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TChange.Setid(AIndex : Integer; const AValue : String);
begin
If (Fid=AValue) then exit;
Fid:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TChange.Setkind(AIndex : Integer; const AValue : String);
begin
If (Fkind=AValue) then exit;
Fkind:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TChange.SetstartTime(AIndex : Integer; const AValue : String);
begin
If (FstartTime=AValue) then exit;
FstartTime:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TChange.Setstatus(AIndex : Integer; const AValue : String);
begin
If (Fstatus=AValue) then exit;
Fstatus:=AValue;
MarkPropertyChanged(AIndex);
end;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure TChange.SetArrayLength(Const AName : String; ALength : Longint);
begin
Case AName of
'additions' : SetLength(Fadditions,ALength);
'deletions' : SetLength(Fdeletions,ALength);
else
Inherited SetArrayLength(AName,ALength);
end;
end;
{$ENDIF VER2_6}
{ --------------------------------------------------------------------
TChangesListResponse
--------------------------------------------------------------------}
Procedure TChangesListResponse.Setchanges(AIndex : Integer; const AValue : TChangesListResponseTypechangesArray);
begin
If (Fchanges=AValue) then exit;
Fchanges:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TChangesListResponse.Setkind(AIndex : Integer; const AValue : String);
begin
If (Fkind=AValue) then exit;
Fkind:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TChangesListResponse.SetnextPageToken(AIndex : Integer; const AValue : String);
begin
If (FnextPageToken=AValue) then exit;
FnextPageToken:=AValue;
MarkPropertyChanged(AIndex);
end;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure TChangesListResponse.SetArrayLength(Const AName : String; ALength : Longint);
begin
Case AName of
'changes' : SetLength(Fchanges,ALength);
else
Inherited SetArrayLength(AName,ALength);
end;
end;
{$ENDIF VER2_6}
{ --------------------------------------------------------------------
TManagedZone
--------------------------------------------------------------------}
Procedure TManagedZone.SetcreationTime(AIndex : Integer; const AValue : String);
begin
If (FcreationTime=AValue) then exit;
FcreationTime:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TManagedZone.Setdescription(AIndex : Integer; const AValue : String);
begin
If (Fdescription=AValue) then exit;
Fdescription:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TManagedZone.SetdnsName(AIndex : Integer; const AValue : String);
begin
If (FdnsName=AValue) then exit;
FdnsName:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TManagedZone.Setid(AIndex : Integer; const AValue : String);
begin
If (Fid=AValue) then exit;
Fid:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TManagedZone.Setkind(AIndex : Integer; const AValue : String);
begin
If (Fkind=AValue) then exit;
Fkind:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TManagedZone.Setname(AIndex : Integer; const AValue : String);
begin
If (Fname=AValue) then exit;
Fname:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TManagedZone.SetnameServerSet(AIndex : Integer; const AValue : String);
begin
If (FnameServerSet=AValue) then exit;
FnameServerSet:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TManagedZone.SetnameServers(AIndex : Integer; const AValue : TStringArray);
begin
If (FnameServers=AValue) then exit;
FnameServers:=AValue;
MarkPropertyChanged(AIndex);
end;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure TManagedZone.SetArrayLength(Const AName : String; ALength : Longint);
begin
Case AName of
'nameservers' : SetLength(FnameServers,ALength);
else
Inherited SetArrayLength(AName,ALength);
end;
end;
{$ENDIF VER2_6}
{ --------------------------------------------------------------------
TManagedZonesListResponse
--------------------------------------------------------------------}
Procedure TManagedZonesListResponse.Setkind(AIndex : Integer; const AValue : String);
begin
If (Fkind=AValue) then exit;
Fkind:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TManagedZonesListResponse.SetmanagedZones(AIndex : Integer; const AValue : TManagedZonesListResponseTypemanagedZonesArray);
begin
If (FmanagedZones=AValue) then exit;
FmanagedZones:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TManagedZonesListResponse.SetnextPageToken(AIndex : Integer; const AValue : String);
begin
If (FnextPageToken=AValue) then exit;
FnextPageToken:=AValue;
MarkPropertyChanged(AIndex);
end;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure TManagedZonesListResponse.SetArrayLength(Const AName : String; ALength : Longint);
begin
Case AName of
'managedzones' : SetLength(FmanagedZones,ALength);
else
Inherited SetArrayLength(AName,ALength);
end;
end;
{$ENDIF VER2_6}
{ --------------------------------------------------------------------
TProject
--------------------------------------------------------------------}
Procedure TProject.Setid(AIndex : Integer; const AValue : String);
begin
If (Fid=AValue) then exit;
Fid:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TProject.Setkind(AIndex : Integer; const AValue : String);
begin
If (Fkind=AValue) then exit;
Fkind:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TProject.Setnumber(AIndex : Integer; const AValue : String);
begin
If (Fnumber=AValue) then exit;
Fnumber:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TProject.Setquota(AIndex : Integer; const AValue : TQuota);
begin
If (Fquota=AValue) then exit;
Fquota:=AValue;
MarkPropertyChanged(AIndex);
end;
{ --------------------------------------------------------------------
TQuota
--------------------------------------------------------------------}
Procedure TQuota.Setkind(AIndex : Integer; const AValue : String);
begin
If (Fkind=AValue) then exit;
Fkind:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TQuota.SetmanagedZones(AIndex : Integer; const AValue : integer);
begin
If (FmanagedZones=AValue) then exit;
FmanagedZones:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TQuota.SetresourceRecordsPerRrset(AIndex : Integer; const AValue : integer);
begin
If (FresourceRecordsPerRrset=AValue) then exit;
FresourceRecordsPerRrset:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TQuota.SetrrsetAdditionsPerChange(AIndex : Integer; const AValue : integer);
begin
If (FrrsetAdditionsPerChange=AValue) then exit;
FrrsetAdditionsPerChange:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TQuota.SetrrsetDeletionsPerChange(AIndex : Integer; const AValue : integer);
begin
If (FrrsetDeletionsPerChange=AValue) then exit;
FrrsetDeletionsPerChange:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TQuota.SetrrsetsPerManagedZone(AIndex : Integer; const AValue : integer);
begin
If (FrrsetsPerManagedZone=AValue) then exit;
FrrsetsPerManagedZone:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TQuota.SettotalRrdataSizePerChange(AIndex : Integer; const AValue : integer);
begin
If (FtotalRrdataSizePerChange=AValue) then exit;
FtotalRrdataSizePerChange:=AValue;
MarkPropertyChanged(AIndex);
end;
{ --------------------------------------------------------------------
TResourceRecordSet
--------------------------------------------------------------------}
Procedure TResourceRecordSet.Setkind(AIndex : Integer; const AValue : String);
begin
If (Fkind=AValue) then exit;
Fkind:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TResourceRecordSet.Setname(AIndex : Integer; const AValue : String);
begin
If (Fname=AValue) then exit;
Fname:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TResourceRecordSet.Setrrdatas(AIndex : Integer; const AValue : TStringArray);
begin
If (Frrdatas=AValue) then exit;
Frrdatas:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TResourceRecordSet.Setttl(AIndex : Integer; const AValue : integer);
begin
If (Fttl=AValue) then exit;
Fttl:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TResourceRecordSet.Set_type(AIndex : Integer; const AValue : String);
begin
If (F_type=AValue) then exit;
F_type:=AValue;
MarkPropertyChanged(AIndex);
end;
Class Function TResourceRecordSet.ExportPropertyName(Const AName : String) :String;
begin
Case AName of
'_type' : Result:='type';
else
Result:=Inherited ExportPropertyName(AName);
end;
end;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure TResourceRecordSet.SetArrayLength(Const AName : String; ALength : Longint);
begin
Case AName of
'rrdatas' : SetLength(Frrdatas,ALength);
else
Inherited SetArrayLength(AName,ALength);
end;
end;
{$ENDIF VER2_6}
{ --------------------------------------------------------------------
TResourceRecordSetsListResponse
--------------------------------------------------------------------}
Procedure TResourceRecordSetsListResponse.Setkind(AIndex : Integer; const AValue : String);
begin
If (Fkind=AValue) then exit;
Fkind:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TResourceRecordSetsListResponse.SetnextPageToken(AIndex : Integer; const AValue : String);
begin
If (FnextPageToken=AValue) then exit;
FnextPageToken:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TResourceRecordSetsListResponse.Setrrsets(AIndex : Integer; const AValue : TResourceRecordSetsListResponseTyperrsetsArray);
begin
If (Frrsets=AValue) then exit;
Frrsets:=AValue;
MarkPropertyChanged(AIndex);
end;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure TResourceRecordSetsListResponse.SetArrayLength(Const AName : String; ALength : Longint);
begin
Case AName of
'rrsets' : SetLength(Frrsets,ALength);
else
Inherited SetArrayLength(AName,ALength);
end;
end;
{$ENDIF VER2_6}
{ --------------------------------------------------------------------
TChangesResource
--------------------------------------------------------------------}
Class Function TChangesResource.ResourceName : String;
begin
Result:='changes';
end;
Class Function TChangesResource.DefaultAPI : TGoogleAPIClass;
begin
Result:=TdnsAPI;
end;
Function TChangesResource.Create(managedZone: string; project: string; aChange : TChange) : TChange;
Const
_HTTPMethod = 'POST';
_Path = '{project}/managedZones/{managedZone}/changes';
_Methodid = 'dns.changes.create';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['managedZone',managedZone,'project',project]);
Result:=ServiceCall(_HTTPMethod,_P,'',aChange,TChange) as TChange;
end;
Function TChangesResource.Get(changeId: string; managedZone: string; project: string) : TChange;
Const
_HTTPMethod = 'GET';
_Path = '{project}/managedZones/{managedZone}/changes/{changeId}';
_Methodid = 'dns.changes.get';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['changeId',changeId,'managedZone',managedZone,'project',project]);
Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TChange) as TChange;
end;
Function TChangesResource.List(managedZone: string; project: string; AQuery : string = '') : TChangesListResponse;
Const
_HTTPMethod = 'GET';
_Path = '{project}/managedZones/{managedZone}/changes';
_Methodid = 'dns.changes.list';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['managedZone',managedZone,'project',project]);
Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TChangesListResponse) as TChangesListResponse;
end;
Function TChangesResource.List(managedZone: string; project: string; AQuery : TChangeslistOptions) : TChangesListResponse;
Var
_Q : String;
begin
_Q:='';
AddToQuery(_Q,'maxResults',AQuery.maxResults);
AddToQuery(_Q,'pageToken',AQuery.pageToken);
AddToQuery(_Q,'sortBy',AQuery.sortBy);
AddToQuery(_Q,'sortOrder',AQuery.sortOrder);
Result:=List(managedZone,project,_Q);
end;
{ --------------------------------------------------------------------
TManagedZonesResource
--------------------------------------------------------------------}
Class Function TManagedZonesResource.ResourceName : String;
begin
Result:='managedZones';
end;
Class Function TManagedZonesResource.DefaultAPI : TGoogleAPIClass;
begin
Result:=TdnsAPI;
end;
Function TManagedZonesResource.Create(project: string; aManagedZone : TManagedZone) : TManagedZone;
Const
_HTTPMethod = 'POST';
_Path = '{project}/managedZones';
_Methodid = 'dns.managedZones.create';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['project',project]);
Result:=ServiceCall(_HTTPMethod,_P,'',aManagedZone,TManagedZone) as TManagedZone;
end;
Procedure TManagedZonesResource.Delete(managedZone: string; project: string);
Const
_HTTPMethod = 'DELETE';
_Path = '{project}/managedZones/{managedZone}';
_Methodid = 'dns.managedZones.delete';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['managedZone',managedZone,'project',project]);
ServiceCall(_HTTPMethod,_P,'',Nil,Nil);
end;
Function TManagedZonesResource.Get(managedZone: string; project: string) : TManagedZone;
Const
_HTTPMethod = 'GET';
_Path = '{project}/managedZones/{managedZone}';
_Methodid = 'dns.managedZones.get';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['managedZone',managedZone,'project',project]);
Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TManagedZone) as TManagedZone;
end;
Function TManagedZonesResource.List(project: string; AQuery : string = '') : TManagedZonesListResponse;
Const
_HTTPMethod = 'GET';
_Path = '{project}/managedZones';
_Methodid = 'dns.managedZones.list';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['project',project]);
Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TManagedZonesListResponse) as TManagedZonesListResponse;
end;
Function TManagedZonesResource.List(project: string; AQuery : TManagedZoneslistOptions) : TManagedZonesListResponse;
Var
_Q : String;
begin
_Q:='';
AddToQuery(_Q,'dnsName',AQuery.dnsName);
AddToQuery(_Q,'maxResults',AQuery.maxResults);
AddToQuery(_Q,'pageToken',AQuery.pageToken);
Result:=List(project,_Q);
end;
{ --------------------------------------------------------------------
TProjectsResource
--------------------------------------------------------------------}
Class Function TProjectsResource.ResourceName : String;
begin
Result:='projects';
end;
Class Function TProjectsResource.DefaultAPI : TGoogleAPIClass;
begin
Result:=TdnsAPI;
end;
Function TProjectsResource.Get(project: string) : TProject;
Const
_HTTPMethod = 'GET';
_Path = '{project}';
_Methodid = 'dns.projects.get';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['project',project]);
Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TProject) as TProject;
end;
{ --------------------------------------------------------------------
TResourceRecordSetsResource
--------------------------------------------------------------------}
Class Function TResourceRecordSetsResource.ResourceName : String;
begin
Result:='resourceRecordSets';
end;
Class Function TResourceRecordSetsResource.DefaultAPI : TGoogleAPIClass;
begin
Result:=TdnsAPI;
end;
Function TResourceRecordSetsResource.List(managedZone: string; project: string; AQuery : string = '') : TResourceRecordSetsListResponse;
Const
_HTTPMethod = 'GET';
_Path = '{project}/managedZones/{managedZone}/rrsets';
_Methodid = 'dns.resourceRecordSets.list';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['managedZone',managedZone,'project',project]);
Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TResourceRecordSetsListResponse) as TResourceRecordSetsListResponse;
end;
Function TResourceRecordSetsResource.List(managedZone: string; project: string; AQuery : TResourceRecordSetslistOptions) : TResourceRecordSetsListResponse;
Var
_Q : String;
begin
_Q:='';
AddToQuery(_Q,'maxResults',AQuery.maxResults);
AddToQuery(_Q,'name',AQuery._name);
AddToQuery(_Q,'pageToken',AQuery.pageToken);
AddToQuery(_Q,'type',AQuery._type);
Result:=List(managedZone,project,_Q);
end;
{ --------------------------------------------------------------------
TDnsAPI
--------------------------------------------------------------------}
Class Function TDnsAPI.APIName : String;
begin
Result:='dns';
end;
Class Function TDnsAPI.APIVersion : String;
begin
Result:='v1';
end;
Class Function TDnsAPI.APIRevision : String;
begin
Result:='20160513';
end;
Class Function TDnsAPI.APIID : String;
begin
Result:='dns:v1';
end;
Class Function TDnsAPI.APITitle : String;
begin
Result:='Google Cloud DNS API';
end;
Class Function TDnsAPI.APIDescription : String;
begin
Result:='Configures and serves authoritative DNS records.';
end;
Class Function TDnsAPI.APIOwnerDomain : String;
begin
Result:='google.com';
end;
Class Function TDnsAPI.APIOwnerName : String;
begin
Result:='Google';
end;
Class Function TDnsAPI.APIIcon16 : String;
begin
Result:='http://www.google.com/images/icons/product/search-16.gif';
end;
Class Function TDnsAPI.APIIcon32 : String;
begin
Result:='http://www.google.com/images/icons/product/search-32.gif';
end;
Class Function TDnsAPI.APIdocumentationLink : String;
begin
Result:='https://developers.google.com/cloud-dns';
end;
Class Function TDnsAPI.APIrootUrl : string;
begin
Result:='https://www.googleapis.com/';
end;
Class Function TDnsAPI.APIbasePath : string;
begin
Result:='/dns/v1/projects/';
end;
Class Function TDnsAPI.APIbaseURL : String;
begin
Result:='https://www.googleapis.com/dns/v1/projects/';
end;
Class Function TDnsAPI.APIProtocol : string;
begin
Result:='rest';
end;
Class Function TDnsAPI.APIservicePath : string;
begin
Result:='dns/v1/projects/';
end;
Class Function TDnsAPI.APIbatchPath : String;
begin
Result:='batch';
end;
Class Function TDnsAPI.APIAuthScopes : TScopeInfoArray;
begin
SetLength(Result,4);
Result[0].Name:='https://www.googleapis.com/auth/cloud-platform';
Result[0].Description:='View and manage your data across Google Cloud Platform services';
Result[1].Name:='https://www.googleapis.com/auth/cloud-platform.read-only';
Result[1].Description:='View your data across Google Cloud Platform services';
Result[2].Name:='https://www.googleapis.com/auth/ndev.clouddns.readonly';
Result[2].Description:='View your DNS records hosted by Google Cloud DNS';
Result[3].Name:='https://www.googleapis.com/auth/ndev.clouddns.readwrite';
Result[3].Description:='View and manage your DNS records hosted by Google Cloud DNS';
end;
Class Function TDnsAPI.APINeedsAuth : Boolean;
begin
Result:=True;
end;
Class Procedure TDnsAPI.RegisterAPIResources;
begin
TChange.RegisterObject;
TChangesListResponse.RegisterObject;
TManagedZone.RegisterObject;
TManagedZonesListResponse.RegisterObject;
TProject.RegisterObject;
TQuota.RegisterObject;
TResourceRecordSet.RegisterObject;
TResourceRecordSetsListResponse.RegisterObject;
end;
Function TDnsAPI.GetChangesInstance : TChangesResource;
begin
if (FChangesInstance=Nil) then
FChangesInstance:=CreateChangesResource;
Result:=FChangesInstance;
end;
Function TDnsAPI.CreateChangesResource : TChangesResource;
begin
Result:=CreateChangesResource(Self);
end;
Function TDnsAPI.CreateChangesResource(AOwner : TComponent) : TChangesResource;
begin
Result:=TChangesResource.Create(AOwner);
Result.API:=Self.API;
end;
Function TDnsAPI.GetManagedZonesInstance : TManagedZonesResource;
begin
if (FManagedZonesInstance=Nil) then
FManagedZonesInstance:=CreateManagedZonesResource;
Result:=FManagedZonesInstance;
end;
Function TDnsAPI.CreateManagedZonesResource : TManagedZonesResource;
begin
Result:=CreateManagedZonesResource(Self);
end;
Function TDnsAPI.CreateManagedZonesResource(AOwner : TComponent) : TManagedZonesResource;
begin
Result:=TManagedZonesResource.Create(AOwner);
Result.API:=Self.API;
end;
Function TDnsAPI.GetProjectsInstance : TProjectsResource;
begin
if (FProjectsInstance=Nil) then
FProjectsInstance:=CreateProjectsResource;
Result:=FProjectsInstance;
end;
Function TDnsAPI.CreateProjectsResource : TProjectsResource;
begin
Result:=CreateProjectsResource(Self);
end;
Function TDnsAPI.CreateProjectsResource(AOwner : TComponent) : TProjectsResource;
begin
Result:=TProjectsResource.Create(AOwner);
Result.API:=Self.API;
end;
Function TDnsAPI.GetResourceRecordSetsInstance : TResourceRecordSetsResource;
begin
if (FResourceRecordSetsInstance=Nil) then
FResourceRecordSetsInstance:=CreateResourceRecordSetsResource;
Result:=FResourceRecordSetsInstance;
end;
Function TDnsAPI.CreateResourceRecordSetsResource : TResourceRecordSetsResource;
begin
Result:=CreateResourceRecordSetsResource(Self);
end;
Function TDnsAPI.CreateResourceRecordSetsResource(AOwner : TComponent) : TResourceRecordSetsResource;
begin
Result:=TResourceRecordSetsResource.Create(AOwner);
Result.API:=Self.API;
end;
initialization
TDnsAPI.RegisterAPI;
end.