Struct google_api_proto::google::cloud::retail::v2alpha::product_service_client::ProductServiceClient
source · pub struct ProductServiceClient<T> { /* private fields */ }
Expand description
Service for ingesting [Product][google.cloud.retail.v2alpha.Product] information of the customer’s website.
Implementations§
source§impl<T> ProductServiceClient<T>where
T: GrpcService<BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
impl<T> ProductServiceClient<T>where
T: GrpcService<BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
pub fn new(inner: T) -> Self
pub fn with_origin(inner: T, origin: Uri) -> Self
pub fn with_interceptor<F>(
inner: T,
interceptor: F
) -> ProductServiceClient<InterceptedService<T, F>>where
F: Interceptor,
T::ResponseBody: Default,
T: Service<Request<BoxBody>, Response = Response<<T as GrpcService<BoxBody>>::ResponseBody>>,
<T as Service<Request<BoxBody>>>::Error: Into<StdError> + Send + Sync,
sourcepub fn send_compressed(self, encoding: CompressionEncoding) -> Self
pub fn send_compressed(self, encoding: CompressionEncoding) -> Self
Compress requests with the given encoding.
This requires the server to support it otherwise it might respond with an error.
sourcepub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
pub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
Enable decompressing responses.
sourcepub fn max_decoding_message_size(self, limit: usize) -> Self
pub fn max_decoding_message_size(self, limit: usize) -> Self
Limits the maximum size of a decoded message.
Default: 4MB
sourcepub fn max_encoding_message_size(self, limit: usize) -> Self
pub fn max_encoding_message_size(self, limit: usize) -> Self
Limits the maximum size of an encoded message.
Default: usize::MAX
sourcepub async fn create_product(
&mut self,
request: impl IntoRequest<CreateProductRequest>
) -> Result<Response<Product>, Status>
pub async fn create_product( &mut self, request: impl IntoRequest<CreateProductRequest> ) -> Result<Response<Product>, Status>
Creates a [Product][google.cloud.retail.v2alpha.Product].
sourcepub async fn get_product(
&mut self,
request: impl IntoRequest<GetProductRequest>
) -> Result<Response<Product>, Status>
pub async fn get_product( &mut self, request: impl IntoRequest<GetProductRequest> ) -> Result<Response<Product>, Status>
Gets a [Product][google.cloud.retail.v2alpha.Product].
sourcepub async fn list_products(
&mut self,
request: impl IntoRequest<ListProductsRequest>
) -> Result<Response<ListProductsResponse>, Status>
pub async fn list_products( &mut self, request: impl IntoRequest<ListProductsRequest> ) -> Result<Response<ListProductsResponse>, Status>
Gets a list of [Product][google.cloud.retail.v2alpha.Product]s.
sourcepub async fn update_product(
&mut self,
request: impl IntoRequest<UpdateProductRequest>
) -> Result<Response<Product>, Status>
pub async fn update_product( &mut self, request: impl IntoRequest<UpdateProductRequest> ) -> Result<Response<Product>, Status>
Updates a [Product][google.cloud.retail.v2alpha.Product].
sourcepub async fn delete_product(
&mut self,
request: impl IntoRequest<DeleteProductRequest>
) -> Result<Response<()>, Status>
pub async fn delete_product( &mut self, request: impl IntoRequest<DeleteProductRequest> ) -> Result<Response<()>, Status>
Deletes a [Product][google.cloud.retail.v2alpha.Product].
sourcepub async fn purge_products(
&mut self,
request: impl IntoRequest<PurgeProductsRequest>
) -> Result<Response<Operation>, Status>
pub async fn purge_products( &mut self, request: impl IntoRequest<PurgeProductsRequest> ) -> Result<Response<Operation>, Status>
Permanently deletes all selected [Product][google.cloud.retail.v2alpha.Product]s under a branch.
This process is asynchronous. If the request is valid, the removal will be enqueued and processed offline. Depending on the number of [Product][google.cloud.retail.v2alpha.Product]s, this operation could take hours to complete. Before the operation completes, some [Product][google.cloud.retail.v2alpha.Product]s may still be returned by [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct] or [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
Depending on the number of [Product][google.cloud.retail.v2alpha.Product]s, this operation could take hours to complete. To get a sample of [Product][google.cloud.retail.v2alpha.Product]s that would be deleted, set [PurgeProductsRequest.force][google.cloud.retail.v2alpha.PurgeProductsRequest.force] to false.
sourcepub async fn import_products(
&mut self,
request: impl IntoRequest<ImportProductsRequest>
) -> Result<Response<Operation>, Status>
pub async fn import_products( &mut self, request: impl IntoRequest<ImportProductsRequest> ) -> Result<Response<Operation>, Status>
Bulk import of multiple [Product][google.cloud.retail.v2alpha.Product]s.
Request processing may be synchronous. Non-existing items are created.
Note that it is possible for a subset of the [Product][google.cloud.retail.v2alpha.Product]s to be successfully updated.
sourcepub async fn set_inventory(
&mut self,
request: impl IntoRequest<SetInventoryRequest>
) -> Result<Response<Operation>, Status>
pub async fn set_inventory( &mut self, request: impl IntoRequest<SetInventoryRequest> ) -> Result<Response<Operation>, Status>
Updates inventory information for a [Product][google.cloud.retail.v2alpha.Product] while respecting the last update timestamps of each inventory field.
This process is asynchronous and does not require the [Product][google.cloud.retail.v2alpha.Product] to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the [Product][google.cloud.retail.v2alpha.Product] queried by [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct] or [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
When inventory is updated with [ProductService.CreateProduct][google.cloud.retail.v2alpha.ProductService.CreateProduct] and [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct], the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the [ProductService.CreateProduct][google.cloud.retail.v2alpha.ProductService.CreateProduct] or [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct] request.
If no inventory fields are set in [CreateProductRequest.product][google.cloud.retail.v2alpha.CreateProductRequest.product], then any pre-existing inventory information for this product is used.
If no inventory fields are set in [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask], then any existing inventory information is preserved.
Pre-existing inventory information can only be updated with [ProductService.SetInventory][google.cloud.retail.v2alpha.ProductService.SetInventory], [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.AddFulfillmentPlaces], and [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.RemoveFulfillmentPlaces].
The returned [Operation][google.longrunning.Operation]s is obsolete after
one day, and the [GetOperation][google.longrunning.Operations.GetOperation]
API returns NOT_FOUND
afterwards.
If conflicting updates are issued, the [Operation][google.longrunning.Operation]s associated with the stale updates are not marked as [done][google.longrunning.Operation.done] until they are obsolete.
sourcepub async fn add_fulfillment_places(
&mut self,
request: impl IntoRequest<AddFulfillmentPlacesRequest>
) -> Result<Response<Operation>, Status>
pub async fn add_fulfillment_places( &mut self, request: impl IntoRequest<AddFulfillmentPlacesRequest> ) -> Result<Response<Operation>, Status>
It is recommended to use the [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories] method instead of [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.AddFulfillmentPlaces]. [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories] achieves the same results but provides more fine-grained control over ingesting local inventory data.
Incrementally adds place IDs to [Product.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids].
This process is asynchronous and does not require the [Product][google.cloud.retail.v2alpha.Product] to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the [Product][google.cloud.retail.v2alpha.Product] queried by [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct] or [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
The returned [Operation][google.longrunning.Operation]s will be obsolete after 1 day, and [GetOperation][google.longrunning.Operations.GetOperation] API will return NOT_FOUND afterwards.
If conflicting updates are issued, the [Operation][google.longrunning.Operation]s associated with the stale updates will not be marked as [done][google.longrunning.Operation.done] until being obsolete.
sourcepub async fn remove_fulfillment_places(
&mut self,
request: impl IntoRequest<RemoveFulfillmentPlacesRequest>
) -> Result<Response<Operation>, Status>
pub async fn remove_fulfillment_places( &mut self, request: impl IntoRequest<RemoveFulfillmentPlacesRequest> ) -> Result<Response<Operation>, Status>
It is recommended to use the [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories] method instead of [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.RemoveFulfillmentPlaces]. [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories] achieves the same results but provides more fine-grained control over ingesting local inventory data.
Incrementally removes place IDs from a [Product.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids].
This process is asynchronous and does not require the [Product][google.cloud.retail.v2alpha.Product] to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the [Product][google.cloud.retail.v2alpha.Product] queried by [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct] or [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
The returned [Operation][google.longrunning.Operation]s will be obsolete after 1 day, and [GetOperation][google.longrunning.Operations.GetOperation] API will return NOT_FOUND afterwards.
If conflicting updates are issued, the [Operation][google.longrunning.Operation]s associated with the stale updates will not be marked as [done][google.longrunning.Operation.done] until being obsolete.
sourcepub async fn add_local_inventories(
&mut self,
request: impl IntoRequest<AddLocalInventoriesRequest>
) -> Result<Response<Operation>, Status>
pub async fn add_local_inventories( &mut self, request: impl IntoRequest<AddLocalInventoriesRequest> ) -> Result<Response<Operation>, Status>
Updates local inventory information for a [Product][google.cloud.retail.v2alpha.Product] at a list of places, while respecting the last update timestamps of each inventory field.
This process is asynchronous and does not require the [Product][google.cloud.retail.v2alpha.Product] to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the [Product][google.cloud.retail.v2alpha.Product] queried by [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct] or [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
Local inventory information can only be modified using this method. [ProductService.CreateProduct][google.cloud.retail.v2alpha.ProductService.CreateProduct] and [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct] has no effect on local inventories.
The returned [Operation][google.longrunning.Operation]s will be obsolete after 1 day, and [GetOperation][google.longrunning.Operations.GetOperation] API will return NOT_FOUND afterwards.
If conflicting updates are issued, the [Operation][google.longrunning.Operation]s associated with the stale updates will not be marked as [done][google.longrunning.Operation.done] until being obsolete.
sourcepub async fn remove_local_inventories(
&mut self,
request: impl IntoRequest<RemoveLocalInventoriesRequest>
) -> Result<Response<Operation>, Status>
pub async fn remove_local_inventories( &mut self, request: impl IntoRequest<RemoveLocalInventoriesRequest> ) -> Result<Response<Operation>, Status>
Remove local inventory information for a [Product][google.cloud.retail.v2alpha.Product] at a list of places at a removal timestamp.
This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the [Product][google.cloud.retail.v2alpha.Product] queried by [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct] or [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
Local inventory information can only be removed using this method. [ProductService.CreateProduct][google.cloud.retail.v2alpha.ProductService.CreateProduct] and [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct] has no effect on local inventories.
The returned [Operation][google.longrunning.Operation]s will be obsolete after 1 day, and [GetOperation][google.longrunning.Operations.GetOperation] API will return NOT_FOUND afterwards.
If conflicting updates are issued, the [Operation][google.longrunning.Operation]s associated with the stale updates will not be marked as [done][google.longrunning.Operation.done] until being obsolete.
Trait Implementations§
source§impl<T: Clone> Clone for ProductServiceClient<T>
impl<T: Clone> Clone for ProductServiceClient<T>
source§fn clone(&self) -> ProductServiceClient<T>
fn clone(&self) -> ProductServiceClient<T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl<T> !Freeze for ProductServiceClient<T>
impl<T> RefUnwindSafe for ProductServiceClient<T>where
T: RefUnwindSafe,
impl<T> Send for ProductServiceClient<T>where
T: Send,
impl<T> Sync for ProductServiceClient<T>where
T: Sync,
impl<T> Unpin for ProductServiceClient<T>where
T: Unpin,
impl<T> UnwindSafe for ProductServiceClient<T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request