Constructor
new ProjectsClient(optionsopt)
Construct an instance of ProjectsClient.
Parameters:
Name | Type | Attributes | Description | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
<optional> |
The configuration object. The options accepted by the constructor are described in detail in this document. The common options are: Properties
|
Members
apiEndpoint
The DNS address for this API service - same as servicePath(), exists for compatibility reasons.
port
The port for this API service.
scopes
The scopes needed to make gRPC calls for every method defined in this service.
servicePath
The DNS address for this API service.
Methods
(async) checkCreateProjectProgress(name) → {Promise}
Check the status of the long running operation returned by createProject()
.
Parameters:
Name | Type | Description |
---|---|---|
name |
String |
The operation name that will be passed. |
Returns:
Type | Description |
---|---|
Promise |
|
Example
const decodedOperation = await checkCreateProjectProgress(name);
console.log(decodedOperation.result);
console.log(decodedOperation.done);
console.log(decodedOperation.metadata);
(async) checkDeleteProjectProgress(name) → {Promise}
Check the status of the long running operation returned by deleteProject()
.
Parameters:
Name | Type | Description |
---|---|---|
name |
String |
The operation name that will be passed. |
Returns:
Type | Description |
---|---|
Promise |
|
Example
const decodedOperation = await checkDeleteProjectProgress(name);
console.log(decodedOperation.result);
console.log(decodedOperation.done);
console.log(decodedOperation.metadata);
(async) checkMoveProjectProgress(name) → {Promise}
Check the status of the long running operation returned by moveProject()
.
Parameters:
Name | Type | Description |
---|---|---|
name |
String |
The operation name that will be passed. |
Returns:
Type | Description |
---|---|
Promise |
|
Example
const decodedOperation = await checkMoveProjectProgress(name);
console.log(decodedOperation.result);
console.log(decodedOperation.done);
console.log(decodedOperation.metadata);
(async) checkUndeleteProjectProgress(name) → {Promise}
Check the status of the long running operation returned by undeleteProject()
.
Parameters:
Name | Type | Description |
---|---|---|
name |
String |
The operation name that will be passed. |
Returns:
Type | Description |
---|---|
Promise |
|
Example
const decodedOperation = await checkUndeleteProjectProgress(name);
console.log(decodedOperation.result);
console.log(decodedOperation.done);
console.log(decodedOperation.metadata);
(async) checkUpdateProjectProgress(name) → {Promise}
Check the status of the long running operation returned by updateProject()
.
Parameters:
Name | Type | Description |
---|---|---|
name |
String |
The operation name that will be passed. |
Returns:
Type | Description |
---|---|
Promise |
|
Example
const decodedOperation = await checkUpdateProjectProgress(name);
console.log(decodedOperation.result);
console.log(decodedOperation.done);
console.log(decodedOperation.metadata);
close() → {Promise}
Terminate the gRPC channel and close the client.
The client will no longer be usable and all future behavior is undefined.
Returns:
Type | Description |
---|---|
Promise |
A promise that resolves when the client is closed. |
createProject(request, optionsopt) → {Promise}
Request that a new project be created. The result is an Operation
which
can be used to track the creation process. This process usually takes a few
seconds, but can sometimes take much longer. The tracking Operation
is
automatically deleted after a few hours, so there is no need to call
DeleteOperation
.
Parameters:
Name | Type | Attributes | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
Type | Description |
---|---|
Promise |
|
Example
const [operation] = await client.createProject(request);
const [response] = await operation.promise();
deleteProject(request, optionsopt) → {Promise}
Marks the project identified by the specified
name
(for example, projects/415104041262
) for deletion.
This method will only affect the project if it has a lifecycle state of ACTIVE.
This method changes the Project's lifecycle state from ACTIVE to DELETE_REQUESTED. The deletion starts at an unspecified time, at which point the Project is no longer accessible.
Until the deletion completes, you can check the lifecycle state checked by retrieving the project with [GetProject] [google.cloud.resourcemanager.v3.Projects.GetProject], and the project remains visible to [ListProjects] [google.cloud.resourcemanager.v3.Projects.ListProjects]. However, you cannot update the project.
After the deletion completes, the project is not retrievable by the [GetProject] [google.cloud.resourcemanager.v3.Projects.GetProject], [ListProjects] [google.cloud.resourcemanager.v3.Projects.ListProjects], and SearchProjects methods.
This method behaves idempotently, such that deleting a DELETE_REQUESTED
project will not cause an error, but also won't do anything.
The caller must have resourcemanager.projects.delete
permissions for this
project.
Parameters:
Name | Type | Attributes | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
Type | Description |
---|---|
Promise |
|
Example
const [operation] = await client.deleteProject(request);
const [response] = await operation.promise();
folderPath(folder) → {string}
Return a fully-qualified folder resource name string.
Parameters:
Name | Type | Description |
---|---|---|
folder |
string |
Returns:
Type | Description |
---|---|
string |
Resource name string. |
getIamPolicy(request, optionsopt) → {Promise}
Returns the IAM access control policy for the specified project. Permission is denied if the policy or the resource do not exist.
Parameters:
Name | Type | Attributes | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
Type | Description |
---|---|
Promise |
|
getProject(request, optionsopt) → {Promise}
Retrieves the project identified by the specified name
(for example,
projects/415104041262
).
The caller must have resourcemanager.projects.get
permission
for this project.
Parameters:
Name | Type | Attributes | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
Type | Description |
---|---|
Promise |
|
getProjectId() → {Promise}
Return the project ID used by this class.
Returns:
Type | Description |
---|---|
Promise |
A promise that resolves to string containing the project ID. |
initialize() → {Promise}
Initialize the client. Performs asynchronous operations (such as authentication) and prepares the client. This function will be called automatically when any class method is called for the first time, but if you need to initialize it before calling an actual method, feel free to call initialize() directly.
You can await on this method if you want to make sure the client is initialized.
Returns:
Type | Description |
---|---|
Promise |
A promise that resolves to an authenticated service stub. |
listProjects(request, optionsopt) → {Promise}
Lists projects that are direct children of the specified folder or
organization resource. list()
provides a strongly consistent view of the
projects underneath the specified parent resource. list()
returns
projects sorted based upon the (ascending) lexical ordering of their
display_name
. The caller must have resourcemanager.projects.list
permission on the identified parent.
Parameters:
Name | Type | Attributes | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
Type | Description |
---|---|
Promise |
|
listProjectsAsync(request, optionsopt) → {Object}
Equivalent to listProjects
, but returns an iterable object.
for
-await
-of
syntax is used with the iterable to get response elements on-demand.
Parameters:
Name | Type | Attributes | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
Type | Description |
---|---|
Object |
An iterable Object that allows async iteration. When you iterate the returned iterable, each element will be an object representing Project. The API will be called under the hood as needed, once per the page, so you can stop the iteration when you don't need more results. Please see the documentation for more details and examples. |
Example
const iterable = client.listProjectsAsync(request);
for await (const response of iterable) {
// process response
}
listProjectsStream(request, optionsopt) → {Stream}
Equivalent to method.name.toCamelCase()
, but returns a NodeJS Stream object.
Parameters:
Name | Type | Attributes | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
Type | Description |
---|---|
Stream |
An object stream which emits an object representing Project on 'data' event.
The client library will perform auto-pagination by default: it will call the API as many
times as needed. Note that it can affect your quota.
We recommend using |
matchFolderFromFolderName(folderName) → {string}
Parse the folder from Folder resource.
Parameters:
Name | Type | Description |
---|---|---|
folderName |
string |
A fully-qualified path representing Folder resource. |
Returns:
Type | Description |
---|---|
string |
A string representing the folder. |
matchOrganizationFromOrganizationName(organizationName) → {string}
Parse the organization from Organization resource.
Parameters:
Name | Type | Description |
---|---|---|
organizationName |
string |
A fully-qualified path representing Organization resource. |
Returns:
Type | Description |
---|---|
string |
A string representing the organization. |
matchProjectFromProjectName(projectName) → {string}
Parse the project from Project resource.
Parameters:
Name | Type | Description |
---|---|---|
projectName |
string |
A fully-qualified path representing Project resource. |
Returns:
Type | Description |
---|---|
string |
A string representing the project. |
matchTagBindingFromTagBindingName(tagBindingName) → {string}
Parse the tag_binding from TagBinding resource.
Parameters:
Name | Type | Description |
---|---|---|
tagBindingName |
string |
A fully-qualified path representing TagBinding resource. |
Returns:
Type | Description |
---|---|
string |
A string representing the tag_binding. |
matchTagKeyFromTagKeyName(tagKeyName) → {string}
Parse the tag_key from TagKey resource.
Parameters:
Name | Type | Description |
---|---|---|
tagKeyName |
string |
A fully-qualified path representing TagKey resource. |
Returns:
Type | Description |
---|---|
string |
A string representing the tag_key. |
matchTagValueFromTagValueName(tagValueName) → {string}
Parse the tag_value from TagValue resource.
Parameters:
Name | Type | Description |
---|---|---|
tagValueName |
string |
A fully-qualified path representing TagValue resource. |
Returns:
Type | Description |
---|---|
string |
A string representing the tag_value. |
moveProject(request, optionsopt) → {Promise}
Move a project to another place in your resource hierarchy, under a new resource parent.
Returns an operation which can be used to track the process of the project
move workflow.
Upon success, the Operation.response
field will be populated with the
moved project.
The caller must have resourcemanager.projects.update
permission on the
project and have resourcemanager.projects.move
permission on the
project's current and proposed new parent.
Parameters:
Name | Type | Attributes | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
Type | Description |
---|---|
Promise |
|
Example
const [operation] = await client.moveProject(request);
const [response] = await operation.promise();
organizationPath(organization) → {string}
Return a fully-qualified organization resource name string.
Parameters:
Name | Type | Description |
---|---|---|
organization |
string |
Returns:
Type | Description |
---|---|
string |
Resource name string. |
projectPath(project) → {string}
Return a fully-qualified project resource name string.
Parameters:
Name | Type | Description |
---|---|---|
project |
string |
Returns:
Type | Description |
---|---|
string |
Resource name string. |
searchProjects(request, optionsopt) → {Promise}
Search for projects that the caller has both resourcemanager.projects.get
permission on, and also satisfy the specified query.
This method returns projects in an unspecified order.
This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method.
Parameters:
Name | Type | Attributes | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
Type | Description |
---|---|
Promise |
|
searchProjectsAsync(request, optionsopt) → {Object}
Equivalent to searchProjects
, but returns an iterable object.
for
-await
-of
syntax is used with the iterable to get response elements on-demand.
Parameters:
Name | Type | Attributes | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
Type | Description |
---|---|
Object |
An iterable Object that allows async iteration. When you iterate the returned iterable, each element will be an object representing Project. The API will be called under the hood as needed, once per the page, so you can stop the iteration when you don't need more results. Please see the documentation for more details and examples. |
Example
const iterable = client.searchProjectsAsync(request);
for await (const response of iterable) {
// process response
}
searchProjectsStream(request, optionsopt) → {Stream}
Equivalent to method.name.toCamelCase()
, but returns a NodeJS Stream object.
Parameters:
Name | Type | Attributes | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
Type | Description |
---|---|
Stream |
An object stream which emits an object representing Project on 'data' event.
The client library will perform auto-pagination by default: it will call the API as many
times as needed. Note that it can affect your quota.
We recommend using |
setIamPolicy(request, optionsopt) → {Promise}
Sets the IAM access control policy for the specified project.
CAUTION: This method will replace the existing policy, and cannot be used to append additional IAM settings.
Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles.
The following constraints apply when using setIamPolicy()
:
-
Project does not support
allUsers
andallAuthenticatedUsers
asmembers
in aBinding
of aPolicy
. -
The owner role can be granted to a
user
,serviceAccount
, or a group that is part of an organization. For example, group@myownpersonaldomain.com could be added as an owner to a project in the myownpersonaldomain.com organization, but not the examplepetstore.com organization. -
Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited using the Cloud Platform console and must accept the invitation.
-
A user cannot be granted the owner role using
setIamPolicy()
. The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. -
Invitations to grant the owner role cannot be sent using
setIamPolicy()
; they must be sent only using the Cloud Platform Console. -
Membership changes that leave the project without any owners that have accepted the Terms of Service (ToS) will be rejected.
-
If the project is not part of an organization, there must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling
setIamPolicy()
to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. -
Calling this method requires enabling the App Engine Admin API.
Parameters:
Name | Type | Attributes | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
Type | Description |
---|---|
Promise |
|
tagBindingPath(tag_binding) → {string}
Return a fully-qualified tagBinding resource name string.
Parameters:
Name | Type | Description |
---|---|---|
tag_binding |
string |
Returns:
Type | Description |
---|---|
string |
Resource name string. |
tagKeyPath(tag_key) → {string}
Return a fully-qualified tagKey resource name string.
Parameters:
Name | Type | Description |
---|---|---|
tag_key |
string |
Returns:
Type | Description |
---|---|
string |
Resource name string. |
tagValuePath(tag_value) → {string}
Return a fully-qualified tagValue resource name string.
Parameters:
Name | Type | Description |
---|---|---|
tag_value |
string |
Returns:
Type | Description |
---|---|
string |
Resource name string. |
testIamPermissions(request, optionsopt) → {Promise}
Returns permissions that a caller has on the specified project.
Parameters:
Name | Type | Attributes | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
Type | Description |
---|---|
Promise |
|
undeleteProject(request, optionsopt) → {Promise}
Restores the project identified by the specified
name
(for example, projects/415104041262
).
You can only use this method for a project that has a lifecycle state of
[DELETE_REQUESTED]
[Projects.State.DELETE_REQUESTED].
After deletion starts, the project cannot be restored.
The caller must have resourcemanager.projects.undelete
permission for
this project.
Parameters:
Name | Type | Attributes | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
Type | Description |
---|---|
Promise |
|
Example
const [operation] = await client.undeleteProject(request);
const [response] = await operation.promise();
updateProject(request, optionsopt) → {Promise}
Updates the display_name
and labels of the project identified by the
specified name
(for example, projects/415104041262
). Deleting all
labels requires an update mask for labels field.
The caller must have resourcemanager.projects.update
permission for this
project.
Parameters:
Name | Type | Attributes | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
Type | Description |
---|---|
Promise |
|