Synchronize new proto changes.
This commit is contained in:
parent
250964c9e2
commit
e4ab7edcd7
|
|
@ -0,0 +1,35 @@
|
|||
common:
|
||||
api_name: cloudresourcemanager
|
||||
api_version: v2
|
||||
organization_name: google-cloud
|
||||
proto_deps:
|
||||
- name: google-common-protos
|
||||
- name: google-iam-v1
|
||||
src_proto_paths:
|
||||
- v2
|
||||
service_yaml: cloudresourcemanager.yaml
|
||||
gapic_yaml: v2/cloudresourcemanager_gapic.yaml
|
||||
artifacts:
|
||||
- name: gapic_config
|
||||
type: GAPIC_CONFIG
|
||||
- name: java_gapic
|
||||
type: GAPIC
|
||||
language: JAVA
|
||||
- name: python_gapic
|
||||
type: GAPIC
|
||||
language: PYTHON
|
||||
- name: nodejs_gapic
|
||||
type: GAPIC
|
||||
language: NODEJS
|
||||
- name: php_gapic
|
||||
type: GAPIC
|
||||
language: PHP
|
||||
- name: go_gapic
|
||||
type: GAPIC
|
||||
language: GO
|
||||
- name: ruby_gapic
|
||||
type: GAPIC
|
||||
language: RUBY
|
||||
- name: csharp_gapic
|
||||
type: GAPIC
|
||||
language: CSHARP
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
type: google.api.Service
|
||||
config_version: 1
|
||||
name: cloudresourcemanager.googleapis.com
|
||||
title: Google Cloud Resource Manager API
|
||||
|
||||
apis:
|
||||
- name: google.cloud.resourcemanager.v2.Folders
|
||||
|
||||
types:
|
||||
- name: google.cloud.resourcemanager.v2.FolderOperation
|
||||
|
||||
documentation:
|
||||
summary: |-
|
||||
The Google Cloud Resource Manager API provides methods for creating,
|
||||
reading, and updating project metadata.
|
||||
|
||||
backend:
|
||||
rules:
|
||||
- selector: google.cloud.resourcemanager.v2.Folders.ListFolders
|
||||
deadline: 30.0
|
||||
- selector: google.cloud.resourcemanager.v2.Folders.SearchFolders
|
||||
deadline: 30.0
|
||||
- selector: google.cloud.resourcemanager.v2.Folders.GetFolder
|
||||
deadline: 30.0
|
||||
- selector: google.cloud.resourcemanager.v2.Folders.CreateFolder
|
||||
deadline: 30.0
|
||||
- selector: google.cloud.resourcemanager.v2.Folders.UpdateFolder
|
||||
deadline: 30.0
|
||||
- selector: google.cloud.resourcemanager.v2.Folders.MoveFolder
|
||||
deadline: 30.0
|
||||
- selector: google.cloud.resourcemanager.v2.Folders.DeleteFolder
|
||||
deadline: 30.0
|
||||
- selector: google.cloud.resourcemanager.v2.Folders.UndeleteFolder
|
||||
deadline: 30.0
|
||||
- selector: google.cloud.resourcemanager.v2.Folders.GetIamPolicy
|
||||
deadline: 30.0
|
||||
- selector: google.cloud.resourcemanager.v2.Folders.SetIamPolicy
|
||||
deadline: 30.0
|
||||
- selector: google.cloud.resourcemanager.v2.Folders.TestIamPermissions
|
||||
deadline: 30.0
|
||||
|
||||
authentication:
|
||||
rules:
|
||||
- selector: '*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform
|
||||
- selector: |-
|
||||
google.cloud.resourcemanager.v2.Folders.GetFolder,
|
||||
google.cloud.resourcemanager.v2.Folders.GetIamPolicy,
|
||||
google.cloud.resourcemanager.v2.Folders.ListFolders,
|
||||
google.cloud.resourcemanager.v2.Folders.SearchFolders
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/cloud-platform.read-only
|
||||
|
|
@ -0,0 +1,277 @@
|
|||
type: com.google.api.codegen.ConfigProto
|
||||
config_schema_version: 1.0.0
|
||||
# The settings of generated code in a specific language.
|
||||
language_settings:
|
||||
java:
|
||||
package_name: com.google.cloud.resourcemanager.v2
|
||||
python:
|
||||
package_name: google.cloud.resourcemanager_v2.gapic
|
||||
go:
|
||||
package_name: cloud.google.com/go/cloud/resourcemanager/apiv2
|
||||
csharp:
|
||||
package_name: Google.Cloud.ResourceManager.V2
|
||||
ruby:
|
||||
package_name: Google::Cloud::ResourceManager::V2
|
||||
php:
|
||||
package_name: Google\Cloud\ResourceManager\V2
|
||||
nodejs:
|
||||
package_name: resourcemanager.v2
|
||||
# The configuration for the license header to put on generated files.
|
||||
license_header:
|
||||
# The file containing the copyright line(s).
|
||||
copyright_file: copyright-google.txt
|
||||
# The file containing the raw license header without any copyright line(s).
|
||||
license_file: license-header-apache-2.0.txt
|
||||
# A list of API interface configurations.
|
||||
interfaces:
|
||||
# The fully qualified name of the API interface.
|
||||
- name: google.cloud.resourcemanager.v2.Folders
|
||||
# A list of resource collection configurations.
|
||||
# Consists of a name_pattern and an entity_name.
|
||||
# The name_pattern is a pattern to describe the names of the resources of this
|
||||
# collection, using the platform's conventions for URI patterns. A generator
|
||||
# may use this to generate methods to compose and decompose such names. The
|
||||
# pattern should use named placeholders as in `shelves/{shelf}/books/{book}`;
|
||||
# those will be taken as hints for the parameter names of the generated
|
||||
# methods. If empty, no name methods are generated.
|
||||
# The entity_name is the name to be used as a basis for generated methods and
|
||||
# classes.
|
||||
collections:
|
||||
- name_pattern: folders/{folder}
|
||||
entity_name: folder
|
||||
# Definition for retryable codes.
|
||||
retry_codes_def:
|
||||
- name: idempotent
|
||||
retry_codes:
|
||||
- UNAVAILABLE
|
||||
- DEADLINE_EXCEEDED
|
||||
- name: non_idempotent
|
||||
retry_codes: []
|
||||
# Definition for retry/backoff parameters.
|
||||
retry_params_def:
|
||||
- name: default
|
||||
initial_retry_delay_millis: 100
|
||||
retry_delay_multiplier: 1.3
|
||||
max_retry_delay_millis: 30000
|
||||
initial_rpc_timeout_millis: 20000
|
||||
rpc_timeout_multiplier: 1
|
||||
max_rpc_timeout_millis: 20000
|
||||
total_timeout_millis: 600000
|
||||
# A list of method configurations.
|
||||
# Common properties:
|
||||
# name - The simple name of the method.
|
||||
# flattening - Specifies the configuration for parameter flattening.
|
||||
# Describes the parameter groups for which a generator should produce
|
||||
# method overloads which allow a client to directly pass request message
|
||||
# fields as method parameters. This information may or may not be used,
|
||||
# depending on the target language.
|
||||
# Consists of groups, which each represent a list of parameters to be
|
||||
# flattened. Each parameter listed must be a field of the request
|
||||
# message.
|
||||
# required_fields - Fields that are always required for a request to be
|
||||
# valid.
|
||||
# request_object_method - Turns on or off the generation of a method whose
|
||||
# sole parameter is a request object. Not all languages will generate
|
||||
# this method.
|
||||
# resource_name_treatment - An enum that specifies how to treat the
|
||||
# resource name formats defined in the field_name_patterns
|
||||
# and response_field_name_patterns fields.
|
||||
# UNSET: default value
|
||||
# NONE: the collection configs will not be used by the generated code.
|
||||
# VALIDATE: string fields will be validated by the client against the
|
||||
# specified resource name formats.
|
||||
# STATIC_TYPES: the client will use generated types for resource names.
|
||||
# page_streaming - Specifies the configuration for paging.
|
||||
# Describes information for generating a method which transforms a
|
||||
# paging list RPC into a stream of resources.
|
||||
# Consists of a request and a response.
|
||||
# The request specifies request information of the list method. It
|
||||
# defines which fields match the paging pattern in the request. The
|
||||
# request consists of a page_size_field and a token_field. The
|
||||
# page_size_field is the name of the optional field specifying the
|
||||
# maximum number of elements to be returned in the response. The
|
||||
# token_field is the name of the field in the request containing the
|
||||
# page token.
|
||||
# The response specifies response information of the list method. It
|
||||
# defines which fields match the paging pattern in the response. The
|
||||
# response consists of a token_field and a resources_field. The
|
||||
# token_field is the name of the field in the response containing the
|
||||
# next page token. The resources_field is the name of the field in the
|
||||
# response containing the list of resources belonging to the page.
|
||||
# retry_codes_name - Specifies the configuration for retryable codes. The
|
||||
# name must be defined in interfaces.retry_codes_def.
|
||||
# retry_params_name - Specifies the configuration for retry/backoff
|
||||
# parameters. The name must be defined in interfaces.retry_params_def.
|
||||
# field_name_patterns - Maps the field name of the request type to
|
||||
# entity_name of interfaces.collections.
|
||||
# Specifies the string pattern that the field must follow.
|
||||
# timeout_millis - Specifies the default timeout for a non-retrying call. If
|
||||
# the call is retrying, refer to retry_params_name instead.
|
||||
methods:
|
||||
- name: ListFolders
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
- show_deleted
|
||||
- parameters:
|
||||
- parent
|
||||
required_fields:
|
||||
- parent
|
||||
request_object_method: true
|
||||
page_streaming:
|
||||
request:
|
||||
page_size_field: page_size
|
||||
token_field: page_token
|
||||
response:
|
||||
token_field: next_page_token
|
||||
resources_field: folders
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
timeout_millis: 30000
|
||||
- name: SearchFolders
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- query
|
||||
required_fields:
|
||||
- query
|
||||
request_object_method: true
|
||||
page_streaming:
|
||||
request:
|
||||
page_size_field: page_size
|
||||
token_field: page_token
|
||||
response:
|
||||
token_field: next_page_token
|
||||
resources_field: folders
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
timeout_millis: 30000
|
||||
- name: GetFolder
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
required_fields:
|
||||
- name
|
||||
request_object_method: false
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: folder
|
||||
timeout_millis: 30000
|
||||
- name: CreateFolder
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
- folder
|
||||
required_fields:
|
||||
- parent
|
||||
- folder
|
||||
request_object_method: true
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
timeout_millis: 30000
|
||||
- name: UpdateFolder
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- folder
|
||||
- update_mask
|
||||
required_fields:
|
||||
- folder
|
||||
- update_mask
|
||||
request_object_method: true
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
folder.name: folder
|
||||
timeout_millis: 30000
|
||||
- name: MoveFolder
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
- destination_parent
|
||||
required_fields:
|
||||
- name
|
||||
- destination_parent
|
||||
request_object_method: true
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: folder
|
||||
timeout_millis: 30000
|
||||
- name: DeleteFolder
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
- parameters:
|
||||
- name
|
||||
- recursive_delete
|
||||
required_fields:
|
||||
- name
|
||||
request_object_method: true
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: folder
|
||||
timeout_millis: 30000
|
||||
- name: UndeleteFolder
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
required_fields:
|
||||
- name
|
||||
request_object_method: false
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: folder
|
||||
timeout_millis: 30000
|
||||
- name: GetIamPolicy
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- resource
|
||||
required_fields:
|
||||
- resource
|
||||
request_object_method: false
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
resource: folder
|
||||
timeout_millis: 30000
|
||||
- name: SetIamPolicy
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- resource
|
||||
- policy
|
||||
required_fields:
|
||||
- resource
|
||||
- policy
|
||||
request_object_method: true
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
resource: folder
|
||||
timeout_millis: 30000
|
||||
- name: TestIamPermissions
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- resource
|
||||
- permissions
|
||||
required_fields:
|
||||
- resource
|
||||
- permissions
|
||||
request_object_method: true
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
resource: folder
|
||||
timeout_millis: 30000
|
||||
|
|
@ -0,0 +1,393 @@
|
|||
// Copyright 2017 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
package google.cloud.resourcemanager.v2;
|
||||
|
||||
import "google/api/annotations.proto";
|
||||
import "google/iam/v1/iam_policy.proto";
|
||||
import "google/iam/v1/policy.proto";
|
||||
import "google/longrunning/operations.proto";
|
||||
import "google/protobuf/field_mask.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/resourcemanager/v2;resourcemanager";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "FoldersProto";
|
||||
option java_package = "com.google.cloud.resourcemanager.v2";
|
||||
|
||||
|
||||
// Manages Cloud Resource Folders.
|
||||
// Cloud Resource Folders can be used to organize the resources under an
|
||||
// organization and to control the IAM policies applied to groups of resources.
|
||||
service Folders {
|
||||
// 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.
|
||||
rpc ListFolders(ListFoldersRequest) returns (ListFoldersResponse) {
|
||||
option (google.api.http) = { get: "/v2/folders" };
|
||||
}
|
||||
|
||||
// Search for folders that match specific filter criteria.
|
||||
// Search provides an eventually consistent view of the folders a user has
|
||||
// access to which meet the specified filter criteria.
|
||||
//
|
||||
// This will only return folders on which the caller has the
|
||||
// permission `resourcemanager.folders.get`.
|
||||
rpc SearchFolders(SearchFoldersRequest) returns (SearchFoldersResponse) {
|
||||
option (google.api.http) = { post: "/v2/folders:search" body: "*" };
|
||||
}
|
||||
|
||||
// Retrieves a Folder identified by the supplied resource name.
|
||||
// Valid Folder resource names have the format `folders/{folder_id}`
|
||||
// (for example, `folders/1234`).
|
||||
// The caller must have `resourcemanager.folders.get` permission on the
|
||||
// identified folder.
|
||||
rpc GetFolder(GetFolderRequest) returns (Folder) {
|
||||
option (google.api.http) = { get: "/v2/{name=folders/*}" };
|
||||
}
|
||||
|
||||
// Creates a Folder in the resource hierarchy.
|
||||
// Returns an Operation which can be used to track the progress of the
|
||||
// folder creation workflow.
|
||||
// Upon success the Operation.response field will be populated with the
|
||||
// created Folder.
|
||||
//
|
||||
// In order to succeed, the addition of this new Folder must not violate
|
||||
// the Folder naming, height or fanout constraints.
|
||||
// + The Folder's display_name must be distinct from all other Folder's that
|
||||
// share its parent.
|
||||
// + The addition of the Folder must not cause the active Folder hierarchy
|
||||
// to exceed a height of 4. Note, the full active + deleted Folder hierarchy
|
||||
// is allowed to reach a height of 8; this provides additional headroom when
|
||||
// moving folders that contain deleted folders.
|
||||
// + The addition of the Folder must not cause the total number of Folders
|
||||
// under its parent to exceed 100.
|
||||
//
|
||||
// If the operation fails due to a folder constraint violation,
|
||||
// a PreconditionFailure explaining the violation will be returned.
|
||||
// If the failure occurs synchronously then the PreconditionFailure
|
||||
// will be returned via the Status.details field and if it occurs
|
||||
// asynchronously then the PreconditionFailure will be returned
|
||||
// via the the Operation.error field.
|
||||
//
|
||||
// The caller must have `resourcemanager.folders.create` permission on the
|
||||
// identified parent.
|
||||
rpc CreateFolder(CreateFolderRequest) returns (google.longrunning.Operation) {
|
||||
option (google.api.http) = { post: "/v2/folders" body: "folder" };
|
||||
}
|
||||
|
||||
// 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 the
|
||||
// identified folder.
|
||||
//
|
||||
// If the update fails due to the unique name constraint then a
|
||||
// PreconditionFailure explaining this violation will be returned
|
||||
// in the Status.details field.
|
||||
rpc UpdateFolder(UpdateFolderRequest) returns (Folder) {
|
||||
option (google.api.http) = { patch: "/v2/{folder.name=folders/*}" body: "folder" };
|
||||
}
|
||||
|
||||
// Moves a Folder under a new resource parent.
|
||||
// Returns an Operation which can be used to track the progress of the
|
||||
// folder move workflow.
|
||||
// Upon success the Operation.response field will be populated with the
|
||||
// moved Folder.
|
||||
// Upon failure, a FolderOperationError categorizing the failure cause will
|
||||
// be returned - if the failure occurs synchronously then the
|
||||
// FolderOperationError will be returned via the Status.details field
|
||||
// and if it occurs asynchronously then the FolderOperation will be returned
|
||||
// via the the Operation.error field.
|
||||
// In addition, the Operation.metadata field will be populated with a
|
||||
// FolderOperation message as an aid to stateless clients.
|
||||
// Folder moves will be rejected if they violate either the naming, height
|
||||
// or fanout constraints described in the [CreateFolder] documentation.
|
||||
// The caller must have `resourcemanager.folders.move` permission on the
|
||||
// folder's current and proposed new parent.
|
||||
rpc MoveFolder(MoveFolderRequest) returns (google.longrunning.Operation) {
|
||||
option (google.api.http) = { post: "/v2/{name=folders/*}:move" body: "*" };
|
||||
}
|
||||
|
||||
// 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 the
|
||||
// identified folder.
|
||||
rpc DeleteFolder(DeleteFolderRequest) returns (Folder) {
|
||||
option (google.api.http) = { delete: "/v2/{name=folders/*}" };
|
||||
}
|
||||
|
||||
// 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 the
|
||||
// identified folder.
|
||||
rpc UndeleteFolder(UndeleteFolderRequest) returns (Folder) {
|
||||
option (google.api.http) = { post: "/v2/{name=folders/*}:undelete" body: "*" };
|
||||
}
|
||||
|
||||
// Gets the access control policy for a Folder. The returned policy may be
|
||||
// empty if no such policy or resource exists. The `resource` field should
|
||||
// be the Folder's resource name, e.g. "folders/1234".
|
||||
// The caller must have `resourcemanager.folders.getIamPolicy` permission
|
||||
// on the identified folder.
|
||||
rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) {
|
||||
option (google.api.http) = { post: "/v2/{resource=folders/*}:getIamPolicy" body: "*" };
|
||||
}
|
||||
|
||||
// Sets the access control policy on a Folder, replacing any existing policy.
|
||||
// The `resource` field should be the Folder's resource name, e.g.
|
||||
// "folders/1234".
|
||||
// The caller must have `resourcemanager.folders.setIamPolicy` permission
|
||||
// on the identified folder.
|
||||
rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
|
||||
option (google.api.http) = { post: "/v2/{resource=folders/*}:setIamPolicy" body: "*" };
|
||||
}
|
||||
|
||||
// Returns permissions that a caller has on the specified Folder.
|
||||
// The `resource` field should be the Folder's resource name,
|
||||
// e.g. "folders/1234".
|
||||
//
|
||||
// There are no permissions required for making this API call.
|
||||
rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
|
||||
option (google.api.http) = { post: "/v2/{resource=folders/*}:testIamPermissions" body: "*" };
|
||||
}
|
||||
}
|
||||
|
||||
// A Folder in an Organization's resource hierarchy, used to
|
||||
// organize that Organization's resources.
|
||||
message Folder {
|
||||
// Folder lifecycle states.
|
||||
enum LifecycleState {
|
||||
// Unspecified state.
|
||||
LIFECYCLE_STATE_UNSPECIFIED = 0;
|
||||
|
||||
// The normal and active state.
|
||||
ACTIVE = 1;
|
||||
|
||||
// The folder has been marked for deletion by the user.
|
||||
DELETE_REQUESTED = 2;
|
||||
}
|
||||
|
||||
// Output only. The resource name of the Folder.
|
||||
// Its format is `folders/{folder_id}`, for example: "folders/1234".
|
||||
string name = 1;
|
||||
|
||||
// The Folder’s parent's resource name.
|
||||
// Updates to the folder's parent must be performed via [MoveFolders].
|
||||
string parent = 2;
|
||||
|
||||
// The folder’s display name.
|
||||
// A folder’s display name must be unique amongst its siblings, e.g.
|
||||
// no two folders with the same parent can share the same display name.
|
||||
// The 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}])?.
|
||||
string display_name = 3;
|
||||
|
||||
// Output only. The lifecycle state of the folder.
|
||||
// Updates to the lifecycle_state must be performed via
|
||||
// [DeleteFolder] and [UndeleteFolder].
|
||||
LifecycleState lifecycle_state = 4;
|
||||
|
||||
// Output only. Timestamp when the Folder was created. Assigned by the server.
|
||||
google.protobuf.Timestamp create_time = 5;
|
||||
|
||||
// Output only. Timestamp when the Folder was last modified.
|
||||
google.protobuf.Timestamp update_time = 6;
|
||||
}
|
||||
|
||||
// The ListFolders request message.
|
||||
message ListFoldersRequest {
|
||||
// The resource name of the Organization or Folder whose Folders are
|
||||
// being listed.
|
||||
// Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
|
||||
// Access to this method is controlled by checking the
|
||||
// `resourcemanager.folders.list` permission on the `parent`.
|
||||
string parent = 1;
|
||||
|
||||
// The maximum number of Folders to return in the response.
|
||||
// This field is optional.
|
||||
int32 page_size = 2;
|
||||
|
||||
// A pagination token returned from a previous call to `ListFolders`
|
||||
// that indicates where this listing should continue from.
|
||||
// This field is optional.
|
||||
string page_token = 3;
|
||||
|
||||
// Controls whether Folders in the [DELETE_REQUESTED} state should
|
||||
// be returned.
|
||||
bool show_deleted = 4;
|
||||
}
|
||||
|
||||
// The ListFolders response message.
|
||||
message ListFoldersResponse {
|
||||
// A possibly paginated list of Folders that are direct descendants of
|
||||
// the specified parent resource.
|
||||
repeated Folder folders = 1;
|
||||
|
||||
// A pagination token returned from a previous call to `ListFolders`
|
||||
// that indicates from where listing should continue.
|
||||
// This field is optional.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// The request message for searching folders.
|
||||
message SearchFoldersRequest {
|
||||
// The maximum number of folders to return in the response.
|
||||
// This field is optional.
|
||||
int32 page_size = 1;
|
||||
|
||||
// A pagination token returned from a previous call to `SearchFolders`
|
||||
// that indicates from where search should continue.
|
||||
// This field is optional.
|
||||
string page_token = 2;
|
||||
|
||||
// Search criteria used to select the Folders to return.
|
||||
// If no search criteria is specified then all accessible folders will be
|
||||
// returned.
|
||||
//
|
||||
// Query expressions can be used to restrict results based upon displayName,
|
||||
// lifecycleState and parent, where the operators `=`, `NOT`, `AND` and `OR`
|
||||
// can be used along with the suffix wildcard symbol `*`.
|
||||
//
|
||||
// Some example queries are:
|
||||
// |Query|Description|
|
||||
// |------|-----------|
|
||||
// |displayName=Test*|Folders whose display name starts with "Test".|
|
||||
// |lifecycleState=ACTIVE|Folders whose lifecycleState is ACTIVE.|
|
||||
// |parent=folders/123|Folders whose parent is "folders/123".|
|
||||
// |parent=folders/123 AND lifecycleState=ACTIVE|Active folders whose
|
||||
// parent is "folders/123".|
|
||||
string query = 3;
|
||||
}
|
||||
|
||||
// The response message for searching folders.
|
||||
message SearchFoldersResponse {
|
||||
// A possibly paginated folder search results.
|
||||
// the specified parent resource.
|
||||
repeated Folder folders = 1;
|
||||
|
||||
// A pagination token returned from a previous call to `SearchFolders`
|
||||
// that indicates from where searching should continue.
|
||||
// This field is optional.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// The GetFolder request message.
|
||||
message GetFolderRequest {
|
||||
// The resource name of the Folder to retrieve.
|
||||
// Must be of the form `folders/{folder_id}`.
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// The CreateFolder request message.
|
||||
message CreateFolderRequest {
|
||||
// The resource name of the new Folder's parent.
|
||||
// Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
|
||||
string parent = 1;
|
||||
|
||||
// The Folder being created, only the display name will be consulted.
|
||||
// All other fields will be ignored.
|
||||
Folder folder = 2;
|
||||
}
|
||||
|
||||
// The MoveFolder request message.
|
||||
message MoveFolderRequest {
|
||||
// The resource name of the Folder to move.
|
||||
// Must be of the form folders/{folder_id}
|
||||
string name = 1;
|
||||
|
||||
// The resource name of the Folder or Organization to reparent
|
||||
// the folder under.
|
||||
// Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
|
||||
string destination_parent = 2;
|
||||
}
|
||||
|
||||
// The request message for updating a folder's display name.
|
||||
message UpdateFolderRequest {
|
||||
// The new definition of the Folder. It must include a
|
||||
// a `name` and `display_name` field. The other fields
|
||||
// will be ignored.
|
||||
Folder folder = 1;
|
||||
|
||||
// Fields to be updated.
|
||||
// Only the `display_name` can be updated.
|
||||
google.protobuf.FieldMask update_mask = 2;
|
||||
}
|
||||
|
||||
// The DeleteFolder request message.
|
||||
message DeleteFolderRequest {
|
||||
// the resource name of the Folder to be deleted.
|
||||
// Must be of the form `folders/{folder_id}`.
|
||||
string name = 1;
|
||||
|
||||
// Instructs DeleteFolderAction to delete a folder even when the folder is not
|
||||
// empty.
|
||||
bool recursive_delete = 2;
|
||||
}
|
||||
|
||||
// The UndeleteFolder request message.
|
||||
message UndeleteFolderRequest {
|
||||
// The resource name of the Folder to undelete.
|
||||
// Must be of the form `folders/{folder_id}`.
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// Metadata describing a long running folder operation
|
||||
message FolderOperation {
|
||||
// The type of operation that failed.
|
||||
enum OperationType {
|
||||
// Operation type not specified.
|
||||
OPERATION_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// A create folder operation.
|
||||
CREATE = 1;
|
||||
|
||||
// A move folder operation.
|
||||
MOVE = 2;
|
||||
}
|
||||
|
||||
// The display name of the folder.
|
||||
string display_name = 1;
|
||||
|
||||
// The type of this operation.
|
||||
OperationType operation_type = 2;
|
||||
|
||||
// The resource name of the folder's parent.
|
||||
// Only applicable when the operation_type is MOVE.
|
||||
string source_parent = 3;
|
||||
|
||||
// The resource name of the folder or organization we are either creating
|
||||
// the folder under or moving the folder to.
|
||||
string destination_parent = 4;
|
||||
}
|
||||
Loading…
Reference in New Issue