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\BackupforGKE\Resource; 19 20use Google\Service\BackupforGKE\ListVolumeBackupsResponse; 21use Google\Service\BackupforGKE\Policy; 22use Google\Service\BackupforGKE\SetIamPolicyRequest; 23use Google\Service\BackupforGKE\TestIamPermissionsRequest; 24use Google\Service\BackupforGKE\TestIamPermissionsResponse; 25use Google\Service\BackupforGKE\VolumeBackup; 26 27/** 28 * The "volumeBackups" collection of methods. 29 * Typical usage is: 30 * <code> 31 * $gkebackupService = new Google\Service\BackupforGKE(...); 32 * $volumeBackups = $gkebackupService->volumeBackups; 33 * </code> 34 */ 35class ProjectsLocationsBackupPlansBackupsVolumeBackups extends \Google\Service\Resource 36{ 37 /** 38 * Retrieve the details of a single VolumeBackup. (volumeBackups.get) 39 * 40 * @param string $name Required. Full name of the VolumeBackup resource. Format: 41 * projects/{project}/locations/{location}/backupPlans/{backup_plan}/backups/{ba 42 * ckup}/volumeBackups/{volume_backup} 43 * @param array $optParams Optional parameters. 44 * @return VolumeBackup 45 */ 46 public function get($name, $optParams = []) 47 { 48 $params = ['name' => $name]; 49 $params = array_merge($params, $optParams); 50 return $this->call('get', [$params], VolumeBackup::class); 51 } 52 /** 53 * Gets the access control policy for a resource. Returns an empty policy if the 54 * resource exists and does not have a policy set. (volumeBackups.getIamPolicy) 55 * 56 * @param string $resource REQUIRED: The resource for which the policy is being 57 * requested. See the operation documentation for the appropriate value for this 58 * field. 59 * @param array $optParams Optional parameters. 60 * 61 * @opt_param int options.requestedPolicyVersion Optional. The maximum policy 62 * version that will be used to format the policy. Valid values are 0, 1, and 3. 63 * Requests specifying an invalid value will be rejected. Requests for policies 64 * with any conditional role bindings must specify version 3. Policies with no 65 * conditional role bindings may specify any valid value or leave the field 66 * unset. The policy in the response might use the policy version that you 67 * specified, or it might use a lower policy version. For example, if you 68 * specify version 3, but the policy has no conditional role bindings, the 69 * response uses version 1. To learn which resources support conditions in their 70 * IAM policies, see the [IAM 71 * documentation](https://cloud.google.com/iam/help/conditions/resource- 72 * policies). 73 * @return Policy 74 */ 75 public function getIamPolicy($resource, $optParams = []) 76 { 77 $params = ['resource' => $resource]; 78 $params = array_merge($params, $optParams); 79 return $this->call('getIamPolicy', [$params], Policy::class); 80 } 81 /** 82 * Lists the VolumeBackups for a given Backup. 83 * (volumeBackups.listProjectsLocationsBackupPlansBackupsVolumeBackups) 84 * 85 * @param string $parent Required. The Backup that contains the VolumeBackups to 86 * list. Format: projects/{project}/locations/{location}/backupPlans/{backup_pla 87 * n}/backups/{backup} 88 * @param array $optParams Optional parameters. 89 * 90 * @opt_param string filter List filter. 91 * @opt_param string orderBy Sort results. 92 * @opt_param int pageSize The target number of results to return in a single 93 * response. If not specified, a default value will be chosen by the service. 94 * Note that the response may inclue a partial list and a caller should only 95 * rely on the response's next_page_token to determine if there are more 96 * instances left to be queried. 97 * @opt_param string pageToken The value of next_page_token received from a 98 * previous `ListVolumeBackups` call. Provide this to retrieve the subsequent 99 * page in a multi-page list of results. When paginating, all other parameters 100 * provided to `ListVolumeBackups` must match the call that provided the page 101 * token. 102 * @return ListVolumeBackupsResponse 103 */ 104 public function listProjectsLocationsBackupPlansBackupsVolumeBackups($parent, $optParams = []) 105 { 106 $params = ['parent' => $parent]; 107 $params = array_merge($params, $optParams); 108 return $this->call('list', [$params], ListVolumeBackupsResponse::class); 109 } 110 /** 111 * Sets the access control policy on the specified resource. Replaces any 112 * existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and 113 * `PERMISSION_DENIED` errors. (volumeBackups.setIamPolicy) 114 * 115 * @param string $resource REQUIRED: The resource for which the policy is being 116 * specified. See the operation documentation for the appropriate value for this 117 * field. 118 * @param SetIamPolicyRequest $postBody 119 * @param array $optParams Optional parameters. 120 * @return Policy 121 */ 122 public function setIamPolicy($resource, SetIamPolicyRequest $postBody, $optParams = []) 123 { 124 $params = ['resource' => $resource, 'postBody' => $postBody]; 125 $params = array_merge($params, $optParams); 126 return $this->call('setIamPolicy', [$params], Policy::class); 127 } 128 /** 129 * Returns permissions that a caller has on the specified resource. If the 130 * resource does not exist, this will return an empty set of permissions, not a 131 * `NOT_FOUND` error. Note: This operation is designed to be used for building 132 * permission-aware UIs and command-line tools, not for authorization checking. 133 * This operation may "fail open" without warning. 134 * (volumeBackups.testIamPermissions) 135 * 136 * @param string $resource REQUIRED: The resource for which the policy detail is 137 * being requested. See the operation documentation for the appropriate value 138 * for this field. 139 * @param TestIamPermissionsRequest $postBody 140 * @param array $optParams Optional parameters. 141 * @return TestIamPermissionsResponse 142 */ 143 public function testIamPermissions($resource, TestIamPermissionsRequest $postBody, $optParams = []) 144 { 145 $params = ['resource' => $resource, 'postBody' => $postBody]; 146 $params = array_merge($params, $optParams); 147 return $this->call('testIamPermissions', [$params], TestIamPermissionsResponse::class); 148 } 149} 150 151// Adding a class alias for backwards compatibility with the previous class name. 152class_alias(ProjectsLocationsBackupPlansBackupsVolumeBackups::class, 'Google_Service_BackupforGKE_Resource_ProjectsLocationsBackupPlansBackupsVolumeBackups'); 153