* $configService = new Google\Service\Config(...); * $deployments = $configService->projects_locations_deployments; * */ class ProjectsLocationsDeployments extends \Google\Service\Resource { /** * Creates a Deployment. (deployments.create) * * @param string $parent Required. The parent in whose context the Deployment is * created. The parent value is in the format: * 'projects/{project_id}/locations/{location}'. * @param Deployment $postBody * @param array $optParams Optional parameters. * * @opt_param string deploymentId Required. The Deployment ID. * @opt_param string requestId Optional. An optional request ID to identify * requests. Specify a unique request ID so that if you must retry your request, * the server will know to ignore the request if it has already been completed. * The server will guarantee that for at least 60 minutes since the first * request. For example, consider a situation where you make an initial request * and the request times out. If you make the request again with the same * request ID, the server can check if original operation with the same request * ID was received, and if so, will ignore the second request. This prevents * clients from accidentally creating duplicate commitments. The request ID must * be a valid UUID with the exception that zero UUID is not supported * (00000000-0000-0000-0000-000000000000). * @return Operation * @throws \Google\Service\Exception */ public function create($parent, Deployment $postBody, $optParams = []) { $params = ['parent' => $parent, 'postBody' => $postBody]; $params = array_merge($params, $optParams); return $this->call('create', [$params], Operation::class); } /** * Deletes a Deployment. (deployments.delete) * * @param string $name Required. The name of the Deployment in the format: * 'projects/{project_id}/locations/{location}/deployments/{deployment}'. * @param array $optParams Optional parameters. * * @opt_param string deletePolicy Optional. Policy on how resources actuated by * the deployment should be deleted. If unspecified, the default behavior is to * delete the underlying resources. * @opt_param bool force Optional. If set to true, any revisions for this * deployment will also be deleted. (Otherwise, the request will only work if * the deployment has no revisions.) * @opt_param string requestId Optional. An optional request ID to identify * requests. Specify a unique request ID so that if you must retry your request, * the server will know to ignore the request if it has already been completed. * The server will guarantee that for at least 60 minutes after the first * request. For example, consider a situation where you make an initial request * and the request times out. If you make the request again with the same * request ID, the server can check if original operation with the same request * ID was received, and if so, will ignore the second request. This prevents * clients from accidentally creating duplicate commitments. The request ID must * be a valid UUID with the exception that zero UUID is not supported * (00000000-0000-0000-0000-000000000000). * @return Operation * @throws \Google\Service\Exception */ public function delete($name, $optParams = []) { $params = ['name' => $name]; $params = array_merge($params, $optParams); return $this->call('delete', [$params], Operation::class); } /** * Deletes Terraform state file in a given deployment. (deployments.deleteState) * * @param string $name Required. The name of the deployment in the format: * 'projects/{project_id}/locations/{location}/deployments/{deployment}'. * @param DeleteStatefileRequest $postBody * @param array $optParams Optional parameters. * @return ConfigEmpty * @throws \Google\Service\Exception */ public function deleteState($name, DeleteStatefileRequest $postBody, $optParams = []) { $params = ['name' => $name, 'postBody' => $postBody]; $params = array_merge($params, $optParams); return $this->call('deleteState', [$params], ConfigEmpty::class); } /** * Exports the lock info on a locked deployment. (deployments.exportLock) * * @param string $name Required. The name of the deployment in the format: * 'projects/{project_id}/locations/{location}/deployments/{deployment}'. * @param array $optParams Optional parameters. * @return LockInfo * @throws \Google\Service\Exception */ public function exportLock($name, $optParams = []) { $params = ['name' => $name]; $params = array_merge($params, $optParams); return $this->call('exportLock', [$params], LockInfo::class); } /** * Exports Terraform state file from a given deployment. * (deployments.exportState) * * @param string $parent Required. The parent in whose context the statefile is * listed. The parent value is in the format: * 'projects/{project_id}/locations/{location}/deployments/{deployment}'. * @param ExportDeploymentStatefileRequest $postBody * @param array $optParams Optional parameters. * @return Statefile * @throws \Google\Service\Exception */ public function exportState($parent, ExportDeploymentStatefileRequest $postBody, $optParams = []) { $params = ['parent' => $parent, 'postBody' => $postBody]; $params = array_merge($params, $optParams); return $this->call('exportState', [$params], Statefile::class); } /** * Gets details about a Deployment. (deployments.get) * * @param string $name Required. The name of the deployment. Format: * 'projects/{project_id}/locations/{location}/deployments/{deployment}'. * @param array $optParams Optional parameters. * @return Deployment * @throws \Google\Service\Exception */ public function get($name, $optParams = []) { $params = ['name' => $name]; $params = array_merge($params, $optParams); return $this->call('get', [$params], Deployment::class); } /** * Gets the access control policy for a resource. Returns an empty policy if the * resource exists and does not have a policy set. (deployments.getIamPolicy) * * @param string $resource REQUIRED: The resource for which the policy is being * requested. See [Resource * names](https://cloud.google.com/apis/design/resource_names) for the * appropriate value for this field. * @param array $optParams Optional parameters. * * @opt_param int options.requestedPolicyVersion Optional. The maximum policy * version that will be used to format the policy. Valid values are 0, 1, and 3. * Requests specifying an invalid value will be rejected. Requests for policies * with any conditional role bindings must specify version 3. Policies with no * conditional role bindings may specify any valid value or leave the field * unset. The policy in the response might use the policy version that you * specified, or it might use a lower policy version. For example, if you * specify version 3, but the policy has no conditional role bindings, the * response uses version 1. To learn which resources support conditions in their * IAM policies, see the [IAM * documentation](https://cloud.google.com/iam/help/conditions/resource- * policies). * @return Policy * @throws \Google\Service\Exception */ public function getIamPolicy($resource, $optParams = []) { $params = ['resource' => $resource]; $params = array_merge($params, $optParams); return $this->call('getIamPolicy', [$params], Policy::class); } /** * Imports Terraform state file in a given deployment. The state file does not * take effect until the Deployment has been unlocked. (deployments.importState) * * @param string $parent Required. The parent in whose context the statefile is * listed. The parent value is in the format: * 'projects/{project_id}/locations/{location}/deployments/{deployment}'. * @param ImportStatefileRequest $postBody * @param array $optParams Optional parameters. * @return Statefile * @throws \Google\Service\Exception */ public function importState($parent, ImportStatefileRequest $postBody, $optParams = []) { $params = ['parent' => $parent, 'postBody' => $postBody]; $params = array_merge($params, $optParams); return $this->call('importState', [$params], Statefile::class); } /** * Lists Deployments in a given project and location. * (deployments.listProjectsLocationsDeployments) * * @param string $parent Required. The parent in whose context the Deployments * are listed. The parent value is in the format: * 'projects/{project_id}/locations/{location}'. * @param array $optParams Optional parameters. * * @opt_param string filter Lists the Deployments that match the filter * expression. A filter expression filters the resources listed in the response. * The expression must be of the form '{field} {operator} {value}' where * operators: '<', '>', '<=', '>=', '!=', '=', ':' are supported (colon ':' * represents a HAS operator which is roughly synonymous with equality). {field} * can refer to a proto or JSON field, or a synthetic field. Field names can be * camelCase or snake_case. Examples: - Filter by name: name = * "projects/foo/locations/us-central1/deployments/bar - Filter by labels: - * Resources that have a key called 'foo' labels.foo:* - Resources that have a * key called 'foo' whose value is 'bar' labels.foo = bar - Filter by state: - * Deployments in CREATING state. state=CREATING * @opt_param string orderBy Field to use to sort the list. * @opt_param int pageSize When requesting a page of resources, 'page_size' * specifies number of resources to return. If unspecified, at most 500 will be * returned. The maximum value is 1000. * @opt_param string pageToken Token returned by previous call to * 'ListDeployments' which specifies the position in the list from where to * continue listing the resources. * @return ListDeploymentsResponse * @throws \Google\Service\Exception */ public function listProjectsLocationsDeployments($parent, $optParams = []) { $params = ['parent' => $parent]; $params = array_merge($params, $optParams); return $this->call('list', [$params], ListDeploymentsResponse::class); } /** * Locks a deployment. (deployments.lock) * * @param string $name Required. The name of the deployment in the format: * 'projects/{project_id}/locations/{location}/deployments/{deployment}'. * @param LockDeploymentRequest $postBody * @param array $optParams Optional parameters. * @return Operation * @throws \Google\Service\Exception */ public function lock($name, LockDeploymentRequest $postBody, $optParams = []) { $params = ['name' => $name, 'postBody' => $postBody]; $params = array_merge($params, $optParams); return $this->call('lock', [$params], Operation::class); } /** * Updates a Deployment. (deployments.patch) * * @param string $name Resource name of the deployment. Format: * `projects/{project}/locations/{location}/deployments/{deployment}` * @param Deployment $postBody * @param array $optParams Optional parameters. * * @opt_param string requestId Optional. An optional request ID to identify * requests. Specify a unique request ID so that if you must retry your request, * the server will know to ignore the request if it has already been completed. * The server will guarantee that for at least 60 minutes since the first * request. For example, consider a situation where you make an initial request * and the request times out. If you make the request again with the same * request ID, the server can check if original operation with the same request * ID was received, and if so, will ignore the second request. This prevents * clients from accidentally creating duplicate commitments. The request ID must * be a valid UUID with the exception that zero UUID is not supported * (00000000-0000-0000-0000-000000000000). * @opt_param string updateMask Optional. Field mask used to specify the fields * to be overwritten in the Deployment resource by the update. The fields * specified in the update_mask are relative to the resource, not the full * request. A field will be overwritten if it is in the mask. If the user does * not provide a mask then all fields will be overwritten. * @return Operation * @throws \Google\Service\Exception */ public function patch($name, Deployment $postBody, $optParams = []) { $params = ['name' => $name, 'postBody' => $postBody]; $params = array_merge($params, $optParams); return $this->call('patch', [$params], Operation::class); } /** * Sets the access control policy on the specified resource. Replaces any * existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and * `PERMISSION_DENIED` errors. (deployments.setIamPolicy) * * @param string $resource REQUIRED: The resource for which the policy is being * specified. See [Resource * names](https://cloud.google.com/apis/design/resource_names) for the * appropriate value for this field. * @param SetIamPolicyRequest $postBody * @param array $optParams Optional parameters. * @return Policy * @throws \Google\Service\Exception */ public function setIamPolicy($resource, SetIamPolicyRequest $postBody, $optParams = []) { $params = ['resource' => $resource, 'postBody' => $postBody]; $params = array_merge($params, $optParams); return $this->call('setIamPolicy', [$params], Policy::class); } /** * Returns permissions that a caller has on the specified resource. If the * resource does not exist, this will return an empty set of permissions, not a * `NOT_FOUND` error. Note: This operation is designed to be used for building * permission-aware UIs and command-line tools, not for authorization checking. * This operation may "fail open" without warning. * (deployments.testIamPermissions) * * @param string $resource REQUIRED: The resource for which the policy detail is * being requested. See [Resource * names](https://cloud.google.com/apis/design/resource_names) for the * appropriate value for this field. * @param TestIamPermissionsRequest $postBody * @param array $optParams Optional parameters. * @return TestIamPermissionsResponse * @throws \Google\Service\Exception */ public function testIamPermissions($resource, TestIamPermissionsRequest $postBody, $optParams = []) { $params = ['resource' => $resource, 'postBody' => $postBody]; $params = array_merge($params, $optParams); return $this->call('testIamPermissions', [$params], TestIamPermissionsResponse::class); } /** * Unlocks a locked deployment. (deployments.unlock) * * @param string $name Required. The name of the deployment in the format: * 'projects/{project_id}/locations/{location}/deployments/{deployment}'. * @param UnlockDeploymentRequest $postBody * @param array $optParams Optional parameters. * @return Operation * @throws \Google\Service\Exception */ public function unlock($name, UnlockDeploymentRequest $postBody, $optParams = []) { $params = ['name' => $name, 'postBody' => $postBody]; $params = array_merge($params, $optParams); return $this->call('unlock', [$params], Operation::class); } } // Adding a class alias for backwards compatibility with the previous class name. class_alias(ProjectsLocationsDeployments::class, 'Google_Service_Config_Resource_ProjectsLocationsDeployments');