Example #1
0
    def delete_patch_deployment(
            self,
            request: patch_deployments.DeletePatchDeploymentRequest = None,
            *,
            name: str = None,
            retry: retries.Retry = gapic_v1.method.DEFAULT,
            timeout: float = None,
            metadata: Sequence[Tuple[str, str]] = (),
    ) -> None:
        r"""Delete an OS Config patch deployment.

        Args:
            request (:class:`~.patch_deployments.DeletePatchDeploymentRequest`):
                The request object. A request message for deleting a
                patch deployment.
            name (:class:`str`):
                Required. The resource name of the patch deployment in
                the form ``projects/*/patchDeployments/*``.
                This corresponds to the ``name`` field
                on the ``request`` instance; if ``request`` is provided, this
                should not be set.

            retry (google.api_core.retry.Retry): Designation of what errors, if any,
                should be retried.
            timeout (float): The timeout for this request.
            metadata (Sequence[Tuple[str, str]]): Strings which should be
                sent along with the request as metadata.
        """
        # Create or coerce a protobuf request object.
        # Sanity check: If we got a request object, we should *not* have
        # gotten any keyword arguments that map to the request.
        if request is not None and any([name]):
            raise ValueError("If the `request` argument is set, then none of "
                             "the individual field arguments should be set.")

        request = patch_deployments.DeletePatchDeploymentRequest(request)

        # If we have keyword arguments corresponding to fields on the
        # request, apply these.

        if name is not None:
            request.name = name

        # Wrap the RPC method; this adds retry and timeout information,
        # and friendly error handling.
        rpc = gapic_v1.method.wrap_method(
            self._transport.delete_patch_deployment,
            default_timeout=None,
            client_info=_client_info,
        )

        # Certain fields should be provided within the metadata header;
        # add these here.
        metadata = tuple(metadata) + (gapic_v1.routing_header.to_grpc_metadata(
            (("name", request.name), )), )

        # Send the request.
        rpc(request, retry=retry, timeout=timeout, metadata=metadata)
    def test_patch_deployment(self):
        project_id = os.environ["PROJECT_ID"]
        client = OsConfigServiceClient()

        patch_deployment = patch_deployments.PatchDeployment(
            instance_filter=patch_jobs.PatchInstanceFilter(all=True),
            one_time_schedule=patch_deployments.OneTimeSchedule(
                execute_time=timestamp.Timestamp(seconds=200000000000)
            ),
        )
        patch_deployment_id = "python-client-library-test-" + str(uuid.uuid1())
        patch_deployment_name = (
            f"projects/{project_id}/patchDeployments/{patch_deployment_id}"
        )

        # CreatePatchDeploymentRequest
        request = patch_deployments.CreatePatchDeploymentRequest(
            parent=f"projects/{project_id}",
            patch_deployment_id=patch_deployment_id,
            patch_deployment=patch_deployment,
        )
        patch_deployment = client.create_patch_deployment(request)
        assert patch_deployment_id in patch_deployment.name

        # GetPatchDeployment
        request = patch_deployments.GetPatchDeploymentRequest(
            name=patch_deployment_name
        )
        patch_deployment = client.get_patch_deployment(request)
        assert patch_deployment_id in patch_deployment.name

        # ListPatchDeployments
        request = patch_deployments.ListPatchDeploymentsRequest(
            parent=f"projects/{project_id}"
        )
        response = client.list_patch_deployments(request)
        assert response.patch_deployments

        # DeletePatchDeployment
        request = patch_deployments.DeletePatchDeploymentRequest(
            name=patch_deployment_name
        )
        client.delete_patch_deployment(request)
Example #3
0
    def delete_patch_deployment(
            self,
            request: patch_deployments.DeletePatchDeploymentRequest = None,
            *,
            name: str = None,
            retry: retries.Retry = gapic_v1.method.DEFAULT,
            timeout: float = None,
            metadata: Sequence[Tuple[str, str]] = (),
    ) -> None:
        r"""Delete an OS Config patch deployment.

        Args:
            request (google.cloud.osconfig_v1.types.DeletePatchDeploymentRequest):
                The request object. A request message for deleting a
                patch deployment.
            name (str):
                Required. The resource name of the patch deployment in
                the form ``projects/*/patchDeployments/*``.

                This corresponds to the ``name`` field
                on the ``request`` instance; if ``request`` is provided, this
                should not be set.
            retry (google.api_core.retry.Retry): Designation of what errors, if any,
                should be retried.
            timeout (float): The timeout for this request.
            metadata (Sequence[Tuple[str, str]]): Strings which should be
                sent along with the request as metadata.
        """
        # Create or coerce a protobuf request object.
        # Sanity check: If we got a request object, we should *not* have
        # gotten any keyword arguments that map to the request.
        has_flattened_params = any([name])
        if request is not None and has_flattened_params:
            raise ValueError("If the `request` argument is set, then none of "
                             "the individual field arguments should be set.")

        # Minor optimization to avoid making a copy if the user passes
        # in a patch_deployments.DeletePatchDeploymentRequest.
        # There's no risk of modifying the input as we've already verified
        # there are no flattened fields.
        if not isinstance(request,
                          patch_deployments.DeletePatchDeploymentRequest):
            request = patch_deployments.DeletePatchDeploymentRequest(request)
            # If we have keyword arguments corresponding to fields on the
            # request, apply these.
            if name is not None:
                request.name = name

        # Wrap the RPC method; this adds retry and timeout information,
        # and friendly error handling.
        rpc = self._transport._wrapped_methods[
            self._transport.delete_patch_deployment]

        # Certain fields should be provided within the metadata header;
        # add these here.
        metadata = tuple(metadata) + (gapic_v1.routing_header.to_grpc_metadata(
            (("name", request.name), )), )

        # Send the request.
        rpc(
            request,
            retry=retry,
            timeout=timeout,
            metadata=metadata,
        )