Repository URL to install this package:
|
Version:
3.2.0 ▾
|
unit googlecloudresourcemanager;
{$MODE objfpc}
{$H+}
interface
uses sysutils, classes, googleservice, restbase, googlebase;
type
//Top-level schema types
TProject = Class;
TResourceId = Class;
TListProjectsResponse = Class;
TEmpty = Class;
TUndeleteProjectRequest = Class;
TGetIamPolicyRequest = Class;
TPolicy = Class;
TBinding = Class;
TSetIamPolicyRequest = Class;
TTestIamPermissionsRequest = Class;
TTestIamPermissionsResponse = Class;
TProjectArray = Array of TProject;
TResourceIdArray = Array of TResourceId;
TListProjectsResponseArray = Array of TListProjectsResponse;
TEmptyArray = Array of TEmpty;
TUndeleteProjectRequestArray = Array of TUndeleteProjectRequest;
TGetIamPolicyRequestArray = Array of TGetIamPolicyRequest;
TPolicyArray = Array of TPolicy;
TBindingArray = Array of TBinding;
TSetIamPolicyRequestArray = Array of TSetIamPolicyRequest;
TTestIamPermissionsRequestArray = Array of TTestIamPermissionsRequest;
TTestIamPermissionsResponseArray = Array of TTestIamPermissionsResponse;
//Anonymous types, using auto-generated names
TProjectTypelabels = Class;
TListProjectsResponseTypeprojectsArray = Array of TProject;
TPolicyTypebindingsArray = Array of TBinding;
{ --------------------------------------------------------------------
TProjectTypelabels
--------------------------------------------------------------------}
TProjectTypelabels = Class(TGoogleBaseObject)
Private
Protected
//Property setters
Public
Class Function AllowAdditionalProperties : Boolean; override;
Published
end;
TProjectTypelabelsClass = Class of TProjectTypelabels;
{ --------------------------------------------------------------------
TProject
--------------------------------------------------------------------}
TProject = Class(TGoogleBaseObject)
Private
FprojectNumber : String;
FprojectId : String;
FlifecycleState : String;
Fname : String;
FcreateTime : String;
Flabels : TProjectTypelabels;
Fparent : TResourceId;
Protected
//Property setters
Procedure SetprojectNumber(AIndex : Integer; const AValue : String); virtual;
Procedure SetprojectId(AIndex : Integer; const AValue : String); virtual;
Procedure SetlifecycleState(AIndex : Integer; const AValue : String); virtual;
Procedure Setname(AIndex : Integer; const AValue : String); virtual;
Procedure SetcreateTime(AIndex : Integer; const AValue : String); virtual;
Procedure Setlabels(AIndex : Integer; const AValue : TProjectTypelabels); virtual;
Procedure Setparent(AIndex : Integer; const AValue : TResourceId); virtual;
Public
Published
Property projectNumber : String Index 0 Read FprojectNumber Write SetprojectNumber;
Property projectId : String Index 8 Read FprojectId Write SetprojectId;
Property lifecycleState : String Index 16 Read FlifecycleState Write SetlifecycleState;
Property name : String Index 24 Read Fname Write Setname;
Property createTime : String Index 32 Read FcreateTime Write SetcreateTime;
Property labels : TProjectTypelabels Index 40 Read Flabels Write Setlabels;
Property parent : TResourceId Index 48 Read Fparent Write Setparent;
end;
TProjectClass = Class of TProject;
{ --------------------------------------------------------------------
TResourceId
--------------------------------------------------------------------}
TResourceId = Class(TGoogleBaseObject)
Private
F_type : String;
Fid : String;
Protected
Class Function ExportPropertyName(Const AName : String) : string; override;
//Property setters
Procedure Set_type(AIndex : Integer; const AValue : String); virtual;
Procedure Setid(AIndex : Integer; const AValue : String); virtual;
Public
Published
Property _type : String Index 0 Read F_type Write Set_type;
Property id : String Index 8 Read Fid Write Setid;
end;
TResourceIdClass = Class of TResourceId;
{ --------------------------------------------------------------------
TListProjectsResponse
--------------------------------------------------------------------}
TListProjectsResponse = Class(TGoogleBaseObject)
Private
Fprojects : TListProjectsResponseTypeprojectsArray;
FnextPageToken : String;
Protected
//Property setters
Procedure Setprojects(AIndex : Integer; const AValue : TListProjectsResponseTypeprojectsArray); 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 projects : TListProjectsResponseTypeprojectsArray Index 0 Read Fprojects Write Setprojects;
Property nextPageToken : String Index 8 Read FnextPageToken Write SetnextPageToken;
end;
TListProjectsResponseClass = Class of TListProjectsResponse;
{ --------------------------------------------------------------------
TEmpty
--------------------------------------------------------------------}
TEmpty = Class(TGoogleBaseObject)
Private
Protected
//Property setters
Public
Published
end;
TEmptyClass = Class of TEmpty;
{ --------------------------------------------------------------------
TUndeleteProjectRequest
--------------------------------------------------------------------}
TUndeleteProjectRequest = Class(TGoogleBaseObject)
Private
Protected
//Property setters
Public
Published
end;
TUndeleteProjectRequestClass = Class of TUndeleteProjectRequest;
{ --------------------------------------------------------------------
TGetIamPolicyRequest
--------------------------------------------------------------------}
TGetIamPolicyRequest = Class(TGoogleBaseObject)
Private
Protected
//Property setters
Public
Published
end;
TGetIamPolicyRequestClass = Class of TGetIamPolicyRequest;
{ --------------------------------------------------------------------
TPolicy
--------------------------------------------------------------------}
TPolicy = Class(TGoogleBaseObject)
Private
Fversion : integer;
Fbindings : TPolicyTypebindingsArray;
Fetag : String;
Protected
//Property setters
Procedure Setversion(AIndex : Integer; const AValue : integer); virtual;
Procedure Setbindings(AIndex : Integer; const AValue : TPolicyTypebindingsArray); virtual;
Procedure Setetag(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 version : integer Index 0 Read Fversion Write Setversion;
Property bindings : TPolicyTypebindingsArray Index 8 Read Fbindings Write Setbindings;
Property etag : String Index 16 Read Fetag Write Setetag;
end;
TPolicyClass = Class of TPolicy;
{ --------------------------------------------------------------------
TBinding
--------------------------------------------------------------------}
TBinding = Class(TGoogleBaseObject)
Private
Frole : String;
Fmembers : TStringArray;
Protected
//Property setters
Procedure Setrole(AIndex : Integer; const AValue : String); virtual;
Procedure Setmembers(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 role : String Index 0 Read Frole Write Setrole;
Property members : TStringArray Index 8 Read Fmembers Write Setmembers;
end;
TBindingClass = Class of TBinding;
{ --------------------------------------------------------------------
TSetIamPolicyRequest
--------------------------------------------------------------------}
TSetIamPolicyRequest = Class(TGoogleBaseObject)
Private
Fpolicy : TPolicy;
Protected
//Property setters
Procedure Setpolicy(AIndex : Integer; const AValue : TPolicy); virtual;
Public
Published
Property policy : TPolicy Index 0 Read Fpolicy Write Setpolicy;
end;
TSetIamPolicyRequestClass = Class of TSetIamPolicyRequest;
{ --------------------------------------------------------------------
TTestIamPermissionsRequest
--------------------------------------------------------------------}
TTestIamPermissionsRequest = Class(TGoogleBaseObject)
Private
Fpermissions : TStringArray;
Protected
//Property setters
Procedure Setpermissions(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 permissions : TStringArray Index 0 Read Fpermissions Write Setpermissions;
end;
TTestIamPermissionsRequestClass = Class of TTestIamPermissionsRequest;
{ --------------------------------------------------------------------
TTestIamPermissionsResponse
--------------------------------------------------------------------}
TTestIamPermissionsResponse = Class(TGoogleBaseObject)
Private
Fpermissions : TStringArray;
Protected
//Property setters
Procedure Setpermissions(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 permissions : TStringArray Index 0 Read Fpermissions Write Setpermissions;
end;
TTestIamPermissionsResponseClass = Class of TTestIamPermissionsResponse;
{ --------------------------------------------------------------------
TProjectsResource
--------------------------------------------------------------------}
//Optional query Options for TProjectsResource, method List
TProjectsListOptions = Record
pageToken : String;
pageSize : integer;
filter : String;
end;
TProjectsResource = Class(TGoogleResource)
Public
Class Function ResourceName : String; override;
Class Function DefaultAPI : TGoogleAPIClass; override;
Function Get(projectId: string) : TProject;
Function List(AQuery : string = '') : TListProjectsResponse;
Function List(AQuery : TProjectslistOptions) : TListProjectsResponse;
Function Update(projectId: string; aProject : TProject) : TProject;
Function Delete(projectId: string) : TEmpty;
Function Undelete(projectId: string; aUndeleteProjectRequest : TUndeleteProjectRequest) : TEmpty;
Function GetIamPolicy(resource: string; aGetIamPolicyRequest : TGetIamPolicyRequest) : TPolicy;
Function SetIamPolicy(resource: string; aSetIamPolicyRequest : TSetIamPolicyRequest) : TPolicy;
Function TestIamPermissions(resource: string; aTestIamPermissionsRequest : TTestIamPermissionsRequest) : TTestIamPermissionsResponse;
end;
{ --------------------------------------------------------------------
TCloudresourcemanagerAPI
--------------------------------------------------------------------}
TCloudresourcemanagerAPI = Class(TGoogleAPI)
Private
FProjectsInstance : TProjectsResource;
Function GetProjectsInstance : TProjectsResource;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 CreateProjectsResource(AOwner : TComponent) : TProjectsResource;virtual;overload;
Function CreateProjectsResource : TProjectsResource;virtual;overload;
//Add default on-demand instances for resources
Property ProjectsResource : TProjectsResource Read GetProjectsInstance;
end;
implementation
{ --------------------------------------------------------------------
TProjectTypelabels
--------------------------------------------------------------------}
Class Function TProjectTypelabels.AllowAdditionalProperties : Boolean;
begin
Result:=True;
end;
{ --------------------------------------------------------------------
TProject
--------------------------------------------------------------------}
Procedure TProject.SetprojectNumber(AIndex : Integer; const AValue : String);
begin
If (FprojectNumber=AValue) then exit;
FprojectNumber:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TProject.SetprojectId(AIndex : Integer; const AValue : String);
begin
If (FprojectId=AValue) then exit;
FprojectId:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TProject.SetlifecycleState(AIndex : Integer; const AValue : String);
begin
If (FlifecycleState=AValue) then exit;
FlifecycleState:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TProject.Setname(AIndex : Integer; const AValue : String);
begin
If (Fname=AValue) then exit;
Fname:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TProject.SetcreateTime(AIndex : Integer; const AValue : String);
begin
If (FcreateTime=AValue) then exit;
FcreateTime:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TProject.Setlabels(AIndex : Integer; const AValue : TProjectTypelabels);
begin
If (Flabels=AValue) then exit;
Flabels:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TProject.Setparent(AIndex : Integer; const AValue : TResourceId);
begin
If (Fparent=AValue) then exit;
Fparent:=AValue;
MarkPropertyChanged(AIndex);
end;
{ --------------------------------------------------------------------
TResourceId
--------------------------------------------------------------------}
Procedure TResourceId.Set_type(AIndex : Integer; const AValue : String);
begin
If (F_type=AValue) then exit;
F_type:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TResourceId.Setid(AIndex : Integer; const AValue : String);
begin
If (Fid=AValue) then exit;
Fid:=AValue;
MarkPropertyChanged(AIndex);
end;
Class Function TResourceId.ExportPropertyName(Const AName : String) :String;
begin
Case AName of
'_type' : Result:='type';
else
Result:=Inherited ExportPropertyName(AName);
end;
end;
{ --------------------------------------------------------------------
TListProjectsResponse
--------------------------------------------------------------------}
Procedure TListProjectsResponse.Setprojects(AIndex : Integer; const AValue : TListProjectsResponseTypeprojectsArray);
begin
If (Fprojects=AValue) then exit;
Fprojects:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TListProjectsResponse.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 TListProjectsResponse.SetArrayLength(Const AName : String; ALength : Longint);
begin
Case AName of
'projects' : SetLength(Fprojects,ALength);
else
Inherited SetArrayLength(AName,ALength);
end;
end;
{$ENDIF VER2_6}
{ --------------------------------------------------------------------
TEmpty
--------------------------------------------------------------------}
{ --------------------------------------------------------------------
TUndeleteProjectRequest
--------------------------------------------------------------------}
{ --------------------------------------------------------------------
TGetIamPolicyRequest
--------------------------------------------------------------------}
{ --------------------------------------------------------------------
TPolicy
--------------------------------------------------------------------}
Procedure TPolicy.Setversion(AIndex : Integer; const AValue : integer);
begin
If (Fversion=AValue) then exit;
Fversion:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TPolicy.Setbindings(AIndex : Integer; const AValue : TPolicyTypebindingsArray);
begin
If (Fbindings=AValue) then exit;
Fbindings:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TPolicy.Setetag(AIndex : Integer; const AValue : String);
begin
If (Fetag=AValue) then exit;
Fetag:=AValue;
MarkPropertyChanged(AIndex);
end;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure TPolicy.SetArrayLength(Const AName : String; ALength : Longint);
begin
Case AName of
'bindings' : SetLength(Fbindings,ALength);
else
Inherited SetArrayLength(AName,ALength);
end;
end;
{$ENDIF VER2_6}
{ --------------------------------------------------------------------
TBinding
--------------------------------------------------------------------}
Procedure TBinding.Setrole(AIndex : Integer; const AValue : String);
begin
If (Frole=AValue) then exit;
Frole:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TBinding.Setmembers(AIndex : Integer; const AValue : TStringArray);
begin
If (Fmembers=AValue) then exit;
Fmembers:=AValue;
MarkPropertyChanged(AIndex);
end;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure TBinding.SetArrayLength(Const AName : String; ALength : Longint);
begin
Case AName of
'members' : SetLength(Fmembers,ALength);
else
Inherited SetArrayLength(AName,ALength);
end;
end;
{$ENDIF VER2_6}
{ --------------------------------------------------------------------
TSetIamPolicyRequest
--------------------------------------------------------------------}
Procedure TSetIamPolicyRequest.Setpolicy(AIndex : Integer; const AValue : TPolicy);
begin
If (Fpolicy=AValue) then exit;
Fpolicy:=AValue;
MarkPropertyChanged(AIndex);
end;
{ --------------------------------------------------------------------
TTestIamPermissionsRequest
--------------------------------------------------------------------}
Procedure TTestIamPermissionsRequest.Setpermissions(AIndex : Integer; const AValue : TStringArray);
begin
If (Fpermissions=AValue) then exit;
Fpermissions:=AValue;
MarkPropertyChanged(AIndex);
end;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure TTestIamPermissionsRequest.SetArrayLength(Const AName : String; ALength : Longint);
begin
Case AName of
'permissions' : SetLength(Fpermissions,ALength);
else
Inherited SetArrayLength(AName,ALength);
end;
end;
{$ENDIF VER2_6}
{ --------------------------------------------------------------------
TTestIamPermissionsResponse
--------------------------------------------------------------------}
Procedure TTestIamPermissionsResponse.Setpermissions(AIndex : Integer; const AValue : TStringArray);
begin
If (Fpermissions=AValue) then exit;
Fpermissions:=AValue;
MarkPropertyChanged(AIndex);
end;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure TTestIamPermissionsResponse.SetArrayLength(Const AName : String; ALength : Longint);
begin
Case AName of
'permissions' : SetLength(Fpermissions,ALength);
else
Inherited SetArrayLength(AName,ALength);
end;
end;
{$ENDIF VER2_6}
{ --------------------------------------------------------------------
TProjectsResource
--------------------------------------------------------------------}
Class Function TProjectsResource.ResourceName : String;
begin
Result:='projects';
end;
Class Function TProjectsResource.DefaultAPI : TGoogleAPIClass;
begin
Result:=TcloudresourcemanagerAPI;
end;
Function TProjectsResource.Get(projectId: string) : TProject;
Const
_HTTPMethod = 'GET';
_Path = 'v1/projects/{projectId}';
_Methodid = 'cloudresourcemanager.projects.get';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['projectId',projectId]);
Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TProject) as TProject;
end;
Function TProjectsResource.List(AQuery : string = '') : TListProjectsResponse;
Const
_HTTPMethod = 'GET';
_Path = 'v1/projects';
_Methodid = 'cloudresourcemanager.projects.list';
begin
Result:=ServiceCall(_HTTPMethod,_Path,AQuery,Nil,TListProjectsResponse) as TListProjectsResponse;
end;
Function TProjectsResource.List(AQuery : TProjectslistOptions) : TListProjectsResponse;
Var
_Q : String;
begin
_Q:='';
AddToQuery(_Q,'pageToken',AQuery.pageToken);
AddToQuery(_Q,'pageSize',AQuery.pageSize);
AddToQuery(_Q,'filter',AQuery.filter);
Result:=List(_Q);
end;
Function TProjectsResource.Update(projectId: string; aProject : TProject) : TProject;
Const
_HTTPMethod = 'PUT';
_Path = 'v1/projects/{projectId}';
_Methodid = 'cloudresourcemanager.projects.update';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['projectId',projectId]);
Result:=ServiceCall(_HTTPMethod,_P,'',aProject,TProject) as TProject;
end;
Function TProjectsResource.Delete(projectId: string) : TEmpty;
Const
_HTTPMethod = 'DELETE';
_Path = 'v1/projects/{projectId}';
_Methodid = 'cloudresourcemanager.projects.delete';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['projectId',projectId]);
Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TEmpty) as TEmpty;
end;
Function TProjectsResource.Undelete(projectId: string; aUndeleteProjectRequest : TUndeleteProjectRequest) : TEmpty;
Const
_HTTPMethod = 'POST';
_Path = 'v1/projects/{projectId}:undelete';
_Methodid = 'cloudresourcemanager.projects.undelete';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['projectId',projectId]);
Result:=ServiceCall(_HTTPMethod,_P,'',aUndeleteProjectRequest,TEmpty) as TEmpty;
end;
Function TProjectsResource.GetIamPolicy(resource: string; aGetIamPolicyRequest : TGetIamPolicyRequest) : TPolicy;
Const
_HTTPMethod = 'POST';
_Path = 'v1/projects/{resource}:getIamPolicy';
_Methodid = 'cloudresourcemanager.projects.getIamPolicy';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['resource',resource]);
Result:=ServiceCall(_HTTPMethod,_P,'',aGetIamPolicyRequest,TPolicy) as TPolicy;
end;
Function TProjectsResource.SetIamPolicy(resource: string; aSetIamPolicyRequest : TSetIamPolicyRequest) : TPolicy;
Const
_HTTPMethod = 'POST';
_Path = 'v1/projects/{resource}:setIamPolicy';
_Methodid = 'cloudresourcemanager.projects.setIamPolicy';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['resource',resource]);
Result:=ServiceCall(_HTTPMethod,_P,'',aSetIamPolicyRequest,TPolicy) as TPolicy;
end;
Function TProjectsResource.TestIamPermissions(resource: string; aTestIamPermissionsRequest : TTestIamPermissionsRequest) : TTestIamPermissionsResponse;
Const
_HTTPMethod = 'POST';
_Path = 'v1/projects/{resource}:testIamPermissions';
_Methodid = 'cloudresourcemanager.projects.testIamPermissions';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['resource',resource]);
Result:=ServiceCall(_HTTPMethod,_P,'',aTestIamPermissionsRequest,TTestIamPermissionsResponse) as TTestIamPermissionsResponse;
end;
{ --------------------------------------------------------------------
TCloudresourcemanagerAPI
--------------------------------------------------------------------}
Class Function TCloudresourcemanagerAPI.APIName : String;
begin
Result:='cloudresourcemanager';
end;
Class Function TCloudresourcemanagerAPI.APIVersion : String;
begin
Result:='v1';
end;
Class Function TCloudresourcemanagerAPI.APIRevision : String;
begin
Result:='20160518';
end;
Class Function TCloudresourcemanagerAPI.APIID : String;
begin
Result:='cloudresourcemanager:v1';
end;
Class Function TCloudresourcemanagerAPI.APITitle : String;
begin
Result:='Google Cloud Resource Manager API';
end;
Class Function TCloudresourcemanagerAPI.APIDescription : String;
begin
Result:='The Google Cloud Resource Manager API provides methods for creating, reading, and updating project metadata.';
end;
Class Function TCloudresourcemanagerAPI.APIOwnerDomain : String;
begin
Result:='google.com';
end;
Class Function TCloudresourcemanagerAPI.APIOwnerName : String;
begin
Result:='Google';
end;
Class Function TCloudresourcemanagerAPI.APIIcon16 : String;
begin
Result:='http://www.google.com/images/icons/product/search-16.gif';
end;
Class Function TCloudresourcemanagerAPI.APIIcon32 : String;
begin
Result:='http://www.google.com/images/icons/product/search-32.gif';
end;
Class Function TCloudresourcemanagerAPI.APIdocumentationLink : String;
begin
Result:='https://cloud.google.com/resource-manager';
end;
Class Function TCloudresourcemanagerAPI.APIrootUrl : string;
begin
Result:='https://cloudresourcemanager.googleapis.com/';
end;
Class Function TCloudresourcemanagerAPI.APIbasePath : string;
begin
Result:='';
end;
Class Function TCloudresourcemanagerAPI.APIbaseURL : String;
begin
Result:='https://cloudresourcemanager.googleapis.com/';
end;
Class Function TCloudresourcemanagerAPI.APIProtocol : string;
begin
Result:='rest';
end;
Class Function TCloudresourcemanagerAPI.APIservicePath : string;
begin
Result:='';
end;
Class Function TCloudresourcemanagerAPI.APIbatchPath : String;
begin
Result:='batch';
end;
Class Function TCloudresourcemanagerAPI.APIAuthScopes : TScopeInfoArray;
begin
SetLength(Result,2);
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';
end;
Class Function TCloudresourcemanagerAPI.APINeedsAuth : Boolean;
begin
Result:=True;
end;
Class Procedure TCloudresourcemanagerAPI.RegisterAPIResources;
begin
TProjectTypelabels.RegisterObject;
TProject.RegisterObject;
TResourceId.RegisterObject;
TListProjectsResponse.RegisterObject;
TEmpty.RegisterObject;
TUndeleteProjectRequest.RegisterObject;
TGetIamPolicyRequest.RegisterObject;
TPolicy.RegisterObject;
TBinding.RegisterObject;
TSetIamPolicyRequest.RegisterObject;
TTestIamPermissionsRequest.RegisterObject;
TTestIamPermissionsResponse.RegisterObject;
end;
Function TCloudresourcemanagerAPI.GetProjectsInstance : TProjectsResource;
begin
if (FProjectsInstance=Nil) then
FProjectsInstance:=CreateProjectsResource;
Result:=FProjectsInstance;
end;
Function TCloudresourcemanagerAPI.CreateProjectsResource : TProjectsResource;
begin
Result:=CreateProjectsResource(Self);
end;
Function TCloudresourcemanagerAPI.CreateProjectsResource(AOwner : TComponent) : TProjectsResource;
begin
Result:=TProjectsResource.Create(AOwner);
Result.API:=Self.API;
end;
initialization
TCloudresourcemanagerAPI.RegisterAPI;
end.