Skip to main content

CatalogService

Struct CatalogService 

Source
pub struct CatalogService { /* private fields */ }
Expand description

Implements a client for the Vertex AI Search for commerce API.

§Example

use google_cloud_gax::paginator::ItemPaginator as _;
    let client = CatalogService::builder().build().await?;
    let parent = "parent_value";
    let mut list = client.list_catalogs()
        .set_parent(parent)
        .by_item();
    while let Some(item) = list.next().await.transpose()? {
        println!("{:?}", item);
    }

§Service Description

Service for managing catalog configuration.

§Configuration

To configure CatalogService use the with_* methods in the type returned by builder(). The default configuration should work for most applications. Common configuration changes include

  • with_endpoint(): by default this client uses the global default endpoint (https://retail.googleapis.com). Applications using regional endpoints or running in restricted networks (e.g. a network configured override this default.
  • with_credentials(): by default this client uses Application Default Credentials. Applications using custom authentication may need to override this default.

§Pooling and Cloning

CatalogService holds a connection pool internally, it is advised to create one and reuse it. You do not need to wrap CatalogService in an Rc or Arc to reuse it, because it already uses an Arc internally.

Implementations§

Source§

impl CatalogService

Source

pub fn builder() -> ClientBuilder

Returns a builder for CatalogService.

let client = CatalogService::builder().build().await?;
Source

pub fn from_stub<T>(stub: T) -> Self
where T: CatalogService + 'static,

Creates a new client from the provided stub.

The most common case for calling this function is in tests mocking the client’s behavior.

Source

pub fn list_catalogs(&self) -> ListCatalogs

Lists all the Catalogs associated with the project.

§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_retail_v2::Result;
async fn sample(
   client: &CatalogService, parent: &str
) -> Result<()> {
    let mut list = client.list_catalogs()
        .set_parent(parent)
        .by_item();
    while let Some(item) = list.next().await.transpose()? {
        println!("{:?}", item);
    }
    Ok(())
}
Source

pub fn update_catalog(&self) -> UpdateCatalog

Updates the Catalogs.

§Example
use google_cloud_wkt::FieldMask;
use google_cloud_retail_v2::model::Catalog;
use google_cloud_retail_v2::Result;
async fn sample(
   client: &CatalogService, name: &str
) -> Result<()> {
    let response = client.update_catalog()
        .set_catalog(
            Catalog::new().set_name(name)/* set fields */
        )
        .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
        .send().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn set_default_branch(&self) -> SetDefaultBranch

Set a specified branch id as default branch. API methods such as SearchService.Search, ProductService.GetProduct, ProductService.ListProducts will treat requests using “default_branch” to the actual branch id set as default.

For example, if projects/*/locations/*/catalogs/*/branches/1 is set as default, setting SearchRequest.branch to projects/*/locations/*/catalogs/*/branches/default_branch is equivalent to setting SearchRequest.branch to projects/*/locations/*/catalogs/*/branches/1.

Using multiple branches can be useful when developers would like to have a staging branch to test and verify for future usage. When it becomes ready, developers switch on the staging branch using this API while keeping using projects/*/locations/*/catalogs/*/branches/default_branch as SearchRequest.branch to route the traffic to this staging branch.

CAUTION: If you have live predict/search traffic, switching the default branch could potentially cause outages if the ID space of the new branch is very different from the old one.

More specifically:

  • PredictionService will only return product IDs from branch {newBranch}.
  • SearchService will only return product IDs from branch {newBranch} (if branch is not explicitly set).
  • UserEventService will only join events with products from branch {newBranch}.
§Example
use google_cloud_retail_v2::Result;
async fn sample(
   client: &CatalogService
) -> Result<()> {
    client.set_default_branch()
        /* set fields */
        .send().await?;
    Ok(())
}
Source

pub fn get_default_branch(&self) -> GetDefaultBranch

Get which branch is currently default branch set by CatalogService.SetDefaultBranch method under a specified parent catalog.

§Example
use google_cloud_retail_v2::Result;
async fn sample(
   client: &CatalogService
) -> Result<()> {
    let response = client.get_default_branch()
        /* set fields */
        .send().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn get_completion_config(&self) -> GetCompletionConfig

Gets a CompletionConfig.

§Example
use google_cloud_retail_v2::Result;
async fn sample(
   client: &CatalogService, name: &str
) -> Result<()> {
    let response = client.get_completion_config()
        .set_name(name)
        .send().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn update_completion_config(&self) -> UpdateCompletionConfig

Updates the CompletionConfigs.

§Example
use google_cloud_wkt::FieldMask;
use google_cloud_retail_v2::model::CompletionConfig;
use google_cloud_retail_v2::Result;
async fn sample(
   client: &CatalogService, name: &str
) -> Result<()> {
    let response = client.update_completion_config()
        .set_completion_config(
            CompletionConfig::new().set_name(name)/* set fields */
        )
        .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
        .send().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn get_attributes_config(&self) -> GetAttributesConfig

Gets an AttributesConfig.

§Example
use google_cloud_retail_v2::Result;
async fn sample(
   client: &CatalogService, name: &str
) -> Result<()> {
    let response = client.get_attributes_config()
        .set_name(name)
        .send().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn update_attributes_config(&self) -> UpdateAttributesConfig

Updates the AttributesConfig.

The catalog attributes in the request will be updated in the catalog, or inserted if they do not exist. Existing catalog attributes not included in the request will remain unchanged. Attributes that are assigned to products, but do not exist at the catalog level, are always included in the response. The product attribute is assigned default values for missing catalog attribute fields, e.g., searchable and dynamic facetable options.

§Example
use google_cloud_wkt::FieldMask;
use google_cloud_retail_v2::model::AttributesConfig;
use google_cloud_retail_v2::Result;
async fn sample(
   client: &CatalogService, name: &str
) -> Result<()> {
    let response = client.update_attributes_config()
        .set_attributes_config(
            AttributesConfig::new().set_name(name)/* set fields */
        )
        .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
        .send().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn add_catalog_attribute(&self) -> AddCatalogAttribute

Adds the specified CatalogAttribute to the AttributesConfig.

If the CatalogAttribute to add already exists, an ALREADY_EXISTS error is returned.

§Example
use google_cloud_retail_v2::Result;
async fn sample(
   client: &CatalogService
) -> Result<()> {
    let response = client.add_catalog_attribute()
        /* set fields */
        .send().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn remove_catalog_attribute(&self) -> RemoveCatalogAttribute

Removes the specified CatalogAttribute from the AttributesConfig.

If the CatalogAttribute to remove does not exist, a NOT_FOUND error is returned.

§Example
use google_cloud_retail_v2::Result;
async fn sample(
   client: &CatalogService
) -> Result<()> {
    let response = client.remove_catalog_attribute()
        /* set fields */
        .send().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn replace_catalog_attribute(&self) -> ReplaceCatalogAttribute

Replaces the specified CatalogAttribute in the AttributesConfig by updating the catalog attribute with the same CatalogAttribute.key.

If the CatalogAttribute to replace does not exist, a NOT_FOUND error is returned.

§Example
use google_cloud_retail_v2::Result;
async fn sample(
   client: &CatalogService
) -> Result<()> {
    let response = client.replace_catalog_attribute()
        /* set fields */
        .send().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn list_operations(&self) -> ListOperations

Provides the Operations service functionality in this service.

§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_retail_v2::Result;
async fn sample(
   client: &CatalogService
) -> Result<()> {
    let mut list = client.list_operations()
        /* set fields */
        .by_item();
    while let Some(item) = list.next().await.transpose()? {
        println!("{:?}", item);
    }
    Ok(())
}
Source

pub fn get_operation(&self) -> GetOperation

Provides the Operations service functionality in this service.

§Example
use google_cloud_retail_v2::Result;
async fn sample(
   client: &CatalogService
) -> Result<()> {
    let response = client.get_operation()
        /* set fields */
        .send().await?;
    println!("response {:?}", response);
    Ok(())
}

Trait Implementations§

Source§

impl Clone for CatalogService

Source§

fn clone(&self) -> CatalogService

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CatalogService

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more