def delete_sink(self,
                    sink_name,
                    retry=google.api_core.gapic_v1.method.DEFAULT,
                    timeout=google.api_core.gapic_v1.method.DEFAULT,
                    metadata=None):
        """
        Deletes a sink. If the sink has a unique ``writer_identity``, then that
        service account is also deleted.

        Example:
            >>> from google.cloud import logging_v2
            >>>
            >>> client = logging_v2.ConfigServiceV2Client()
            >>>
            >>> sink_name = client.sink_path('[PROJECT]', '[SINK]')
            >>>
            >>> client.delete_sink(sink_name)

        Args:
            sink_name (str): Required. The full resource name of the sink to delete, including the
                parent resource and the sink identifier:

                ::

                    \"projects/[PROJECT_ID]/sinks/[SINK_ID]\"
                    \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"
                    \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"
                    \"folders/[FOLDER_ID]/sinks/[SINK_ID]\"

                Example: ``\"projects/my-project-id/sinks/my-sink-id\"``.
            retry (Optional[google.api_core.retry.Retry]):  A retry object used
                to retry requests. If ``None`` is specified, requests will not
                be retried.
            timeout (Optional[float]): The amount of time, in seconds, to wait
                for the request to complete. Note that if ``retry`` is
                specified, the timeout applies to each individual attempt.
            metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata
                that is provided to the method.

        Raises:
            google.api_core.exceptions.GoogleAPICallError: If the request
                    failed for any reason.
            google.api_core.exceptions.RetryError: If the request failed due
                    to a retryable error and retry attempts failed.
            ValueError: If the parameters are invalid.
        """
        # Wrap the transport method to add retry and timeout logic.
        if 'delete_sink' not in self._inner_api_calls:
            self._inner_api_calls[
                'delete_sink'] = google.api_core.gapic_v1.method.wrap_method(
                    self.transport.delete_sink,
                    default_retry=self._method_configs['DeleteSink'].retry,
                    default_timeout=self._method_configs['DeleteSink'].timeout,
                    client_info=self._client_info,
                )

        request = logging_config_pb2.DeleteSinkRequest(sink_name=sink_name, )
        self._inner_api_calls['delete_sink'](
            request, retry=retry, timeout=timeout, metadata=metadata)
    def test_delete_sink(self):
        channel = ChannelStub()
        client = logging_v2.ConfigServiceV2Client(channel=channel)

        # Setup Request
        sink_name = client.sink_path('[PROJECT]', '[SINK]')

        client.delete_sink(sink_name)

        assert len(channel.requests) == 1
        expected_request = logging_config_pb2.DeleteSinkRequest(
            sink_name=sink_name)
        actual_request = channel.requests[0][1]
        assert expected_request == actual_request
예제 #3
0
    def test_delete_sink(self):
        channel = ChannelStub()
        patch = mock.patch("google.api_core.grpc_helpers.create_channel")
        with patch as create_channel:
            create_channel.return_value = channel
            client = logging_v2.ConfigServiceV2Client()

        # Setup Request
        sink_name = client.sink_path("[PROJECT]", "[SINK]")

        client.delete_sink(sink_name)

        assert len(channel.requests) == 1
        expected_request = logging_config_pb2.DeleteSinkRequest(sink_name=sink_name)
        actual_request = channel.requests[0][1]
        assert expected_request == actual_request