// "description": "Creates a Folder in the resource hierarchy.\nReturns an Operation which can be used to track the progress of the\nfolder creation workflow.\nUpon success the Operation.response field will be populated with the\ncreated Folder.\n\nIn order to succeed, the addition of this new Folder must not violate\nthe Folder naming, height or fanout constraints.\n\n+ The Folder's display_name must be distinct from all other Folder's that\nshare its parent.\n+ The addition of the Folder must not cause the active Folder hierarchy\nto exceed a height of 4. Note, the full active + deleted Folder hierarchy\nis allowed to reach a height of 8; this provides additional headroom when\nmoving folders that contain deleted folders.\n+ The addition of the Folder must not cause the total number of Folders\nunder its parent to exceed 100.\n\nIf the operation fails due to a folder constraint violation, some errors\nmay be returned by the CreateFolder request, with status code\nFAILED_PRECONDITION and an error description. Other folder constraint\nviolations will be communicated in the Operation, with the specific\nPreconditionFailure returned via the details list in the Operation.error\nfield.\n\nThe caller must have `resourcemanager.folders.create` permission on the\nidentified parent.",

// "flatPath": "v2/folders",

// "httpMethod": "POST",

// "id": "cloudresourcemanager.folders.create",

// "parameterOrder": [],

// "parameters": {

// "parent": {

// "description": "Required. The resource name of the new Folder's parent.\nMust be of the form `folders/{folder_id}` or `organizations/{org_id}`.",

// "location": "query",

// "type": "string"

// }

// },

// "path": "v2/folders",

// "request": {

// "$ref": "Folder"

// },

// "response": {

// "$ref": "Operation"

// },

// "scopes": [

// "https://www.googleapis.com/auth/cloud-platform"

// ]

// }

}

// method id "cloudresourcemanager.folders.delete":

type FoldersDeleteCall struct {

s *Service

name string

urlParams_ gensupport.URLParams

ctx_ context.Context

header_ http.Header

}

// Delete: Requests deletion of a Folder. The Folder is moved into

// the

// DELETE_REQUESTED state

// immediately, and is deleted approximately 30 days later. This method

// may

// only be called on an empty Folder in the

// ACTIVE state, where a Folder is empty if

// it doesn't contain any Folders or Projects in the

// ACTIVE state.

// The caller must have `resourcemanager.folders.delete` permission on

// "description": "Requests deletion of a Folder. The Folder is moved into the\nDELETE_REQUESTED state\nimmediately, and is deleted approximately 30 days later. This method may\nonly be called on an empty Folder in the\nACTIVE state, where a Folder is empty if\nit doesn't contain any Folders or Projects in the\nACTIVE state.\nThe caller must have `resourcemanager.folders.delete` permission on the\nidentified folder.",

// "flatPath": "v2/folders/{foldersId}",

// "httpMethod": "DELETE",

// "id": "cloudresourcemanager.folders.delete",

// "parameterOrder": [

// "name"

// ],

// "parameters": {

// "name": {

// "description": "Required. the resource name of the Folder to be deleted.\nMust be of the form `folders/{folder_id}`.",

// "description": "Gets the access control policy for a Folder. The returned policy may be\nempty if no such policy or resource exists. The `resource` field should\nbe the Folder's resource name, e.g. \"folders/1234\".\nThe caller must have `resourcemanager.folders.getIamPolicy` permission\non the identified folder.",

// "flatPath": "v2/folders/{foldersId}:getIamPolicy",

// "httpMethod": "POST",

// "id": "cloudresourcemanager.folders.getIamPolicy",

// "parameterOrder": [

// "resource"

// ],

// "parameters": {

// "resource": {

// "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",

// "location": "path",

// "pattern": "^folders/[^/]+$",

// "required": true,

// "type": "string"

// }

// },

// "path": "v2/{+resource}:getIamPolicy",

// "request": {

// "$ref": "GetIamPolicyRequest"

// },

// "response": {

// "$ref": "Policy"

// },

// "scopes": [

// "https://www.googleapis.com/auth/cloud-platform",

// "https://www.googleapis.com/auth/cloud-platform.read-only"

// ]

// }

}

// method id "cloudresourcemanager.folders.list":

type FoldersListCall struct {

s *Service

urlParams_ gensupport.URLParams

ifNoneMatch_ string

ctx_ context.Context

header_ http.Header

}

// List: Lists the Folders that are direct descendants of supplied

// parent resource.

// List provides a strongly consistent view of the Folders

// underneath

// the specified parent resource.

// List returns Folders sorted based upon the (ascending) lexical

// ordering

// of their display_name.

// The caller must have `resourcemanager.folders.list` permission on

// the

// identified parent.

func (r *FoldersService) List() *FoldersListCall {

c := &FoldersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}

return c

}

// PageSize sets the optional parameter "pageSize": The maximum number

// "description": "Lists the Folders that are direct descendants of supplied parent resource.\nList provides a strongly consistent view of the Folders underneath\nthe specified parent resource.\nList returns Folders sorted based upon the (ascending) lexical ordering\nof their display_name.\nThe caller must have `resourcemanager.folders.list` permission on the\nidentified parent.",

// "flatPath": "v2/folders",

// "httpMethod": "GET",

// "id": "cloudresourcemanager.folders.list",

// "parameterOrder": [],

// "parameters": {

// "pageSize": {

// "description": "Optional. The maximum number of Folders to return in the response.",

// "format": "int32",

// "location": "query",

// "type": "integer"

// },

// "pageToken": {

// "description": "Optional. A pagination token returned from a previous call to `ListFolders`\nthat indicates where this listing should continue from.",

// "location": "query",

// "type": "string"

// },

// "parent": {

// "description": "Required. The resource name of the Organization or Folder whose Folders are\nbeing listed.\nMust be of the form `folders/{folder_id}` or `organizations/{org_id}`.\nAccess to this method is controlled by checking the\n`resourcemanager.folders.list` permission on the `parent`.",

// "description": "Moves a Folder under a new resource parent.\nReturns an Operation which can be used to track the progress of the\nfolder move workflow.\nUpon success the Operation.response field will be populated with the\nmoved Folder.\nUpon failure, a FolderOperationError categorizing the failure cause will\nbe returned - if the failure occurs synchronously then the\nFolderOperationError will be returned via the Status.details field\nand if it occurs asynchronously then the FolderOperation will be returned\nvia the Operation.error field.\nIn addition, the Operation.metadata field will be populated with a\nFolderOperation message as an aid to stateless clients.\nFolder moves will be rejected if they violate either the naming, height\nor fanout constraints described in the\nCreateFolder documentation.\nThe caller must have `resourcemanager.folders.move` permission on the\nfolder's current and proposed new parent.",

// "flatPath": "v2/folders/{foldersId}:move",

// "httpMethod": "POST",

// "id": "cloudresourcemanager.folders.move",

// "parameterOrder": [

// "name"

// ],

// "parameters": {

// "name": {

// "description": "Required. The resource name of the Folder to move.\nMust be of the form folders/{folder_id}",

// "location": "path",

// "pattern": "^folders/[^/]+$",

// "required": true,

// "type": "string"

// }

// },

// "path": "v2/{+name}:move",

// "request": {

// "$ref": "MoveFolderRequest"

// },

// "response": {

// "$ref": "Operation"

// },

// "scopes": [

// "https://www.googleapis.com/auth/cloud-platform"

// ]

// }

}

// method id "cloudresourcemanager.folders.patch":

type FoldersPatchCall struct {

s *Service

name string

folder *Folder

urlParams_ gensupport.URLParams

ctx_ context.Context

header_ http.Header

}

// Patch: Updates a Folder, changing its display_name.

// Changes to the folder display_name will be rejected if they violate

// either

// the display_name formatting rules or naming constraints described

// in

// the CreateFolder documentation.

//

// The Folder's display name must start and end with a letter or

// digit,

// may contain letters, digits, spaces, hyphens and underscores and can

// be

// no longer than 30 characters. This is captured by the regular

// expression:

// [\p{L}\p{N}]([\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?.

// The caller must have `resourcemanager.folders.update` permission on

// "description": "Updates a Folder, changing its display_name.\nChanges to the folder display_name will be rejected if they violate either\nthe display_name formatting rules or naming constraints described in\nthe CreateFolder documentation.\n\nThe Folder's display name must start and end with a letter or digit,\nmay contain letters, digits, spaces, hyphens and underscores and can be\nno longer than 30 characters. This is captured by the regular expression:\n[\\p{L}\\p{N}]([\\p{L}\\p{N}_- ]{0,28}[\\p{L}\\p{N}])?.\nThe caller must have `resourcemanager.folders.update` permission on the\nidentified folder.\n\nIf the update fails due to the unique name constraint then a\nPreconditionFailure explaining this violation will be returned\nin the Status.details field.",

// "flatPath": "v2/folders/{foldersId}",

// "httpMethod": "PATCH",

// "id": "cloudresourcemanager.folders.patch",

// "parameterOrder": [

// "name"

// ],

// "parameters": {

// "name": {

// "description": "Output only. The resource name of the Folder.\nIts format is `folders/{folder_id}`, for example: \"folders/1234\".",

// "location": "path",

// "pattern": "^folders/[^/]+$",

// "required": true,

// "type": "string"

// },

// "updateMask": {

// "description": "Required. Fields to be updated.\nOnly the `display_name` can be updated.",

// "format": "google-fieldmask",

// "location": "query",

// "type": "string"

// }

// },

// "path": "v2/{+name}",

// "request": {

// "$ref": "Folder"

// },

// "response": {

// "$ref": "Folder"

// },

// "scopes": [

// "https://www.googleapis.com/auth/cloud-platform"

// ]

// }

}

// method id "cloudresourcemanager.folders.search":

type FoldersSearchCall struct {

s *Service

searchfoldersrequest *SearchFoldersRequest

urlParams_ gensupport.URLParams

ctx_ context.Context

header_ http.Header

}

// Search: Search for folders that match specific filter

// criteria.

// Search provides an eventually consistent view of the folders a user

// "description": "Search for folders that match specific filter criteria.\nSearch provides an eventually consistent view of the folders a user has\naccess to which meet the specified filter criteria.\n\nThis will only return folders on which the caller has the\npermission `resourcemanager.folders.get`.",

// "flatPath": "v2/folders:search",

// "httpMethod": "POST",

// "id": "cloudresourcemanager.folders.search",

// "parameterOrder": [],

// "parameters": {},

// "path": "v2/folders:search",

// "request": {

// "$ref": "SearchFoldersRequest"

// },

// "response": {

// "$ref": "SearchFoldersResponse"

// },

// "scopes": [

// "https://www.googleapis.com/auth/cloud-platform",

// "https://www.googleapis.com/auth/cloud-platform.read-only"

// ]

// }

}

// Pages invokes f for each page of results.

// A non-nil error returned from f will halt the iteration.

// The provided context supersedes any context provided to the Context method.

// "description": "Sets the access control policy on a Folder, replacing any existing policy.\nThe `resource` field should be the Folder's resource name, e.g.\n\"folders/1234\".\nThe caller must have `resourcemanager.folders.setIamPolicy` permission\non the identified folder.",

// "flatPath": "v2/folders/{foldersId}:setIamPolicy",

// "httpMethod": "POST",

// "id": "cloudresourcemanager.folders.setIamPolicy",

// "parameterOrder": [

// "resource"

// ],

// "parameters": {

// "resource": {

// "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",

// "description": "Returns permissions that a caller has on the specified Folder.\nThe `resource` field should be the Folder's resource name,\ne.g. \"folders/1234\".\n\nThere are no permissions required for making this API call.",

// "flatPath": "v2/folders/{foldersId}:testIamPermissions",

// "httpMethod": "POST",

// "id": "cloudresourcemanager.folders.testIamPermissions",

// "parameterOrder": [

// "resource"

// ],

// "parameters": {

// "resource": {

// "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",

// "location": "path",

// "pattern": "^folders/[^/]+$",

// "required": true,

// "type": "string"

// }

// },

// "path": "v2/{+resource}:testIamPermissions",

// "request": {

// "$ref": "TestIamPermissionsRequest"

// },

// "response": {

// "$ref": "TestIamPermissionsResponse"

// },

// "scopes": [

// "https://www.googleapis.com/auth/cloud-platform"

// ]

// }

}

// method id "cloudresourcemanager.folders.undelete":

type FoldersUndeleteCall struct {

s *Service

name string

undeletefolderrequest *UndeleteFolderRequest

urlParams_ gensupport.URLParams

ctx_ context.Context

header_ http.Header

}

// Undelete: Cancels the deletion request for a Folder. This method may

// only be

// called on a Folder in the

// DELETE_REQUESTED state.

// In order to succeed, the Folder's parent must be in the

// ACTIVE state.

// In addition, reintroducing the folder into the tree must not

// violate

// folder naming, height and fanout constraints described in

// the

// CreateFolder documentation.

// The caller must have `resourcemanager.folders.undelete` permission on

// "description": "Cancels the deletion request for a Folder. This method may only be\ncalled on a Folder in the\nDELETE_REQUESTED state.\nIn order to succeed, the Folder's parent must be in the\nACTIVE state.\nIn addition, reintroducing the folder into the tree must not violate\nfolder naming, height and fanout constraints described in the\nCreateFolder documentation.\nThe caller must have `resourcemanager.folders.undelete` permission on the\nidentified folder.",

// "flatPath": "v2/folders/{foldersId}:undelete",

// "httpMethod": "POST",

// "id": "cloudresourcemanager.folders.undelete",

// "parameterOrder": [

// "name"

// ],

// "parameters": {

// "name": {

// "description": "Required. The resource name of the Folder to undelete.\nMust be of the form `folders/{folder_id}`.",

// "location": "path",

// "pattern": "^folders/[^/]+$",

// "required": true,

// "type": "string"

// }

// },

// "path": "v2/{+name}:undelete",

// "request": {

// "$ref": "UndeleteFolderRequest"

// },

// "response": {

// "$ref": "Folder"

// },

// "scopes": [

// "https://www.googleapis.com/auth/cloud-platform"

// ]

// }

}

// method id "cloudresourcemanager.operations.get":

type OperationsGetCall struct {

s *Service

name string

urlParams_ gensupport.URLParams

ifNoneMatch_ string

ctx_ context.Context

header_ http.Header

}

// Get: Gets the latest state of a long-running operation. Clients can