forked from googleapis/google-api-php-client-services
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProjects.php
More file actions
171 lines (167 loc) · 7.18 KB
/
Projects.php
File metadata and controls
171 lines (167 loc) · 7.18 KB
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<?php
/*
* Copyright 2014 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.
*/
namespace Google\Service\CloudKMS\Resource;
use Google\Service\CloudKMS\AutokeyConfig;
use Google\Service\CloudKMS\KeyAccessJustificationsPolicyConfig;
use Google\Service\CloudKMS\ShowEffectiveAutokeyConfigResponse;
use Google\Service\CloudKMS\ShowEffectiveKeyAccessJustificationsEnrollmentConfigResponse;
use Google\Service\CloudKMS\ShowEffectiveKeyAccessJustificationsPolicyConfigResponse;
/**
* The "projects" collection of methods.
* Typical usage is:
* <code>
* $cloudkmsService = new Google\Service\CloudKMS(...);
* $projects = $cloudkmsService->projects;
* </code>
*/
class Projects extends \Google\Service\Resource
{
/**
* Returns the AutokeyConfig for a folder or project.
* (projects.getAutokeyConfig)
*
* @param string $name Required. Name of the AutokeyConfig resource, e.g.
* `folders/{FOLDER_NUMBER}/autokeyConfig` or
* `projects/{PROJECT_NUMBER}/autokeyConfig`.
* @param array $optParams Optional parameters.
* @return AutokeyConfig
* @throws \Google\Service\Exception
*/
public function getAutokeyConfig($name, $optParams = [])
{
$params = ['name' => $name];
$params = array_merge($params, $optParams);
return $this->call('getAutokeyConfig', [$params], AutokeyConfig::class);
}
/**
* Gets the KeyAccessJustificationsPolicyConfig for a given organization,
* folder, or project. (projects.getKajPolicyConfig)
*
* @param string $name Required. Specifies the name of the
* KeyAccessJustificationsPolicyConfig to get.
* @param array $optParams Optional parameters.
* @return KeyAccessJustificationsPolicyConfig
* @throws \Google\Service\Exception
*/
public function getKajPolicyConfig($name, $optParams = [])
{
$params = ['name' => $name];
$params = array_merge($params, $optParams);
return $this->call('getKajPolicyConfig', [$params], KeyAccessJustificationsPolicyConfig::class);
}
/**
* Returns the effective Cloud KMS Autokey configuration for a given project.
* (projects.showEffectiveAutokeyConfig)
*
* @param string $parent Required. Name of the resource project to the show
* effective Cloud KMS Autokey configuration for. This may be helpful for
* interrogating the effect of nested folder configurations on a given resource
* project.
* @param array $optParams Optional parameters.
* @return ShowEffectiveAutokeyConfigResponse
* @throws \Google\Service\Exception
*/
public function showEffectiveAutokeyConfig($parent, $optParams = [])
{
$params = ['parent' => $parent];
$params = array_merge($params, $optParams);
return $this->call('showEffectiveAutokeyConfig', [$params], ShowEffectiveAutokeyConfigResponse::class);
}
/**
* Returns the KeyAccessJustificationsEnrollmentConfig of the resource closest
* to the given project in hierarchy.
* (projects.showEffectiveKeyAccessJustificationsEnrollmentConfig)
*
* @param string $project Required. Specifies the number or id of the project to
* get the effective KeyAccessJustificationsEnrollmentConfig for.
* @param array $optParams Optional parameters.
* @return ShowEffectiveKeyAccessJustificationsEnrollmentConfigResponse
* @throws \Google\Service\Exception
*/
public function showEffectiveKeyAccessJustificationsEnrollmentConfig($project, $optParams = [])
{
$params = ['project' => $project];
$params = array_merge($params, $optParams);
return $this->call('showEffectiveKeyAccessJustificationsEnrollmentConfig', [$params], ShowEffectiveKeyAccessJustificationsEnrollmentConfigResponse::class);
}
/**
* Returns the KeyAccessJustificationsPolicyConfig of the resource closest to
* the given project in hierarchy.
* (projects.showEffectiveKeyAccessJustificationsPolicyConfig)
*
* @param string $project Required. Specifies the number or id of the project to
* get the effective KeyAccessJustificationsPolicyConfig. In the format of
* "projects/{|}"
* @param array $optParams Optional parameters.
* @return ShowEffectiveKeyAccessJustificationsPolicyConfigResponse
* @throws \Google\Service\Exception
*/
public function showEffectiveKeyAccessJustificationsPolicyConfig($project, $optParams = [])
{
$params = ['project' => $project];
$params = array_merge($params, $optParams);
return $this->call('showEffectiveKeyAccessJustificationsPolicyConfig', [$params], ShowEffectiveKeyAccessJustificationsPolicyConfigResponse::class);
}
/**
* Updates the AutokeyConfig for a folder or a project. The caller must have
* both `cloudkms.autokeyConfigs.update` permission on the parent folder and
* `cloudkms.cryptoKeys.setIamPolicy` permission on the provided key project. A
* KeyHandle creation in the folder's descendant projects will use this
* configuration to determine where to create the resulting CryptoKey.
* (projects.updateAutokeyConfig)
*
* @param string $name Identifier. Name of the AutokeyConfig resource, e.g.
* `folders/{FOLDER_NUMBER}/autokeyConfig` or
* `projects/{PROJECT_NUMBER}/autokeyConfig`.
* @param AutokeyConfig $postBody
* @param array $optParams Optional parameters.
*
* @opt_param string updateMask Required. Masks which fields of the
* AutokeyConfig to update, e.g. `keyProject`.
* @return AutokeyConfig
* @throws \Google\Service\Exception
*/
public function updateAutokeyConfig($name, AutokeyConfig $postBody, $optParams = [])
{
$params = ['name' => $name, 'postBody' => $postBody];
$params = array_merge($params, $optParams);
return $this->call('updateAutokeyConfig', [$params], AutokeyConfig::class);
}
/**
* Updates the KeyAccessJustificationsPolicyConfig for a given organization,
* folder, or project. (projects.updateKajPolicyConfig)
*
* @param string $name Identifier. Represents the resource name for this
* KeyAccessJustificationsPolicyConfig in the format of
* "{organizations|folders|projects}/kajPolicyConfig".
* @param KeyAccessJustificationsPolicyConfig $postBody
* @param array $optParams Optional parameters.
*
* @opt_param string updateMask Optional. Specifies the list of fields to
* update.
* @return KeyAccessJustificationsPolicyConfig
* @throws \Google\Service\Exception
*/
public function updateKajPolicyConfig($name, KeyAccessJustificationsPolicyConfig $postBody, $optParams = [])
{
$params = ['name' => $name, 'postBody' => $postBody];
$params = array_merge($params, $optParams);
return $this->call('updateKajPolicyConfig', [$params], KeyAccessJustificationsPolicyConfig::class);
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(Projects::class, 'Google_Service_CloudKMS_Resource_Projects');