source: vendor/google/apiclient-services/src/Iam/Resource/ProjectsRoles.php

Last change on this file was e3d4e0a, checked in by Vlado 222039 <vlado.popovski@…>, 10 days ago

Upload project files

  • Property mode set to 100644
File size: 13.3 KB
Line 
1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18namespace Google\Service\Iam\Resource;
19
20use Google\Service\Iam\CreateRoleRequest;
21use Google\Service\Iam\ListRolesResponse;
22use Google\Service\Iam\Role;
23use Google\Service\Iam\UndeleteRoleRequest;
24
25/**
26 * The "roles" collection of methods.
27 * Typical usage is:
28 * <code>
29 * $iamService = new Google\Service\Iam(...);
30 * $roles = $iamService->projects_roles;
31 * </code>
32 */
33class ProjectsRoles extends \Google\Service\Resource
34{
35 /**
36 * Creates a new custom Role. (roles.create)
37 *
38 * @param string $parent The `parent` parameter's value depends on the target
39 * resource for the request, namely
40 * [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles)
41 * or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizat
42 * ions.roles). Each resource type's `parent` value format is described below: *
43 * [`projects.roles.create()`](https://cloud.google.com/iam/reference/rest/v1/pr
44 * ojects.roles/create): `projects/{PROJECT_ID}`. This method creates project-
45 * level [custom roles](https://cloud.google.com/iam/docs/understanding-custom-
46 * roles). Example request URL:
47 * `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations
48 * .roles.create()`](https://cloud.google.com/iam/reference/rest/v1/organization
49 * s.roles/create): `organizations/{ORGANIZATION_ID}`. This method creates
50 * organization-level [custom roles](https://cloud.google.com/iam/docs
51 * /understanding-custom-roles). Example request URL:
52 * `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note:
53 * Wildcard (*) values are invalid; you must specify a complete project ID or
54 * organization ID.
55 * @param CreateRoleRequest $postBody
56 * @param array $optParams Optional parameters.
57 * @return Role
58 */
59 public function create($parent, CreateRoleRequest $postBody, $optParams = [])
60 {
61 $params = ['parent' => $parent, 'postBody' => $postBody];
62 $params = array_merge($params, $optParams);
63 return $this->call('create', [$params], Role::class);
64 }
65 /**
66 * Deletes a custom Role. When you delete a custom role, the following changes
67 * occur immediately: * You cannot bind a principal to the custom role in an IAM
68 * Policy. * Existing bindings to the custom role are not changed, but they have
69 * no effect. * By default, the response from ListRoles does not include the
70 * custom role. You have 7 days to undelete the custom role. After 7 days, the
71 * following changes occur: * The custom role is permanently deleted and cannot
72 * be recovered. * If an IAM policy contains a binding to the custom role, the
73 * binding is permanently removed. (roles.delete)
74 *
75 * @param string $name The `name` parameter's value depends on the target
76 * resource for the request, namely
77 * [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles)
78 * or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizat
79 * ions.roles). Each resource type's `name` value format is described below: * [
80 * `projects.roles.delete()`](https://cloud.google.com/iam/reference/rest/v1/pro
81 * jects.roles/delete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This
82 * method deletes only [custom roles](https://cloud.google.com/iam/docs
83 * /understanding-custom-roles) that have been created at the project level.
84 * Example request URL:
85 * `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`
86 * * [`organizations.roles.delete()`](https://cloud.google.com/iam/reference/res
87 * t/v1/organizations.roles/delete):
88 * `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes
89 * only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-
90 * roles) that have been created at the organization level. Example request URL:
91 * `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_
92 * ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete
93 * project ID or organization ID.
94 * @param array $optParams Optional parameters.
95 *
96 * @opt_param string etag Used to perform a consistent read-modify-write.
97 * @return Role
98 */
99 public function delete($name, $optParams = [])
100 {
101 $params = ['name' => $name];
102 $params = array_merge($params, $optParams);
103 return $this->call('delete', [$params], Role::class);
104 }
105 /**
106 * Gets the definition of a Role. (roles.get)
107 *
108 * @param string $name The `name` parameter's value depends on the target
109 * resource for the request, namely
110 * [`roles`](https://cloud.google.com/iam/reference/rest/v1/roles),
111 * [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles),
112 * or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizat
113 * ions.roles). Each resource type's `name` value format is described below: *
114 * [`roles.get()`](https://cloud.google.com/iam/reference/rest/v1/roles/get):
115 * `roles/{ROLE_NAME}`. This method returns results from all [predefined
116 * roles](https://cloud.google.com/iam/docs/understanding-
117 * roles#predefined_roles) in Cloud IAM. Example request URL:
118 * `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](
119 * https://cloud.google.com/iam/reference/rest/v1/projects.roles/get):
120 * `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only
121 * [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles)
122 * that have been created at the project level. Example request URL:
123 * `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`
124 * * [`organizations.roles.get()`](https://cloud.google.com/iam/reference/rest/v
125 * 1/organizations.roles/get):
126 * `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns
127 * only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-
128 * roles) that have been created at the organization level. Example request URL:
129 * `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_
130 * ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete
131 * project ID or organization ID.
132 * @param array $optParams Optional parameters.
133 * @return Role
134 */
135 public function get($name, $optParams = [])
136 {
137 $params = ['name' => $name];
138 $params = array_merge($params, $optParams);
139 return $this->call('get', [$params], Role::class);
140 }
141 /**
142 * Lists every predefined Role that IAM supports, or every custom role that is
143 * defined for an organization or project. (roles.listProjectsRoles)
144 *
145 * @param string $parent The `parent` parameter's value depends on the target
146 * resource for the request, namely
147 * [`roles`](https://cloud.google.com/iam/reference/rest/v1/roles),
148 * [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles),
149 * or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizat
150 * ions.roles). Each resource type's `parent` value format is described below: *
151 * [`roles.list()`](https://cloud.google.com/iam/reference/rest/v1/roles/list):
152 * An empty string. This method doesn't require a resource; it simply returns
153 * all [predefined roles](https://cloud.google.com/iam/docs/understanding-
154 * roles#predefined_roles) in Cloud IAM. Example request URL:
155 * `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](https://clo
156 * ud.google.com/iam/reference/rest/v1/projects.roles/list):
157 * `projects/{PROJECT_ID}`. This method lists all project-level [custom
158 * roles](https://cloud.google.com/iam/docs/understanding-custom-roles). Example
159 * request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`
160 * organizations.roles.list()`](https://cloud.google.com/iam/reference/rest/v1/o
161 * rganizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method
162 * lists all organization-level [custom roles](https://cloud.google.com/iam/docs
163 * /understanding-custom-roles). Example request URL:
164 * `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note:
165 * Wildcard (*) values are invalid; you must specify a complete project ID or
166 * organization ID.
167 * @param array $optParams Optional parameters.
168 *
169 * @opt_param int pageSize Optional limit on the number of roles to include in
170 * the response. The default is 300, and the maximum is 1,000.
171 * @opt_param string pageToken Optional pagination token returned in an earlier
172 * ListRolesResponse.
173 * @opt_param bool showDeleted Include Roles that have been deleted.
174 * @opt_param string view Optional view for the returned Role objects. When
175 * `FULL` is specified, the `includedPermissions` field is returned, which
176 * includes a list of all permissions in the role. The default value is `BASIC`,
177 * which does not return the `includedPermissions` field.
178 * @return ListRolesResponse
179 */
180 public function listProjectsRoles($parent, $optParams = [])
181 {
182 $params = ['parent' => $parent];
183 $params = array_merge($params, $optParams);
184 return $this->call('list', [$params], ListRolesResponse::class);
185 }
186 /**
187 * Updates the definition of a custom Role. (roles.patch)
188 *
189 * @param string $name The `name` parameter's value depends on the target
190 * resource for the request, namely
191 * [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles)
192 * or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizat
193 * ions.roles). Each resource type's `name` value format is described below: * [
194 * `projects.roles.patch()`](https://cloud.google.com/iam/reference/rest/v1/proj
195 * ects.roles/patch): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This
196 * method updates only [custom roles](https://cloud.google.com/iam/docs
197 * /understanding-custom-roles) that have been created at the project level.
198 * Example request URL:
199 * `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`
200 * * [`organizations.roles.patch()`](https://cloud.google.com/iam/reference/rest
201 * /v1/organizations.roles/patch):
202 * `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates
203 * only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-
204 * roles) that have been created at the organization level. Example request URL:
205 * `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_
206 * ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete
207 * project ID or organization ID.
208 * @param Role $postBody
209 * @param array $optParams Optional parameters.
210 *
211 * @opt_param string updateMask A mask describing which fields in the Role have
212 * changed.
213 * @return Role
214 */
215 public function patch($name, Role $postBody, $optParams = [])
216 {
217 $params = ['name' => $name, 'postBody' => $postBody];
218 $params = array_merge($params, $optParams);
219 return $this->call('patch', [$params], Role::class);
220 }
221 /**
222 * Undeletes a custom Role. (roles.undelete)
223 *
224 * @param string $name The `name` parameter's value depends on the target
225 * resource for the request, namely
226 * [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles)
227 * or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizat
228 * ions.roles). Each resource type's `name` value format is described below: * [
229 * `projects.roles.undelete()`](https://cloud.google.com/iam/reference/rest/v1/p
230 * rojects.roles/undelete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This
231 * method undeletes only [custom roles](https://cloud.google.com/iam/docs
232 * /understanding-custom-roles) that have been created at the project level.
233 * Example request URL:
234 * `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`
235 * * [`organizations.roles.undelete()`](https://cloud.google.com/iam/reference/r
236 * est/v1/organizations.roles/undelete):
237 * `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method
238 * undeletes only [custom roles](https://cloud.google.com/iam/docs
239 * /understanding-custom-roles) that have been created at the organization
240 * level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORG
241 * ANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid;
242 * you must specify a complete project ID or organization ID.
243 * @param UndeleteRoleRequest $postBody
244 * @param array $optParams Optional parameters.
245 * @return Role
246 */
247 public function undelete($name, UndeleteRoleRequest $postBody, $optParams = [])
248 {
249 $params = ['name' => $name, 'postBody' => $postBody];
250 $params = array_merge($params, $optParams);
251 return $this->call('undelete', [$params], Role::class);
252 }
253}
254
255// Adding a class alias for backwards compatibility with the previous class name.
256class_alias(ProjectsRoles::class, 'Google_Service_Iam_Resource_ProjectsRoles');
Note: See TracBrowser for help on using the repository browser.