-
Notifications
You must be signed in to change notification settings - Fork 610
/
Copy pathdocument_service.set_acl.js
95 lines (85 loc) · 3.48 KB
/
document_service.set_acl.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
// Copyright 2025 Google LLC
//
// 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
//
// https://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.
//
// ** This file is automatically generated by gapic-generator-typescript. **
// ** https://github.com/googleapis/gapic-generator-typescript **
// ** All changes to this file may be overwritten. **
'use strict';
function main(resource, policy) {
// [START contentwarehouse_v1_generated_DocumentService_SetAcl_async]
/**
* This snippet has been automatically generated and should be regarded as a code template only.
* It will require modifications to work.
* It may require correct/in-range values for request initialization.
* TODO(developer): Uncomment these variables before running the sample.
*/
/**
* Required. REQUIRED: The resource for which the policy is being requested.
* Format for document:
* projects/{project_number}/locations/{location}/documents/{document_id}.
* Format for collection:
* projects/{project_number}/locations/{location}/collections/{collection_id}.
* Format for project: projects/{project_number}.
*/
// const resource = 'abc123'
/**
* Required. REQUIRED: The complete policy to be applied to the `resource`.
* The size of the policy is limited to a few 10s of KB. This refers to an
* Identity and Access (IAM) policy, which specifies access controls for the
* Document.
* You can set ACL with condition for projects only.
* Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where
* the left of the operator is `DocumentSchemaId` or property name and the
* right of the operator is a number or a quoted string. You must escape
* backslash (\\) and quote (\") characters.
* Boolean expressions (AND/OR) are supported up to 3 levels of nesting (for
* example, "((A AND B AND C) OR D) AND E"), a maximum of 10 comparisons are
* allowed in the expression. The expression must be < 6000 bytes in length.
* Sample condition:
* `"DocumentSchemaId = \"some schema id\" OR SchemaId.floatPropertyName
* >= 10"`
*/
// const policy = {}
/**
* The meta information collected about the end user, used to enforce access
* control for the service.
*/
// const requestMetadata = {}
/**
* For Set Project ACL only. Authorization check for end user will be ignored
* when project_owner=true.
*/
// const projectOwner = true
// Imports the Contentwarehouse library
const {DocumentServiceClient} = require('@google-cloud/contentwarehouse').v1;
// Instantiates a client
const contentwarehouseClient = new DocumentServiceClient();
async function callSetAcl() {
// Construct request
const request = {
resource,
policy,
};
// Run request
const response = await contentwarehouseClient.setAcl(request);
console.log(response);
}
callSetAcl();
// [END contentwarehouse_v1_generated_DocumentService_SetAcl_async]
}
process.on('unhandledRejection', err => {
console.error(err.message);
process.exitCode = 1;
});
main(...process.argv.slice(2));