diff --git a/google/cloud/recommendationengine/v1beta1/BUILD.bazel b/google/cloud/recommendationengine/v1beta1/BUILD.bazel index d7a7acb7..f60a1cb1 100644 --- a/google/cloud/recommendationengine/v1beta1/BUILD.bazel +++ b/google/cloud/recommendationengine/v1beta1/BUILD.bazel @@ -49,6 +49,7 @@ proto_library( "import.proto", "prediction_apikey_registry_service.proto", "prediction_service.proto", + "recommendationengine_resources.proto", "user_event.proto", "user_event_service.proto", ], @@ -57,6 +58,7 @@ proto_library( "//google/api:client_proto", "//google/api:field_behavior_proto", "//google/api:httpbody_proto", + "//google/api:resource_proto", "//google/longrunning:operations_proto", "//google/rpc:status_proto", "//google/type:date_proto", @@ -182,6 +184,7 @@ moved_proto_library( "//google/api:client_proto", "//google/api:field_behavior_proto", "//google/api:httpbody_proto", + "//google/api:resource_proto", "//google/longrunning:operations_proto", "//google/rpc:status_proto", "//google/type:date_proto", diff --git a/google/cloud/recommendationengine/v1beta1/catalog_service.proto b/google/cloud/recommendationengine/v1beta1/catalog_service.proto index c9a404d2..5d38d0c8 100644 --- a/google/cloud/recommendationengine/v1beta1/catalog_service.proto +++ b/google/cloud/recommendationengine/v1beta1/catalog_service.proto @@ -19,8 +19,10 @@ package google.cloud.recommendationengine.v1beta1; import "google/api/annotations.proto"; import "google/api/client.proto"; import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/cloud/recommendationengine/v1beta1/catalog.proto"; import "google/cloud/recommendationengine/v1beta1/import.proto"; +import "google/cloud/recommendationengine/v1beta1/recommendationengine_resources.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/empty.proto"; import "google/protobuf/field_mask.proto"; @@ -36,7 +38,8 @@ option ruby_package = "Google::Cloud::RecommendationEngine::V1beta1"; // Service for ingesting catalog information of the customer's website. service CatalogService { option (google.api.default_host) = "recommendationengine.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; // Creates a catalog item. rpc CreateCatalogItem(CreateCatalogItemRequest) returns (CatalogItem) { @@ -44,6 +47,7 @@ service CatalogService { post: "/v1beta1/{parent=projects/*/locations/*/catalogs/*}/catalogItems" body: "catalog_item" }; + option (google.api.method_signature) = "parent,catalog_item"; } // Gets a specific catalog item. @@ -55,10 +59,12 @@ service CatalogService { } // Gets a list of catalog items. - rpc ListCatalogItems(ListCatalogItemsRequest) returns (ListCatalogItemsResponse) { + rpc ListCatalogItems(ListCatalogItemsRequest) + returns (ListCatalogItemsResponse) { option (google.api.http) = { get: "/v1beta1/{parent=projects/*/locations/*/catalogs/*}/catalogItems" }; + option (google.api.method_signature) = "parent,filter"; } // Updates a catalog item. Partial updating is supported. Non-existing @@ -68,11 +74,12 @@ service CatalogService { patch: "/v1beta1/{name=projects/*/locations/*/catalogs/*/catalogItems/**}" body: "catalog_item" }; - option (google.api.method_signature) = "catalog_item,update_mask"; + option (google.api.method_signature) = "name,catalog_item,update_mask"; } // Deletes a catalog item. - rpc DeleteCatalogItem(DeleteCatalogItemRequest) returns (google.protobuf.Empty) { + rpc DeleteCatalogItem(DeleteCatalogItemRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1beta1/{name=projects/*/locations/*/catalogs/*/catalogItems/**}" }; @@ -85,7 +92,8 @@ service CatalogService { // // Operation.response is of type ImportResponse. Note that it is // possible for a subset of the items to be successfully updated. - rpc ImportCatalogItems(ImportCatalogItemsRequest) returns (google.longrunning.Operation) { + rpc ImportCatalogItems(ImportCatalogItemsRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1beta1/{parent=projects/*/locations/*/catalogs/*}/catalogItems:import" body: "*" @@ -94,6 +102,8 @@ service CatalogService { response_type: "google.cloud.recommendationengine.v1beta1.ImportCatalogItemsResponse" metadata_type: "google.cloud.recommendationengine.v1beta1.ImportMetadata" }; + option (google.api.method_signature) = + "parent,request_id,input_config,errors_config"; } } @@ -101,7 +111,12 @@ service CatalogService { message CreateCatalogItemRequest { // Required. The parent catalog resource name, such as // "projects/*/locations/global/catalogs/default_catalog". - string parent = 1 [(google.api.field_behavior) = REQUIRED]; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "recommendationengine.googleapis.com/Catalog" + } + ]; // Required. The catalog item to create. CatalogItem catalog_item = 2 [(google.api.field_behavior) = REQUIRED]; @@ -111,14 +126,24 @@ message CreateCatalogItemRequest { message GetCatalogItemRequest { // Required. Full resource name of catalog item, such as // "projects/*/locations/global/catalogs/default_catalog/catalogitems/some_catalog_item_id". - string name = 1 [(google.api.field_behavior) = REQUIRED]; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "recommendationengine.googleapis.com/CatalogItemPath" + } + ]; } // Request message for ListCatalogItems method. message ListCatalogItemsRequest { // Required. The parent catalog resource name, such as // "projects/*/locations/global/catalogs/default_catalog". - string parent = 1 [(google.api.field_behavior) = REQUIRED]; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "recommendationengine.googleapis.com/Catalog" + } + ]; // Optional. Maximum number of results to return per page. If zero, the // service will choose a reasonable default. @@ -145,7 +170,12 @@ message ListCatalogItemsResponse { message UpdateCatalogItemRequest { // Required. Full resource name of catalog item, such as // "projects/*/locations/global/catalogs/default_catalog/catalogItems/some_catalog_item_id". - string name = 1 [(google.api.field_behavior) = REQUIRED]; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "recommendationengine.googleapis.com/CatalogItemPath" + } + ]; // Required. The catalog item to update/create. The 'catalog_item_id' field // has to match that in the 'name'. @@ -153,12 +183,17 @@ message UpdateCatalogItemRequest { // Optional. Indicates which fields in the provided 'item' to update. If not // set, will by default update all fields. - google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = OPTIONAL]; + google.protobuf.FieldMask update_mask = 3; } // Request message for DeleteCatalogItem method. message DeleteCatalogItemRequest { // Required. Full resource name of catalog item, such as // "projects/*/locations/global/catalogs/default_catalog/catalogItems/some_catalog_item_id". - string name = 1 [(google.api.field_behavior) = REQUIRED]; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "recommendationengine.googleapis.com/CatalogItemPath" + } + ]; } diff --git a/google/cloud/recommendationengine/v1beta1/import.proto b/google/cloud/recommendationengine/v1beta1/import.proto index 0df51cf7..fc288c36 100644 --- a/google/cloud/recommendationengine/v1beta1/import.proto +++ b/google/cloud/recommendationengine/v1beta1/import.proto @@ -17,8 +17,10 @@ syntax = "proto3"; package google.cloud.recommendationengine.v1beta1; import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/cloud/recommendationengine/v1beta1/catalog.proto"; import "google/cloud/recommendationengine/v1beta1/user_event.proto"; +import "google/cloud/recommendationengine/v1beta1/recommendationengine_resources.proto"; import "google/protobuf/timestamp.proto"; import "google/rpc/status.proto"; import "google/api/annotations.proto"; @@ -48,7 +50,8 @@ message GcsSource { message CatalogInlineSource { // Optional. A list of catalog items to update/create. Recommended max of 10k // items. - repeated CatalogItem catalog_items = 1 [(google.api.field_behavior) = OPTIONAL]; + repeated CatalogItem catalog_items = 1 + [(google.api.field_behavior) = OPTIONAL]; } // The inline source for the input config for ImportUserEvents method. @@ -72,7 +75,12 @@ message ImportErrorsConfig { // Request message for Import methods. message ImportCatalogItemsRequest { // Required. "projects/1234/locations/global/catalogs/default_catalog" - string parent = 1 [(google.api.field_behavior) = REQUIRED]; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "recommendationengine.googleapis.com/Catalog" + } + ]; // Optional. Unique identifier provided by client, within the ancestor // dataset scope. Ensures idempotency and used for request deduplication. @@ -89,8 +97,14 @@ message ImportCatalogItemsRequest { // Request message for the ImportUserEvents request. message ImportUserEventsRequest { - // Required. "projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store" - string parent = 1 [(google.api.field_behavior) = REQUIRED]; + // Required. + // "projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store" + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "recommendationengine.googleapis.com/EventStore" + } + ]; // Optional. Unique identifier provided by client, within the ancestor // dataset scope. Ensures idempotency for expensive long running operations. diff --git a/google/cloud/recommendationengine/v1beta1/prediction_apikey_registry_service.proto b/google/cloud/recommendationengine/v1beta1/prediction_apikey_registry_service.proto index 35f0aca9..2dbc98e6 100644 --- a/google/cloud/recommendationengine/v1beta1/prediction_apikey_registry_service.proto +++ b/google/cloud/recommendationengine/v1beta1/prediction_apikey_registry_service.proto @@ -18,8 +18,10 @@ package google.cloud.recommendationengine.v1beta1; import "google/api/annotations.proto"; import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/protobuf/empty.proto"; import "google/api/client.proto"; +import "google/cloud/recommendationengine/v1beta1/recommendationengine_resources.proto"; option csharp_namespace = "Google.Cloud.RecommendationEngine.V1Beta1"; option go_package = "google.golang.org/genproto/googleapis/cloud/recommendationengine/v1beta1;recommendationengine"; @@ -36,28 +38,39 @@ option ruby_package = "Google::Cloud::RecommendationEngine::V1beta1"; // key. You can register up to 20 API keys per project. service PredictionApiKeyRegistry { option (google.api.default_host) = "recommendationengine.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; // Register an API key for use with predict method. - rpc CreatePredictionApiKeyRegistration(CreatePredictionApiKeyRegistrationRequest) returns (PredictionApiKeyRegistration) { + rpc CreatePredictionApiKeyRegistration( + CreatePredictionApiKeyRegistrationRequest) + returns (PredictionApiKeyRegistration) { option (google.api.http) = { post: "/v1beta1/{parent=projects/*/locations/*/catalogs/*/eventStores/*}/predictionApiKeyRegistrations" body: "*" }; + option (google.api.method_signature) = + "parent,prediction_api_key_registration"; } // List the registered apiKeys for use with predict method. - rpc ListPredictionApiKeyRegistrations(ListPredictionApiKeyRegistrationsRequest) returns (ListPredictionApiKeyRegistrationsResponse) { + rpc ListPredictionApiKeyRegistrations( + ListPredictionApiKeyRegistrationsRequest) + returns (ListPredictionApiKeyRegistrationsResponse) { option (google.api.http) = { get: "/v1beta1/{parent=projects/*/locations/*/catalogs/*/eventStores/*}/predictionApiKeyRegistrations" }; + option (google.api.method_signature) = "parent"; } // Unregister an apiKey from using for predict method. - rpc DeletePredictionApiKeyRegistration(DeletePredictionApiKeyRegistrationRequest) returns (google.protobuf.Empty) { + rpc DeletePredictionApiKeyRegistration( + DeletePredictionApiKeyRegistrationRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1beta1/{name=projects/*/locations/*/catalogs/*/eventStores/*/predictionApiKeyRegistrations/*}" }; + option (google.api.method_signature) = "name"; } } @@ -71,17 +84,28 @@ message PredictionApiKeyRegistration { message CreatePredictionApiKeyRegistrationRequest { // Required. The parent resource path. // "projects/*/locations/global/catalogs/default_catalog/eventStores/default_event_store". - string parent = 1 [(google.api.field_behavior) = REQUIRED]; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "recommendationengine.googleapis.com/EventStore" + } + ]; // Required. The prediction API key registration. - PredictionApiKeyRegistration prediction_api_key_registration = 2; + PredictionApiKeyRegistration prediction_api_key_registration = 2 + [(google.api.field_behavior) = REQUIRED]; } // Request message for the `ListPredictionApiKeyRegistrations`. message ListPredictionApiKeyRegistrationsRequest { // Required. The parent placement resource name such as // "projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store" - string parent = 1 [(google.api.field_behavior) = REQUIRED]; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "recommendationengine.googleapis.com/EventStore" + } + ]; // Optional. Maximum number of results to return per page. If unset, the // service will choose a reasonable default. @@ -105,5 +129,10 @@ message ListPredictionApiKeyRegistrationsResponse { message DeletePredictionApiKeyRegistrationRequest { // Required. The API key to unregister including full resource path. // "projects/*/locations/global/catalogs/default_catalog/eventStores/default_event_store/predictionApiKeyRegistrations/" - string name = 1 [(google.api.field_behavior) = REQUIRED]; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "recommendationengine.googleapis.com/PredictionApiKeyRegistration" + } + ]; } diff --git a/google/cloud/recommendationengine/v1beta1/prediction_service.proto b/google/cloud/recommendationengine/v1beta1/prediction_service.proto index e76ba778..1f5e77f4 100644 --- a/google/cloud/recommendationengine/v1beta1/prediction_service.proto +++ b/google/cloud/recommendationengine/v1beta1/prediction_service.proto @@ -18,6 +18,7 @@ package google.cloud.recommendationengine.v1beta1; import "google/api/annotations.proto"; import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/cloud/recommendationengine/v1beta1/user_event.proto"; import "google/protobuf/struct.proto"; import "google/api/client.proto"; @@ -33,7 +34,8 @@ option ruby_package = "Google::Cloud::RecommendationEngine::V1beta1"; // Service for making recommendation prediction. service PredictionService { option (google.api.default_host) = "recommendationengine.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; // Makes a recommendation prediction. If using API Key based authentication, // the API Key must be registered using the @@ -44,6 +46,7 @@ service PredictionService { post: "/v1beta1/{name=projects/*/locations/*/catalogs/*/eventStores/*/placements/*}:predict" body: "*" }; + option (google.api.method_signature) = "name,user_event"; } } @@ -78,7 +81,12 @@ message PredictRequest { // // The full list of available placements can be seen at // https://console.cloud.google.com/recommendation/datafeeds/default_catalog/dashboard - string name = 1 [(google.api.field_behavior) = REQUIRED]; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "recommendationengine.googleapis.com/Placement" + } + ]; // Required. Context about the user, what they are looking at and what action // they took to trigger the predict request. Note that this user event detail @@ -133,7 +141,8 @@ message PredictRequest { // field in the prediction response. The given 'score' indicates the // probability of an item being clicked/purchased given the user's context // and history. - map params = 6 [(google.api.field_behavior) = OPTIONAL]; + map params = 6 + [(google.api.field_behavior) = OPTIONAL]; // Optional. The labels for the predict request. // diff --git a/google/cloud/recommendationengine/v1beta1/recommendationengine_gapic.legacy.yaml b/google/cloud/recommendationengine/v1beta1/recommendationengine_gapic.legacy.yaml new file mode 100644 index 00000000..90910159 --- /dev/null +++ b/google/cloud/recommendationengine/v1beta1/recommendationengine_gapic.legacy.yaml @@ -0,0 +1,591 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 1.0.0 +# The settings of generated code in a specific language. +language_settings: + java: + package_name: com.google.cloud.recommendationengine.v1beta1 + python: + package_name: google.cloud.recommendationengine_v1beta1.gapic + go: + package_name: cloud.google.com/go/recommendationengine/apiv1beta1 + csharp: + package_name: Google.Cloud.Recommendationengine.V1beta1 + ruby: + package_name: Google::Cloud::Recommendationengine::V1beta1 + php: + package_name: Google\Cloud\Recommendationengine\V1beta1 + nodejs: + package_name: recommendationengine.v1beta1 +# A list of API interface configurations. +interfaces: +# The fully qualified name of the API interface. +- name: google.cloud.recommendationengine.v1beta1.CatalogService + # A list of resource collection configurations. + # Consists of a name_pattern and an entity_name. + # The name_pattern is a pattern to describe the names of the resources of this + # collection, using the platform's conventions for URI patterns. A generator + # may use this to generate methods to compose and decompose such names. The + # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; + # those will be taken as hints for the parameter names of the generated + # methods. If empty, no name methods are generated. + # The entity_name is the name to be used as a basis for generated methods and + # classes. + collections: + - name_pattern: projects/{project}/locations/{location}/catalogs/{catalog} + entity_name: catalog + - name_pattern: projects/{project}/locations/{location}/catalogs/{catalog}/catalogItems/{catalog_item_path=**} + entity_name: catalog_item_path + # Definition for retryable codes. + retry_codes_def: + - name: idempotent + retry_codes: + - DEADLINE_EXCEEDED + - UNAVAILABLE + - name: non_idempotent + retry_codes: [] + # Definition for retry/backoff parameters. + retry_params_def: + - name: default + initial_retry_delay_millis: 100 + retry_delay_multiplier: 1.3 + max_retry_delay_millis: 60000 + initial_rpc_timeout_millis: 20000 + rpc_timeout_multiplier: 1 + max_rpc_timeout_millis: 20000 + total_timeout_millis: 600000 + # A list of method configurations. + # Common properties: + # + # name - The simple name of the method. + # + # flattening - Specifies the configuration for parameter flattening. + # Describes the parameter groups for which a generator should produce method + # overloads which allow a client to directly pass request message fields as + # method parameters. This information may or may not be used, depending on + # the target language. + # Consists of groups, which each represent a list of parameters to be + # flattened. Each parameter listed must be a field of the request message. + # + # required_fields - Fields that are always required for a request to be + # valid. + # + # page_streaming - Specifies the configuration for paging. + # Describes information for generating a method which transforms a paging + # list RPC into a stream of resources. + # Consists of a request and a response. + # The request specifies request information of the list method. It defines + # which fields match the paging pattern in the request. The request consists + # of a page_size_field and a token_field. The page_size_field is the name of + # the optional field specifying the maximum number of elements to be + # returned in the response. The token_field is the name of the field in the + # request containing the page token. + # The response specifies response information of the list method. It defines + # which fields match the paging pattern in the response. The response + # consists of a token_field and a resources_field. The token_field is the + # name of the field in the response containing the next page token. The + # resources_field is the name of the field in the response containing the + # list of resources belonging to the page. + # + # retry_codes_name - Specifies the configuration for retryable codes. The + # name must be defined in interfaces.retry_codes_def. + # + # retry_params_name - Specifies the configuration for retry/backoff + # parameters. The name must be defined in interfaces.retry_params_def. + # + # field_name_patterns - Maps the field name of the request type to + # entity_name of interfaces.collections. + # Specifies the string pattern that the field must follow. + # + # timeout_millis - Specifies the default timeout for a non-retrying call. If + # the call is retrying, refer to retry_params_name instead. + methods: + - name: CreateCatalogItem + flattening: + groups: + - parameters: + - parent + - catalog_item + required_fields: + - parent + - catalog_item + retry_codes_name: non_idempotent + retry_params_name: default + field_name_patterns: + parent: catalog + timeout_millis: 60000 + - name: GetCatalogItem + flattening: + groups: + - parameters: + - name + required_fields: + - name + retry_codes_name: idempotent + retry_params_name: default + field_name_patterns: + name: catalog_item_path + timeout_millis: 60000 + - name: ListCatalogItems + flattening: + groups: + - parameters: + - parent + - filter + required_fields: + - parent + page_streaming: + request: + page_size_field: page_size + token_field: page_token + response: + token_field: next_page_token + resources_field: catalog_items + retry_codes_name: idempotent + retry_params_name: default + field_name_patterns: + parent: catalog + timeout_millis: 300000 + - name: UpdateCatalogItem + flattening: + groups: + - parameters: + - name + - catalog_item + required_fields: + - name + - catalog_item + retry_codes_name: non_idempotent + retry_params_name: default + field_name_patterns: + name: catalog_item_path + timeout_millis: 60000 + - name: DeleteCatalogItem + flattening: + groups: + - parameters: + - name + required_fields: + - name + retry_codes_name: idempotent + retry_params_name: default + field_name_patterns: + name: catalog_item_path + timeout_millis: 60000 + - name: ImportCatalogItems + flattening: + groups: + - parameters: + - parent + - request_id + - input_config + - errors_config + required_fields: + - parent + - input_config + retry_codes_name: non_idempotent + retry_params_name: default + field_name_patterns: + parent: catalog + long_running: + return_type: google.cloud.recommendationengine.v1beta1.ImportCatalogItemsResponse + metadata_type: google.cloud.recommendationengine.v1beta1.ImportMetadata + initial_poll_delay_millis: 500 + poll_delay_multiplier: 1.5 + max_poll_delay_millis: 5000 + total_poll_timeout_millis: 300000 + timeout_millis: 300000 +# The fully qualified name of the API interface. +- name: google.cloud.recommendationengine.v1beta1.PredictionApiKeyRegistry + # A list of resource collection configurations. + # Consists of a name_pattern and an entity_name. + # The name_pattern is a pattern to describe the names of the resources of this + # collection, using the platform's conventions for URI patterns. A generator + # may use this to generate methods to compose and decompose such names. The + # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; + # those will be taken as hints for the parameter names of the generated + # methods. If empty, no name methods are generated. + # The entity_name is the name to be used as a basis for generated methods and + # classes. + collections: + - name_pattern: projects/{project}/locations/{location}/catalogs/{catalog}/eventStores/{event_store} + entity_name: event_store + - name_pattern: projects/{project}/locations/{location}/catalogs/{catalog}/eventStores/{event_store}/predictionApiKeyRegistrations/{prediction_api_key_registration} + entity_name: prediction_api_key_registration + # Definition for retryable codes. + retry_codes_def: + - name: idempotent + retry_codes: + - DEADLINE_EXCEEDED + - UNAVAILABLE + - name: non_idempotent + retry_codes: [] + # Definition for retry/backoff parameters. + retry_params_def: + - name: default + initial_retry_delay_millis: 100 + retry_delay_multiplier: 1.3 + max_retry_delay_millis: 60000 + initial_rpc_timeout_millis: 20000 + rpc_timeout_multiplier: 1 + max_rpc_timeout_millis: 20000 + total_timeout_millis: 600000 + # A list of method configurations. + # Common properties: + # + # name - The simple name of the method. + # + # flattening - Specifies the configuration for parameter flattening. + # Describes the parameter groups for which a generator should produce method + # overloads which allow a client to directly pass request message fields as + # method parameters. This information may or may not be used, depending on + # the target language. + # Consists of groups, which each represent a list of parameters to be + # flattened. Each parameter listed must be a field of the request message. + # + # required_fields - Fields that are always required for a request to be + # valid. + # + # page_streaming - Specifies the configuration for paging. + # Describes information for generating a method which transforms a paging + # list RPC into a stream of resources. + # Consists of a request and a response. + # The request specifies request information of the list method. It defines + # which fields match the paging pattern in the request. The request consists + # of a page_size_field and a token_field. The page_size_field is the name of + # the optional field specifying the maximum number of elements to be + # returned in the response. The token_field is the name of the field in the + # request containing the page token. + # The response specifies response information of the list method. It defines + # which fields match the paging pattern in the response. The response + # consists of a token_field and a resources_field. The token_field is the + # name of the field in the response containing the next page token. The + # resources_field is the name of the field in the response containing the + # list of resources belonging to the page. + # + # retry_codes_name - Specifies the configuration for retryable codes. The + # name must be defined in interfaces.retry_codes_def. + # + # retry_params_name - Specifies the configuration for retry/backoff + # parameters. The name must be defined in interfaces.retry_params_def. + # + # field_name_patterns - Maps the field name of the request type to + # entity_name of interfaces.collections. + # Specifies the string pattern that the field must follow. + # + # timeout_millis - Specifies the default timeout for a non-retrying call. If + # the call is retrying, refer to retry_params_name instead. + methods: + - name: CreatePredictionApiKeyRegistration + flattening: + groups: + - parameters: + - parent + - prediction_api_key_registration + required_fields: + - parent + - prediction_api_key_registration + retry_codes_name: non_idempotent + retry_params_name: default + field_name_patterns: + parent: event_store + timeout_millis: 60000 + - name: ListPredictionApiKeyRegistrations + flattening: + groups: + - parameters: + - parent + required_fields: + - parent + page_streaming: + request: + page_size_field: page_size + token_field: page_token + response: + token_field: next_page_token + resources_field: prediction_api_key_registrations + retry_codes_name: idempotent + retry_params_name: default + field_name_patterns: + parent: event_store + timeout_millis: 60000 + - name: DeletePredictionApiKeyRegistration + flattening: + groups: + - parameters: + - name + required_fields: + - name + retry_codes_name: idempotent + retry_params_name: default + field_name_patterns: + name: prediction_api_key_registration + timeout_millis: 60000 +# The fully qualified name of the API interface. +- name: google.cloud.recommendationengine.v1beta1.PredictionService + # A list of resource collection configurations. + # Consists of a name_pattern and an entity_name. + # The name_pattern is a pattern to describe the names of the resources of this + # collection, using the platform's conventions for URI patterns. A generator + # may use this to generate methods to compose and decompose such names. The + # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; + # those will be taken as hints for the parameter names of the generated + # methods. If empty, no name methods are generated. + # The entity_name is the name to be used as a basis for generated methods and + # classes. + collections: + - name_pattern: projects/{project}/locations/{location}/catalogs/{catalog}/eventStores/{event_store}/placements/{placement} + entity_name: placement + # Definition for retryable codes. + retry_codes_def: + - name: idempotent + retry_codes: + - DEADLINE_EXCEEDED + - UNAVAILABLE + - name: non_idempotent + retry_codes: [] + # Definition for retry/backoff parameters. + retry_params_def: + - name: default + initial_retry_delay_millis: 100 + retry_delay_multiplier: 1.3 + max_retry_delay_millis: 60000 + initial_rpc_timeout_millis: 20000 + rpc_timeout_multiplier: 1 + max_rpc_timeout_millis: 20000 + total_timeout_millis: 600000 + # A list of method configurations. + # Common properties: + # + # name - The simple name of the method. + # + # flattening - Specifies the configuration for parameter flattening. + # Describes the parameter groups for which a generator should produce method + # overloads which allow a client to directly pass request message fields as + # method parameters. This information may or may not be used, depending on + # the target language. + # Consists of groups, which each represent a list of parameters to be + # flattened. Each parameter listed must be a field of the request message. + # + # required_fields - Fields that are always required for a request to be + # valid. + # + # page_streaming - Specifies the configuration for paging. + # Describes information for generating a method which transforms a paging + # list RPC into a stream of resources. + # Consists of a request and a response. + # The request specifies request information of the list method. It defines + # which fields match the paging pattern in the request. The request consists + # of a page_size_field and a token_field. The page_size_field is the name of + # the optional field specifying the maximum number of elements to be + # returned in the response. The token_field is the name of the field in the + # request containing the page token. + # The response specifies response information of the list method. It defines + # which fields match the paging pattern in the response. The response + # consists of a token_field and a resources_field. The token_field is the + # name of the field in the response containing the next page token. The + # resources_field is the name of the field in the response containing the + # list of resources belonging to the page. + # + # retry_codes_name - Specifies the configuration for retryable codes. The + # name must be defined in interfaces.retry_codes_def. + # + # retry_params_name - Specifies the configuration for retry/backoff + # parameters. The name must be defined in interfaces.retry_params_def. + # + # field_name_patterns - Maps the field name of the request type to + # entity_name of interfaces.collections. + # Specifies the string pattern that the field must follow. + # + # timeout_millis - Specifies the default timeout for a non-retrying call. If + # the call is retrying, refer to retry_params_name instead. + methods: + - name: Predict + required_fields: + - name + - user_event + page_streaming: + request: + page_size_field: page_size + token_field: page_token + response: + token_field: next_page_token + resources_field: results + retry_codes_name: non_idempotent + retry_params_name: default + field_name_patterns: + name: placement + timeout_millis: 60000 +# The fully qualified name of the API interface. +- name: google.cloud.recommendationengine.v1beta1.UserEventService + # A list of resource collection configurations. + # Consists of a name_pattern and an entity_name. + # The name_pattern is a pattern to describe the names of the resources of this + # collection, using the platform's conventions for URI patterns. A generator + # may use this to generate methods to compose and decompose such names. The + # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; + # those will be taken as hints for the parameter names of the generated + # methods. If empty, no name methods are generated. + # The entity_name is the name to be used as a basis for generated methods and + # classes. + collections: + - name_pattern: projects/{project}/locations/{location}/catalogs/{catalog}/eventStores/{event_store} + entity_name: event_store + # Definition for retryable codes. + retry_codes_def: + - name: idempotent + retry_codes: + - DEADLINE_EXCEEDED + - UNAVAILABLE + - name: non_idempotent + retry_codes: [] + # Definition for retry/backoff parameters. + retry_params_def: + - name: default + initial_retry_delay_millis: 100 + retry_delay_multiplier: 1.3 + max_retry_delay_millis: 60000 + initial_rpc_timeout_millis: 20000 + rpc_timeout_multiplier: 1 + max_rpc_timeout_millis: 20000 + total_timeout_millis: 600000 + # A list of method configurations. + # Common properties: + # + # name - The simple name of the method. + # + # flattening - Specifies the configuration for parameter flattening. + # Describes the parameter groups for which a generator should produce method + # overloads which allow a client to directly pass request message fields as + # method parameters. This information may or may not be used, depending on + # the target language. + # Consists of groups, which each represent a list of parameters to be + # flattened. Each parameter listed must be a field of the request message. + # + # required_fields - Fields that are always required for a request to be + # valid. + # + # page_streaming - Specifies the configuration for paging. + # Describes information for generating a method which transforms a paging + # list RPC into a stream of resources. + # Consists of a request and a response. + # The request specifies request information of the list method. It defines + # which fields match the paging pattern in the request. The request consists + # of a page_size_field and a token_field. The page_size_field is the name of + # the optional field specifying the maximum number of elements to be + # returned in the response. The token_field is the name of the field in the + # request containing the page token. + # The response specifies response information of the list method. It defines + # which fields match the paging pattern in the response. The response + # consists of a token_field and a resources_field. The token_field is the + # name of the field in the response containing the next page token. The + # resources_field is the name of the field in the response containing the + # list of resources belonging to the page. + # + # retry_codes_name - Specifies the configuration for retryable codes. The + # name must be defined in interfaces.retry_codes_def. + # + # retry_params_name - Specifies the configuration for retry/backoff + # parameters. The name must be defined in interfaces.retry_params_def. + # + # field_name_patterns - Maps the field name of the request type to + # entity_name of interfaces.collections. + # Specifies the string pattern that the field must follow. + # + # timeout_millis - Specifies the default timeout for a non-retrying call. If + # the call is retrying, refer to retry_params_name instead. + methods: + - name: WriteUserEvent + flattening: + groups: + - parameters: + - parent + - user_event + required_fields: + - parent + - user_event + retry_codes_name: non_idempotent + retry_params_name: default + field_name_patterns: + parent: event_store + timeout_millis: 60000 + - name: CollectUserEvent + flattening: + groups: + - parameters: + - parent + - user_event + - uri + - ets + required_fields: + - parent + - user_event + retry_codes_name: idempotent + retry_params_name: default + field_name_patterns: + parent: event_store + timeout_millis: 60000 + - name: ListUserEvents + flattening: + groups: + - parameters: + - parent + - filter + required_fields: + - parent + page_streaming: + request: + page_size_field: page_size + token_field: page_token + response: + token_field: next_page_token + resources_field: user_events + retry_codes_name: idempotent + retry_params_name: default + field_name_patterns: + parent: event_store + timeout_millis: 300000 + - name: PurgeUserEvents + flattening: + groups: + - parameters: + - parent + - filter + - force + required_fields: + - parent + - filter + retry_codes_name: non_idempotent + retry_params_name: default + field_name_patterns: + parent: event_store + long_running: + return_type: google.cloud.recommendationengine.v1beta1.PurgeUserEventsResponse + metadata_type: google.cloud.recommendationengine.v1beta1.PurgeUserEventsMetadata + initial_poll_delay_millis: 500 + poll_delay_multiplier: 1.5 + max_poll_delay_millis: 5000 + total_poll_timeout_millis: 300000 + timeout_millis: 60000 + - name: ImportUserEvents + flattening: + groups: + - parameters: + - parent + - request_id + - input_config + - errors_config + required_fields: + - parent + - input_config + retry_codes_name: non_idempotent + retry_params_name: default + field_name_patterns: + parent: event_store + long_running: + return_type: google.cloud.recommendationengine.v1beta1.ImportUserEventsResponse + metadata_type: google.cloud.recommendationengine.v1beta1.ImportMetadata + initial_poll_delay_millis: 500 + poll_delay_multiplier: 1.5 + max_poll_delay_millis: 5000 + total_poll_timeout_millis: 300000 + timeout_millis: 300000 diff --git a/google/cloud/recommendationengine/v1beta1/recommendationengine_gapic.yaml b/google/cloud/recommendationengine/v1beta1/recommendationengine_gapic.yaml index 90910159..385c7da7 100644 --- a/google/cloud/recommendationengine/v1beta1/recommendationengine_gapic.yaml +++ b/google/cloud/recommendationengine/v1beta1/recommendationengine_gapic.yaml @@ -1,5 +1,5 @@ type: com.google.api.codegen.ConfigProto -config_schema_version: 1.0.0 +config_schema_version: 2.0.0 # The settings of generated code in a specific language. language_settings: java: @@ -20,572 +20,34 @@ language_settings: interfaces: # The fully qualified name of the API interface. - name: google.cloud.recommendationengine.v1beta1.CatalogService - # A list of resource collection configurations. - # Consists of a name_pattern and an entity_name. - # The name_pattern is a pattern to describe the names of the resources of this - # collection, using the platform's conventions for URI patterns. A generator - # may use this to generate methods to compose and decompose such names. The - # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; - # those will be taken as hints for the parameter names of the generated - # methods. If empty, no name methods are generated. - # The entity_name is the name to be used as a basis for generated methods and - # classes. - collections: - - name_pattern: projects/{project}/locations/{location}/catalogs/{catalog} - entity_name: catalog - - name_pattern: projects/{project}/locations/{location}/catalogs/{catalog}/catalogItems/{catalog_item_path=**} - entity_name: catalog_item_path - # Definition for retryable codes. - retry_codes_def: - - name: idempotent - retry_codes: - - DEADLINE_EXCEEDED - - UNAVAILABLE - - name: non_idempotent - retry_codes: [] - # Definition for retry/backoff parameters. - retry_params_def: - - name: default - initial_retry_delay_millis: 100 - retry_delay_multiplier: 1.3 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 20000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 20000 - total_timeout_millis: 600000 - # A list of method configurations. - # Common properties: - # - # name - The simple name of the method. - # - # flattening - Specifies the configuration for parameter flattening. - # Describes the parameter groups for which a generator should produce method - # overloads which allow a client to directly pass request message fields as - # method parameters. This information may or may not be used, depending on - # the target language. - # Consists of groups, which each represent a list of parameters to be - # flattened. Each parameter listed must be a field of the request message. - # - # required_fields - Fields that are always required for a request to be - # valid. - # - # page_streaming - Specifies the configuration for paging. - # Describes information for generating a method which transforms a paging - # list RPC into a stream of resources. - # Consists of a request and a response. - # The request specifies request information of the list method. It defines - # which fields match the paging pattern in the request. The request consists - # of a page_size_field and a token_field. The page_size_field is the name of - # the optional field specifying the maximum number of elements to be - # returned in the response. The token_field is the name of the field in the - # request containing the page token. - # The response specifies response information of the list method. It defines - # which fields match the paging pattern in the response. The response - # consists of a token_field and a resources_field. The token_field is the - # name of the field in the response containing the next page token. The - # resources_field is the name of the field in the response containing the - # list of resources belonging to the page. - # - # retry_codes_name - Specifies the configuration for retryable codes. The - # name must be defined in interfaces.retry_codes_def. - # - # retry_params_name - Specifies the configuration for retry/backoff - # parameters. The name must be defined in interfaces.retry_params_def. - # - # field_name_patterns - Maps the field name of the request type to - # entity_name of interfaces.collections. - # Specifies the string pattern that the field must follow. - # - # timeout_millis - Specifies the default timeout for a non-retrying call. If - # the call is retrying, refer to retry_params_name instead. methods: - - name: CreateCatalogItem - flattening: - groups: - - parameters: - - parent - - catalog_item - required_fields: - - parent - - catalog_item - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - parent: catalog - timeout_millis: 60000 - - name: GetCatalogItem - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - name: catalog_item_path - timeout_millis: 60000 - - name: ListCatalogItems - flattening: - groups: - - parameters: - - parent - - filter - required_fields: - - parent - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: catalog_items - retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - parent: catalog - timeout_millis: 300000 - - name: UpdateCatalogItem - flattening: - groups: - - parameters: - - name - - catalog_item - required_fields: - - name - - catalog_item - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - name: catalog_item_path - timeout_millis: 60000 - name: DeleteCatalogItem - flattening: - groups: - - parameters: - - name - required_fields: - - name retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - name: catalog_item_path - timeout_millis: 60000 - name: ImportCatalogItems - flattening: - groups: - - parameters: - - parent - - request_id - - input_config - - errors_config - required_fields: - - parent - - input_config - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - parent: catalog long_running: - return_type: google.cloud.recommendationengine.v1beta1.ImportCatalogItemsResponse - metadata_type: google.cloud.recommendationengine.v1beta1.ImportMetadata initial_poll_delay_millis: 500 poll_delay_multiplier: 1.5 max_poll_delay_millis: 5000 total_poll_timeout_millis: 300000 - timeout_millis: 300000 -# The fully qualified name of the API interface. + - name: google.cloud.recommendationengine.v1beta1.PredictionApiKeyRegistry - # A list of resource collection configurations. - # Consists of a name_pattern and an entity_name. - # The name_pattern is a pattern to describe the names of the resources of this - # collection, using the platform's conventions for URI patterns. A generator - # may use this to generate methods to compose and decompose such names. The - # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; - # those will be taken as hints for the parameter names of the generated - # methods. If empty, no name methods are generated. - # The entity_name is the name to be used as a basis for generated methods and - # classes. - collections: - - name_pattern: projects/{project}/locations/{location}/catalogs/{catalog}/eventStores/{event_store} - entity_name: event_store - - name_pattern: projects/{project}/locations/{location}/catalogs/{catalog}/eventStores/{event_store}/predictionApiKeyRegistrations/{prediction_api_key_registration} - entity_name: prediction_api_key_registration - # Definition for retryable codes. - retry_codes_def: - - name: idempotent - retry_codes: - - DEADLINE_EXCEEDED - - UNAVAILABLE - - name: non_idempotent - retry_codes: [] - # Definition for retry/backoff parameters. - retry_params_def: - - name: default - initial_retry_delay_millis: 100 - retry_delay_multiplier: 1.3 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 20000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 20000 - total_timeout_millis: 600000 - # A list of method configurations. - # Common properties: - # - # name - The simple name of the method. - # - # flattening - Specifies the configuration for parameter flattening. - # Describes the parameter groups for which a generator should produce method - # overloads which allow a client to directly pass request message fields as - # method parameters. This information may or may not be used, depending on - # the target language. - # Consists of groups, which each represent a list of parameters to be - # flattened. Each parameter listed must be a field of the request message. - # - # required_fields - Fields that are always required for a request to be - # valid. - # - # page_streaming - Specifies the configuration for paging. - # Describes information for generating a method which transforms a paging - # list RPC into a stream of resources. - # Consists of a request and a response. - # The request specifies request information of the list method. It defines - # which fields match the paging pattern in the request. The request consists - # of a page_size_field and a token_field. The page_size_field is the name of - # the optional field specifying the maximum number of elements to be - # returned in the response. The token_field is the name of the field in the - # request containing the page token. - # The response specifies response information of the list method. It defines - # which fields match the paging pattern in the response. The response - # consists of a token_field and a resources_field. The token_field is the - # name of the field in the response containing the next page token. The - # resources_field is the name of the field in the response containing the - # list of resources belonging to the page. - # - # retry_codes_name - Specifies the configuration for retryable codes. The - # name must be defined in interfaces.retry_codes_def. - # - # retry_params_name - Specifies the configuration for retry/backoff - # parameters. The name must be defined in interfaces.retry_params_def. - # - # field_name_patterns - Maps the field name of the request type to - # entity_name of interfaces.collections. - # Specifies the string pattern that the field must follow. - # - # timeout_millis - Specifies the default timeout for a non-retrying call. If - # the call is retrying, refer to retry_params_name instead. methods: - - name: CreatePredictionApiKeyRegistration - flattening: - groups: - - parameters: - - parent - - prediction_api_key_registration - required_fields: - - parent - - prediction_api_key_registration - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - parent: event_store - timeout_millis: 60000 - - name: ListPredictionApiKeyRegistrations - flattening: - groups: - - parameters: - - parent - required_fields: - - parent - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: prediction_api_key_registrations - retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - parent: event_store - timeout_millis: 60000 - name: DeletePredictionApiKeyRegistration - flattening: - groups: - - parameters: - - name - required_fields: - - name retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - name: prediction_api_key_registration - timeout_millis: 60000 -# The fully qualified name of the API interface. + - name: google.cloud.recommendationengine.v1beta1.PredictionService - # A list of resource collection configurations. - # Consists of a name_pattern and an entity_name. - # The name_pattern is a pattern to describe the names of the resources of this - # collection, using the platform's conventions for URI patterns. A generator - # may use this to generate methods to compose and decompose such names. The - # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; - # those will be taken as hints for the parameter names of the generated - # methods. If empty, no name methods are generated. - # The entity_name is the name to be used as a basis for generated methods and - # classes. - collections: - - name_pattern: projects/{project}/locations/{location}/catalogs/{catalog}/eventStores/{event_store}/placements/{placement} - entity_name: placement - # Definition for retryable codes. - retry_codes_def: - - name: idempotent - retry_codes: - - DEADLINE_EXCEEDED - - UNAVAILABLE - - name: non_idempotent - retry_codes: [] - # Definition for retry/backoff parameters. - retry_params_def: - - name: default - initial_retry_delay_millis: 100 - retry_delay_multiplier: 1.3 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 20000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 20000 - total_timeout_millis: 600000 - # A list of method configurations. - # Common properties: - # - # name - The simple name of the method. - # - # flattening - Specifies the configuration for parameter flattening. - # Describes the parameter groups for which a generator should produce method - # overloads which allow a client to directly pass request message fields as - # method parameters. This information may or may not be used, depending on - # the target language. - # Consists of groups, which each represent a list of parameters to be - # flattened. Each parameter listed must be a field of the request message. - # - # required_fields - Fields that are always required for a request to be - # valid. - # - # page_streaming - Specifies the configuration for paging. - # Describes information for generating a method which transforms a paging - # list RPC into a stream of resources. - # Consists of a request and a response. - # The request specifies request information of the list method. It defines - # which fields match the paging pattern in the request. The request consists - # of a page_size_field and a token_field. The page_size_field is the name of - # the optional field specifying the maximum number of elements to be - # returned in the response. The token_field is the name of the field in the - # request containing the page token. - # The response specifies response information of the list method. It defines - # which fields match the paging pattern in the response. The response - # consists of a token_field and a resources_field. The token_field is the - # name of the field in the response containing the next page token. The - # resources_field is the name of the field in the response containing the - # list of resources belonging to the page. - # - # retry_codes_name - Specifies the configuration for retryable codes. The - # name must be defined in interfaces.retry_codes_def. - # - # retry_params_name - Specifies the configuration for retry/backoff - # parameters. The name must be defined in interfaces.retry_params_def. - # - # field_name_patterns - Maps the field name of the request type to - # entity_name of interfaces.collections. - # Specifies the string pattern that the field must follow. - # - # timeout_millis - Specifies the default timeout for a non-retrying call. If - # the call is retrying, refer to retry_params_name instead. - methods: - - name: Predict - required_fields: - - name - - user_event - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: results - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - name: placement - timeout_millis: 60000 -# The fully qualified name of the API interface. + - name: google.cloud.recommendationengine.v1beta1.UserEventService - # A list of resource collection configurations. - # Consists of a name_pattern and an entity_name. - # The name_pattern is a pattern to describe the names of the resources of this - # collection, using the platform's conventions for URI patterns. A generator - # may use this to generate methods to compose and decompose such names. The - # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; - # those will be taken as hints for the parameter names of the generated - # methods. If empty, no name methods are generated. - # The entity_name is the name to be used as a basis for generated methods and - # classes. - collections: - - name_pattern: projects/{project}/locations/{location}/catalogs/{catalog}/eventStores/{event_store} - entity_name: event_store - # Definition for retryable codes. - retry_codes_def: - - name: idempotent - retry_codes: - - DEADLINE_EXCEEDED - - UNAVAILABLE - - name: non_idempotent - retry_codes: [] - # Definition for retry/backoff parameters. - retry_params_def: - - name: default - initial_retry_delay_millis: 100 - retry_delay_multiplier: 1.3 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 20000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 20000 - total_timeout_millis: 600000 - # A list of method configurations. - # Common properties: - # - # name - The simple name of the method. - # - # flattening - Specifies the configuration for parameter flattening. - # Describes the parameter groups for which a generator should produce method - # overloads which allow a client to directly pass request message fields as - # method parameters. This information may or may not be used, depending on - # the target language. - # Consists of groups, which each represent a list of parameters to be - # flattened. Each parameter listed must be a field of the request message. - # - # required_fields - Fields that are always required for a request to be - # valid. - # - # page_streaming - Specifies the configuration for paging. - # Describes information for generating a method which transforms a paging - # list RPC into a stream of resources. - # Consists of a request and a response. - # The request specifies request information of the list method. It defines - # which fields match the paging pattern in the request. The request consists - # of a page_size_field and a token_field. The page_size_field is the name of - # the optional field specifying the maximum number of elements to be - # returned in the response. The token_field is the name of the field in the - # request containing the page token. - # The response specifies response information of the list method. It defines - # which fields match the paging pattern in the response. The response - # consists of a token_field and a resources_field. The token_field is the - # name of the field in the response containing the next page token. The - # resources_field is the name of the field in the response containing the - # list of resources belonging to the page. - # - # retry_codes_name - Specifies the configuration for retryable codes. The - # name must be defined in interfaces.retry_codes_def. - # - # retry_params_name - Specifies the configuration for retry/backoff - # parameters. The name must be defined in interfaces.retry_params_def. - # - # field_name_patterns - Maps the field name of the request type to - # entity_name of interfaces.collections. - # Specifies the string pattern that the field must follow. - # - # timeout_millis - Specifies the default timeout for a non-retrying call. If - # the call is retrying, refer to retry_params_name instead. methods: - - name: WriteUserEvent - flattening: - groups: - - parameters: - - parent - - user_event - required_fields: - - parent - - user_event - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - parent: event_store - timeout_millis: 60000 - - name: CollectUserEvent - flattening: - groups: - - parameters: - - parent - - user_event - - uri - - ets - required_fields: - - parent - - user_event - retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - parent: event_store - timeout_millis: 60000 - - name: ListUserEvents - flattening: - groups: - - parameters: - - parent - - filter - required_fields: - - parent - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: user_events - retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - parent: event_store - timeout_millis: 300000 - name: PurgeUserEvents - flattening: - groups: - - parameters: - - parent - - filter - - force - required_fields: - - parent - - filter - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - parent: event_store long_running: - return_type: google.cloud.recommendationengine.v1beta1.PurgeUserEventsResponse - metadata_type: google.cloud.recommendationengine.v1beta1.PurgeUserEventsMetadata initial_poll_delay_millis: 500 poll_delay_multiplier: 1.5 max_poll_delay_millis: 5000 total_poll_timeout_millis: 300000 - timeout_millis: 60000 - name: ImportUserEvents - flattening: - groups: - - parameters: - - parent - - request_id - - input_config - - errors_config - required_fields: - - parent - - input_config - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - parent: event_store long_running: - return_type: google.cloud.recommendationengine.v1beta1.ImportUserEventsResponse - metadata_type: google.cloud.recommendationengine.v1beta1.ImportMetadata initial_poll_delay_millis: 500 poll_delay_multiplier: 1.5 max_poll_delay_millis: 5000 total_poll_timeout_millis: 300000 - timeout_millis: 300000 diff --git a/google/cloud/recommendationengine/v1beta1/recommendationengine_resources.proto b/google/cloud/recommendationengine/v1beta1/recommendationengine_resources.proto new file mode 100644 index 00000000..dce1e2fa --- /dev/null +++ b/google/cloud/recommendationengine/v1beta1/recommendationengine_resources.proto @@ -0,0 +1,46 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Contains common resources for recommendationengine/v1beta1. + +syntax = "proto3"; + +package google.cloud.recommendationengine.v1beta1; + +import "google/api/resource.proto"; + +option (google.api.resource_definition) = { + type: "recommendationengine.googleapis.com/Catalog" + pattern: "projects/{project}/locations/{location}/catalogs/{catalog}" +}; + +option (google.api.resource_definition) = { + type: "recommendationengine.googleapis.com/CatalogItemPath" + pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/catalogItems/{catalog_item_path=**}" +}; + +option (google.api.resource_definition) = { + type: "recommendationengine.googleapis.com/EventStore" + pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/eventStores/{event_store}" +}; + +option (google.api.resource_definition) = { + type: "recommendationengine.googleapis.com/PredictionApiKeyRegistration" + pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/eventStores/{event_store}/predictionApiKeyRegistrations/{prediction_api_key_registration}" +}; + +option (google.api.resource_definition) = { + type: "recommendationengine.googleapis.com/Placement" + pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/eventStores/{event_store}/placements/{placement}" +}; diff --git a/google/cloud/recommendationengine/v1beta1/user_event_service.proto b/google/cloud/recommendationengine/v1beta1/user_event_service.proto index e2d38653..8ea6f551 100644 --- a/google/cloud/recommendationengine/v1beta1/user_event_service.proto +++ b/google/cloud/recommendationengine/v1beta1/user_event_service.proto @@ -19,6 +19,7 @@ package google.cloud.recommendationengine.v1beta1; import "google/api/annotations.proto"; import "google/api/field_behavior.proto"; import "google/api/httpbody.proto"; +import "google/api/resource.proto"; import "google/cloud/recommendationengine/v1beta1/import.proto"; import "google/cloud/recommendationengine/v1beta1/user_event.proto"; import "google/longrunning/operations.proto"; @@ -37,7 +38,8 @@ option ruby_package = "Google::Cloud::RecommendationEngine::V1beta1"; // Service for ingesting end user actions on the customer website. service UserEventService { option (google.api.default_host) = "recommendationengine.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; // Writes a single user event. rpc WriteUserEvent(WriteUserEventRequest) returns (UserEvent) { @@ -45,6 +47,7 @@ service UserEventService { post: "/v1beta1/{parent=projects/*/locations/*/catalogs/*/eventStores/*}/userEvents:write" body: "user_event" }; + option (google.api.method_signature) = "parent,user_event"; } // Writes a single user event from the browser. This uses a GET request to @@ -56,6 +59,7 @@ service UserEventService { option (google.api.http) = { get: "/v1beta1/{parent=projects/*/locations/*/catalogs/*/eventStores/*}/userEvents:collect" }; + option (google.api.method_signature) = "parent,user_event,uri,ets"; } // Gets a list of user events within a time range, with potential filtering. @@ -63,13 +67,15 @@ service UserEventService { option (google.api.http) = { get: "/v1beta1/{parent=projects/*/locations/*/catalogs/*/eventStores/*}/userEvents" }; + option (google.api.method_signature) = "parent,filter"; } // Deletes permanently all user events specified by the filter provided. // Depending on the number of events specified by the filter, this operation // could take hours or days to complete. To test a filter, use the list // command first. - rpc PurgeUserEvents(PurgeUserEventsRequest) returns (google.longrunning.Operation) { + rpc PurgeUserEvents(PurgeUserEventsRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1beta1/{parent=projects/*/locations/*/catalogs/*/eventStores/*}/userEvents:purge" body: "*" @@ -78,6 +84,7 @@ service UserEventService { response_type: "google.cloud.recommendationengine.v1beta1.PurgeUserEventsResponse" metadata_type: "google.cloud.recommendationengine.v1beta1.PurgeUserEventsMetadata" }; + option (google.api.method_signature) = "parent,filter,force"; } // Bulk import of User events. Request processing might be @@ -87,7 +94,8 @@ service UserEventService { // Operation.response is of type ImportResponse. Note that it is // possible for a subset of the items to be successfully inserted. // Operation.metadata is of type ImportMetadata. - rpc ImportUserEvents(ImportUserEventsRequest) returns (google.longrunning.Operation) { + rpc ImportUserEvents(ImportUserEventsRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1beta1/{parent=projects/*/locations/*/catalogs/*/eventStores/*}/userEvents:import" body: "*" @@ -96,6 +104,8 @@ service UserEventService { response_type: "google.cloud.recommendationengine.v1beta1.ImportUserEventsResponse" metadata_type: "google.cloud.recommendationengine.v1beta1.ImportMetadata" }; + option (google.api.method_signature) = + "parent,request_id,input_config,errors_config"; } } @@ -104,7 +114,12 @@ message PurgeUserEventsRequest { // Required. The resource name of the event_store under which the events are // created. The format is // "projects/${projectId}/locations/global/catalogs/${catalogId}/eventStores/${eventStoreId}" - string parent = 1 [(google.api.field_behavior) = REQUIRED]; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "recommendationengine.googleapis.com/EventStore" + } + ]; // Required. The filter string to specify the events to be deleted. Empty // string filter is not allowed. This filter can also be used with @@ -158,7 +173,12 @@ message PurgeUserEventsResponse { message WriteUserEventRequest { // Required. The parent eventStore resource name, such as // "projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store". - string parent = 1 [(google.api.field_behavior) = REQUIRED]; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "recommendationengine.googleapis.com/EventStore" + } + ]; // Required. User event to write. UserEvent user_event = 2 [(google.api.field_behavior) = REQUIRED]; @@ -168,20 +188,25 @@ message WriteUserEventRequest { message CollectUserEventRequest { // Required. The parent eventStore name, such as // "projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store". - string parent = 1 [(google.api.field_behavior) = REQUIRED]; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "recommendationengine.googleapis.com/EventStore" + } + ]; // Required. URL encoded UserEvent proto. string user_event = 2 [(google.api.field_behavior) = REQUIRED]; - // Optional. The url including cgi-parameters but excluding the hash fragment. The URL - // must be truncated to 1.5K bytes to conservatively be under the 2K bytes. - // This is often more useful than the referer url, because many browsers only - // send the domain for 3rd party requests. + // Optional. The url including cgi-parameters but excluding the hash fragment. + // The URL must be truncated to 1.5K bytes to conservatively be under the 2K + // bytes. This is often more useful than the referer url, because many + // browsers only send the domain for 3rd party requests. string uri = 3 [(google.api.field_behavior) = OPTIONAL]; - // Optional. The event timestamp in milliseconds. This prevents browser caching of - // otherwise identical get requests. The name is abbreviated to reduce the - // payload bytes. + // Optional. The event timestamp in milliseconds. This prevents browser + // caching of otherwise identical get requests. The name is abbreviated to + // reduce the payload bytes. int64 ets = 4 [(google.api.field_behavior) = OPTIONAL]; } @@ -189,7 +214,12 @@ message CollectUserEventRequest { message ListUserEventsRequest { // Required. The parent eventStore resource name, such as // "projects/*/locations/*/catalogs/default_catalog/eventStores/default_event_store". - string parent = 1 [(google.api.field_behavior) = REQUIRED]; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "recommendationengine.googleapis.com/EventStore" + } + ]; // Optional. Maximum number of results to return per page. If zero, the // service will choose a reasonable default.