From 92b45644fc637538ccfe07cdd2e55dd21487cbf4 Mon Sep 17 00:00:00 2001 From: Google APIs Date: Tue, 9 Apr 2024 14:05:29 -0700 Subject: [PATCH] feat: expand ProcessingFailureReason options and add details for NoOverlapGpsFailure docs: Update client libraries for Street View Publish API PiperOrigin-RevId: 623275453 --- google/streetview/publish/v1/BUILD.bazel | 36 ++++-- google/streetview/publish/v1/resources.proto | 120 ++++++++++++------ .../streetview/publish/v1/rpcmessages.proto | 44 ++++--- .../publish/v1/streetview_publish.proto | 88 ++++++++----- .../publish/v1/streetviewpublish.yaml | 37 +++++- 5 files changed, 218 insertions(+), 107 deletions(-) diff --git a/google/streetview/publish/v1/BUILD.bazel b/google/streetview/publish/v1/BUILD.bazel index 37948a8b43fbf..db28b8233bbdb 100644 --- a/google/streetview/publish/v1/BUILD.bazel +++ b/google/streetview/publish/v1/BUILD.bazel @@ -9,14 +9,17 @@ # * extra_protoc_file_parameters # The complete list of preserved parameters can be found in the source code. +# buildifier: disable=load-on-top + # This is an API workspace, having public visibility by default makes perfect sense. package(default_visibility = ["//visibility:public"]) ############################################################################## # Common ############################################################################## -load("@rules_proto//proto:defs.bzl", "proto_library") +# buildifier: disable=same-origin-load load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") +load("@rules_proto//proto:defs.bzl", "proto_library") proto_library( name = "publish_proto", @@ -29,6 +32,7 @@ proto_library( "//google/api:annotations_proto", "//google/api:client_proto", "//google/api:field_behavior_proto", + "//google/api:resource_proto", "//google/longrunning:operations_proto", "//google/rpc:status_proto", "//google/type:latlng_proto", @@ -50,6 +54,7 @@ proto_library_with_info( ############################################################################## # Java ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "java_gapic_assembly_gradle_pkg", @@ -76,7 +81,7 @@ java_gapic_library( gapic_yaml = "streetview_publish_gapic.yaml", grpc_service_config = "streetview_publish_grpc_service_config.json", rest_numeric_enums = True, - service_yaml = "streetviewpublish.yaml", + service_yaml = "streetview_publish.yaml", test_deps = [ ":publish_java_grpc", ], @@ -112,6 +117,7 @@ java_gapic_assembly_gradle_pkg( ############################################################################## # Go ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "go_gapic_assembly_pkg", @@ -138,8 +144,9 @@ go_gapic_library( grpc_service_config = "streetview_publish_grpc_service_config.json", importpath = "google.golang.org/google/streetview/publish/v1;publish", metadata = True, + release_level = "beta", rest_numeric_enums = True, - service_yaml = "streetviewpublish.yaml", + service_yaml = "streetview_publish.yaml", transport = "grpc+rest", deps = [ ":publish_go_proto", @@ -165,10 +172,12 @@ go_gapic_assembly_pkg( ############################################################################## # Python ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "py_gapic_assembly_pkg", "py_gapic_library", + "py_test", ) py_gapic_library( @@ -176,7 +185,7 @@ py_gapic_library( srcs = [":publish_proto"], grpc_service_config = "streetview_publish_grpc_service_config.json", rest_numeric_enums = True, - service_yaml = "streetviewpublish.yaml", + service_yaml = "streetview_publish.yaml", transport = "grpc+rest", deps = [ ], @@ -203,6 +212,7 @@ py_gapic_assembly_pkg( ############################################################################## # PHP ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "php_gapic_assembly_pkg", @@ -219,10 +229,13 @@ php_gapic_library( name = "publish_php_gapic", srcs = [":publish_proto_with_info"], grpc_service_config = "streetview_publish_grpc_service_config.json", + migration_mode = "PRE_MIGRATION_SURFACE_ONLY", rest_numeric_enums = True, - service_yaml = "streetviewpublish.yaml", + service_yaml = "streetview_publish.yaml", transport = "grpc+rest", - deps = [":publish_php_proto"], + deps = [ + ":publish_php_proto", + ], ) # Open Source Packages @@ -237,6 +250,7 @@ php_gapic_assembly_pkg( ############################################################################## # Node.js ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "nodejs_gapic_assembly_pkg", @@ -251,7 +265,7 @@ nodejs_gapic_library( grpc_service_config = "streetview_publish_grpc_service_config.json", package = "google.streetview.publish.v1", rest_numeric_enums = True, - service_yaml = "streetviewpublish.yaml", + service_yaml = "streetview_publish.yaml", transport = "grpc+rest", deps = [], ) @@ -267,6 +281,7 @@ nodejs_gapic_assembly_pkg( ############################################################################## # Ruby ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "ruby_cloud_gapic_library", @@ -292,7 +307,7 @@ ruby_cloud_gapic_library( extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-publish-v1"], grpc_service_config = "streetview_publish_grpc_service_config.json", rest_numeric_enums = True, - service_yaml = "streetviewpublish.yaml", + service_yaml = "streetview_publish.yaml", transport = "grpc+rest", deps = [ ":publish_ruby_grpc", @@ -313,6 +328,7 @@ ruby_gapic_assembly_pkg( ############################################################################## # C# ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "csharp_gapic_assembly_pkg", @@ -323,6 +339,7 @@ load( csharp_proto_library( name = "publish_csharp_proto", + extra_opts = [], deps = [":publish_proto"], ) @@ -338,7 +355,7 @@ csharp_gapic_library( common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", grpc_service_config = "streetview_publish_grpc_service_config.json", rest_numeric_enums = True, - service_yaml = "streetviewpublish.yaml", + service_yaml = "streetview_publish.yaml", transport = "grpc+rest", deps = [ ":publish_csharp_grpc", @@ -359,6 +376,7 @@ csharp_gapic_assembly_pkg( ############################################################################## # C++ ############################################################################## +# buildifier: disable=same-origin-load load( "@com_google_googleapis_imports//:imports.bzl", "cc_grpc_library", diff --git a/google/streetview/publish/v1/resources.proto b/google/streetview/publish/v1/resources.proto index 2082eee970260..6a45fe08d950c 100644 --- a/google/streetview/publish/v1/resources.proto +++ b/google/streetview/publish/v1/resources.proto @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -17,6 +17,7 @@ syntax = "proto3"; package google.streetview.publish.v1; import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; import "google/type/latlng.proto"; @@ -44,9 +45,9 @@ message PhotoId { // Level information containing level number and its corresponding name. message Level { - // Optional. Floor number, used for ordering. 0 indicates the ground level, 1 indicates - // the first level above ground level, -1 indicates the first level under - // ground level. Non-integer values are OK. + // Optional. Floor number, used for ordering. 0 indicates the ground level, 1 + // indicates the first level above ground level, -1 indicates the first level + // under ground level. Non-integer values are OK. double number = 1 [(google.api.field_behavior) = OPTIONAL]; // Required. A name assigned to this Level, restricted to 3 characters. @@ -196,16 +197,16 @@ message Photo { REJECTED_UNKNOWN = 2; } - // Required. Output only. Required when updating a photo. Output only when creating a photo. - // Identifier for the photo, which is unique among all photos in - // Google. + // Required. Output only. Required when updating a photo. Output only when + // creating a photo. Identifier for the photo, which is unique among all + // photos in Google. PhotoId photo_id = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.field_behavior) = OUTPUT_ONLY ]; - // Input only. Required when creating a photo. Input only. The resource URL where the - // photo bytes are uploaded to. + // Input only. Required when creating a photo. Input only. The resource URL + // where the photo bytes are uploaded to. UploadRef upload_reference = 2 [(google.api.field_behavior) = INPUT_ONLY]; // Output only. The download URL for the photo bytes. This field is set only @@ -224,17 +225,19 @@ message Photo { // Optional. Pose of the photo. Pose pose = 4 [(google.api.field_behavior) = OPTIONAL]; - // Optional. Connections to other photos. A connection represents the link from this - // photo to another photo. + // Optional. Connections to other photos. A connection represents the link + // from this photo to another photo. repeated Connection connections = 5 [(google.api.field_behavior) = OPTIONAL]; // Optional. Absolute time when the photo was captured. // When the photo has no exif timestamp, this is used to set a timestamp in // the photo metadata. - google.protobuf.Timestamp capture_time = 6 [(google.api.field_behavior) = OPTIONAL]; + google.protobuf.Timestamp capture_time = 6 + [(google.api.field_behavior) = OPTIONAL]; // Output only. Time when the image was uploaded. - google.protobuf.Timestamp upload_time = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp upload_time = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Optional. Places where this photo belongs. repeated Place places = 7 [(google.api.field_behavior) = OPTIONAL]; @@ -243,10 +246,13 @@ message Photo { int64 view_count = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Status of rights transfer on this photo. - TransferStatus transfer_status = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + TransferStatus transfer_status = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; - // Output only. Status in Google Maps, whether this photo was published or rejected. - MapsPublishStatus maps_publish_status = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. Status in Google Maps, whether this photo was published or + // rejected. + MapsPublishStatus maps_publish_status = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; } // A sequence of 360 photos along with metadata. @@ -276,19 +282,20 @@ message PhotoSequence { // If the photo sequence is a video, this is the start time of the video. // If this field is populated in input, it overrides the capture time in the // video or XDM file. - google.protobuf.Timestamp capture_time_override = 4 [(google.api.field_behavior) = OPTIONAL]; + google.protobuf.Timestamp capture_time_override = 4 + [(google.api.field_behavior) = OPTIONAL]; // Output only. The time this photo sequence was created in uSV Store service. - google.protobuf.Timestamp upload_time = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Input only. Raw GPS measurements with increasing timestamps from the device that - // aren't time synced with each photo. - // These raw measurements will be used to infer the pose of each frame. - // Required in input when InputType is VIDEO and raw GPS measurements are not - // in Camera Motion Metadata Track (CAMM). - // User can indicate which takes precedence using gps_source if raw GPS - // measurements are provided in both raw_gps_timeline and - // Camera Motion Metadata Track (CAMM). + google.protobuf.Timestamp upload_time = 18 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Input only. Raw GPS measurements with increasing timestamps from the device + // that aren't time synced with each photo. These raw measurements will be + // used to infer the pose of each frame. Required in input when InputType is + // VIDEO and raw GPS measurements are not in Camera Motion Metadata Track + // (CAMM). User can indicate which takes precedence using gps_source if raw + // GPS measurements are provided in both raw_gps_timeline and Camera Motion + // Metadata Track (CAMM). repeated Pose raw_gps_timeline = 7 [(google.api.field_behavior) = INPUT_ONLY]; // Input only. If both raw_gps_timeline and @@ -303,30 +310,34 @@ message PhotoSequence { Imu imu = 11 [(google.api.field_behavior) = INPUT_ONLY]; // Output only. The processing state of this sequence. - ProcessingState processing_state = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + ProcessingState processing_state = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; - // Output only. If this sequence has processing_state = FAILED, this will contain the - // reason why it failed. If the processing_state is any other value, this - // field will be unset. - ProcessingFailureReason failure_reason = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. If this sequence has processing_state = FAILED, this will + // contain the reason why it failed. If the processing_state is any other + // value, this field will be unset. + ProcessingFailureReason failure_reason = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; - // Output only. If this sequence has `failure_reason` set, this may contain additional - // details about the failure. - ProcessingFailureDetails failure_details = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. If this sequence has `failure_reason` set, this may contain + // additional details about the failure. + ProcessingFailureDetails failure_details = 23 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The computed distance of the photo sequence in meters. double distance_meters = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Output only. A rectangular box that encapsulates every image in this photo sequence. + // Output only. A rectangular box that encapsulates every image in this photo + // sequence. LatLngBounds sequence_bounds = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Output only. The total number of views that all the published images in this - // PhotoSequence have received. + // Output only. The total number of views that all the published images in + // this PhotoSequence have received. int64 view_count = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Output only. The filename of the upload. Does not include the directory path. Only - // available if the sequence was uploaded on a platform that provides the - // filename. + // Output only. The filename of the upload. Does not include the directory + // path. Only available if the sequence was uploaded on a platform that + // provides the filename. string filename = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; } @@ -445,6 +456,15 @@ enum ProcessingFailureReason { // Not enough video frames. INSUFFICIENT_VIDEO_FRAMES = 19; + + // Not enough moving data. + INSUFFICIENT_MOVEMENT = 20; + + // Mast is down. + MAST_DOWN = 27; + + // Camera is covered. + CAMERA_COVERED = 28; } // Additional details to accompany the ProcessingFailureReason enum. @@ -466,6 +486,9 @@ message ProcessingFailureDetails { // See NotOutdoorsFailureDetails. NotOutdoorsFailureDetails not_outdoors_details = 4; + + // See NoOverlapGpsFailureDetails. + NoOverlapGpsFailureDetails no_overlap_gps_details = 5; } } @@ -504,3 +527,18 @@ message NotOutdoorsFailureDetails { // found. optional google.protobuf.Duration start_time = 1; } + +// Details related to PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS. +message NoOverlapGpsFailureDetails { + // Time of first recorded GPS point. + optional google.protobuf.Timestamp gps_start_time = 1; + + // Time of last recorded GPS point. + optional google.protobuf.Timestamp gps_end_time = 2; + + // Start time of video. + optional google.protobuf.Timestamp video_start_time = 3; + + // End time of video. + optional google.protobuf.Timestamp video_end_time = 4; +} diff --git a/google/streetview/publish/v1/rpcmessages.proto b/google/streetview/publish/v1/rpcmessages.proto index a3aae444ec18f..f0ca3059b0485 100644 --- a/google/streetview/publish/v1/rpcmessages.proto +++ b/google/streetview/publish/v1/rpcmessages.proto @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -17,6 +17,7 @@ syntax = "proto3"; package google.streetview.publish.v1; import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/field_mask.proto"; import "google/rpc/status.proto"; @@ -45,8 +46,8 @@ message GetPhotoRequest { // Required. ID of the [Photo][google.streetview.publish.v1.Photo]. string photo_id = 1 [(google.api.field_behavior) = REQUIRED]; - // Required. Specifies if a download URL for the photo bytes should be returned in the - // [Photo][google.streetview.publish.v1.Photo] response. + // Required. Specifies if a download URL for the photo bytes should be + // returned in the [Photo][google.streetview.publish.v1.Photo] response. PhotoView view = 2 [(google.api.field_behavior) = REQUIRED]; // The BCP-47 language code, such as "en-US" or "sr-Latn". For more @@ -71,8 +72,8 @@ message BatchGetPhotosRequest { // `photoIds=&photoIds=&...`. repeated string photo_ids = 1 [(google.api.field_behavior) = REQUIRED]; - // Required. Specifies if a download URL for the photo bytes should be returned in the - // Photo response. + // Required. Specifies if a download URL for the photo bytes should be + // returned in the Photo response. PhotoView view = 2 [(google.api.field_behavior) = REQUIRED]; // Optional. The BCP-47 language code, such as "en-US" or "sr-Latn". For more @@ -124,8 +125,8 @@ message PhotoResponse { // * `filter` allows filtering by a given parameter. 'placeId' is the only // parameter supported at the moment. message ListPhotosRequest { - // Required. Specifies if a download URL for the photos bytes should be returned in the - // Photos response. + // Required. Specifies if a download URL for the photos bytes should be + // returned in the Photos response. PhotoView view = 1 [(google.api.field_behavior) = REQUIRED]; // Optional. The maximum number of photos to return. @@ -142,11 +143,12 @@ message ListPhotosRequest { // request, if any. string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; - // Optional. The filter expression. For example: `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw`. + // Optional. The filter expression. For example: + // `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw`. // // The filters supported are: `placeId`, `min_latitude`, `max_latitude`, - // `min_longitude`, and `max_longitude`. See https://google.aip.dev/160 for - // more information. + // `min_longitude`, `max_longitude`. See https://google.aip.dev/160 for more + // information. string filter = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. The BCP-47 language code, such as "en-US" or "sr-Latn". For more @@ -187,7 +189,7 @@ message UpdatePhotoRequest { // The following fields are valid: // // * `pose.heading` - // * `pose.latLngPair` + // * `pose.lat_lng_pair` // * `pose.pitch` // * `pose.roll` // * `pose.level` @@ -203,7 +205,8 @@ message UpdatePhotoRequest { // [updateMask][google.streetview.publish.v1.UpdatePhotoRequest.update_mask] // contains `connections` and `UpdatePhotoRequest.photo.connections` is empty, // all connections are removed. - google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; } // Request to update the metadata of photos. @@ -211,7 +214,8 @@ message UpdatePhotoRequest { message BatchUpdatePhotosRequest { // Required. List of // [UpdatePhotoRequests][google.streetview.publish.v1.UpdatePhotoRequest]. - repeated UpdatePhotoRequest update_photo_requests = 1 [(google.api.field_behavior) = REQUIRED]; + repeated UpdatePhotoRequest update_photo_requests = 1 + [(google.api.field_behavior) = REQUIRED]; } // Response to batch update of metadata of one or more @@ -242,7 +246,8 @@ message BatchDeletePhotosRequest { message CreatePhotoSequenceRequest { // Input forms of [PhotoSequence][google.streetview.publish.v1.PhotoSequence]. enum InputType { - // Not specified. Server will return [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]. + // Not specified. Server will return + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]. INPUT_TYPE_UNSPECIFIED = 0; // 360 Video. @@ -334,11 +339,12 @@ message ListPhotoSequencesRequest { // Optional. The filter expression. For example: `imagery_type=SPHERICAL`. // // The filters supported are: `imagery_type`, `processing_state`, - // `min_latitude`, `max_latitude`, `min_longitude`, `max_longitude`, and - // `filename_query`. See https://google.aip.dev/160 for more information. - // Filename queries should sent as a Phrase in order to support multple words - // and special characters by adding escaped quotes. Ex: - // filename_query="example of a phrase.mp4" + // `min_latitude`, `max_latitude`, `min_longitude`, `max_longitude`, + // `filename_query`, `min_capture_time_seconds`, `max_capture_time_seconds. + // See https://google.aip.dev/160 for more information. Filename queries + // should sent as a Phrase in order to support multiple words and special + // characters by adding escaped quotes. Ex: filename_query="example of a + // phrase.mp4" string filter = 4 [(google.api.field_behavior) = OPTIONAL]; } diff --git a/google/streetview/publish/v1/streetview_publish.proto b/google/streetview/publish/v1/streetview_publish.proto index 11aa968e03e53..2fb3763e64543 100644 --- a/google/streetview/publish/v1/streetview_publish.proto +++ b/google/streetview/publish/v1/streetview_publish.proto @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ package google.streetview.publish.v1; import "google/api/annotations.proto"; import "google/api/client.proto"; +import "google/api/resource.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/empty.proto"; import "google/streetview/publish/v1/resources.proto"; @@ -26,13 +27,18 @@ import "google/streetview/publish/v1/rpcmessages.proto"; option go_package = "google.golang.org/genproto/googleapis/streetview/publish/v1;publish"; option java_outer_classname = "StreetViewPublish"; option java_package = "com.google.geo.ugc.streetview.publish.v1"; +option (google.api.resource_definition) = { + type: "streetviewpublish.googleapis.com/Contract" + pattern: "contracts/{contract}" +}; // Definition of the service that backs the Street View Publish API. // Publishes and connects user-contributed photos on Street View. service StreetViewPublishService { option (google.api.default_host) = "streetviewpublish.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/streetviewpublish"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/streetviewpublish"; // Creates an upload session to start uploading photo bytes. The method uses // the upload URL of the returned @@ -75,11 +81,12 @@ service StreetViewPublishService { // // This method returns the following error codes: // - // * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] if the request is malformed or if - // the uploaded photo is not a 360 photo. - // * [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND] if the upload reference does not exist. - // * [google.rpc.Code.RESOURCE_EXHAUSTED][google.rpc.Code.RESOURCE_EXHAUSTED] if the account has reached the - // storage limit. + // * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] if + // the request is malformed or if the uploaded photo is not a 360 photo. + // * [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND] if the upload + // reference does not exist. + // * [google.rpc.Code.RESOURCE_EXHAUSTED][google.rpc.Code.RESOURCE_EXHAUSTED] + // if the account has reached the storage limit. rpc CreatePhoto(CreatePhotoRequest) returns (Photo) { option (google.api.http) = { post: "/v1/photo" @@ -93,12 +100,14 @@ service StreetViewPublishService { // // This method returns the following error codes: // - // * [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED] if the requesting user did not - // create the requested [Photo][google.streetview.publish.v1.Photo]. + // * [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED] if + // the requesting user did not create the requested + // [Photo][google.streetview.publish.v1.Photo]. // * [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND] if the requested // [Photo][google.streetview.publish.v1.Photo] does not exist. - // * [google.rpc.Code.UNAVAILABLE][google.rpc.Code.UNAVAILABLE] if the requested - // [Photo][google.streetview.publish.v1.Photo] is still being indexed. + // * [google.rpc.Code.UNAVAILABLE][google.rpc.Code.UNAVAILABLE] if the + // requested [Photo][google.streetview.publish.v1.Photo] is still being + // indexed. rpc GetPhoto(GetPhotoRequest) returns (Photo) { option (google.api.http) = { get: "/v1/photo/{photo_id}" @@ -152,12 +161,15 @@ service StreetViewPublishService { // // This method returns the following error codes: // - // * [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED] if the requesting user did not - // create the requested photo. - // * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] if the request is malformed. - // * [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND] if the requested photo does not exist. - // * [google.rpc.Code.UNAVAILABLE][google.rpc.Code.UNAVAILABLE] if the requested - // [Photo][google.streetview.publish.v1.Photo] is still being indexed. + // * [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED] if + // the requesting user did not create the requested photo. + // * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] if + // the request is malformed. + // * [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND] if the requested + // photo does not exist. + // * [google.rpc.Code.UNAVAILABLE][google.rpc.Code.UNAVAILABLE] if the + // requested [Photo][google.streetview.publish.v1.Photo] is still being + // indexed. rpc UpdatePhoto(UpdatePhotoRequest) returns (Photo) { option (google.api.http) = { put: "/v1/photo/{photo.photo_id.id}" @@ -199,7 +211,8 @@ service StreetViewPublishService { // [Pose.altitude][google.streetview.publish.v1.Pose.altitude], // [Pose.latLngPair][google.streetview.publish.v1.Pose.lat_lng_pair] has to be // filled as well. Otherwise, the request will fail. - rpc BatchUpdatePhotos(BatchUpdatePhotosRequest) returns (BatchUpdatePhotosResponse) { + rpc BatchUpdatePhotos(BatchUpdatePhotosRequest) + returns (BatchUpdatePhotosResponse) { option (google.api.http) = { post: "/v1/photos:batchUpdate" body: "*" @@ -211,9 +224,10 @@ service StreetViewPublishService { // // This method returns the following error codes: // - // * [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED] if the requesting user did not - // create the requested photo. - // * [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND] if the photo ID does not exist. + // * [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED] if + // the requesting user did not create the requested photo. + // * [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND] if the photo ID + // does not exist. rpc DeletePhoto(DeletePhotoRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1/photo/{photo_id}" @@ -237,7 +251,8 @@ service StreetViewPublishService { // See // [DeletePhoto][google.streetview.publish.v1.StreetViewPublishService.DeletePhoto] // for specific failures that can occur per photo. - rpc BatchDeletePhotos(BatchDeletePhotosRequest) returns (BatchDeletePhotosResponse) { + rpc BatchDeletePhotos(BatchDeletePhotosRequest) + returns (BatchDeletePhotosResponse) { option (google.api.http) = { post: "/v1/photos:batchDelete" body: "*" @@ -276,9 +291,12 @@ service StreetViewPublishService { // // This method returns the following error codes: // - // * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] if the request is malformed. - // * [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND] if the upload reference does not exist. - rpc CreatePhotoSequence(CreatePhotoSequenceRequest) returns (google.longrunning.Operation) { + // * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] if + // the request is malformed. + // * [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND] if the upload + // reference does not exist. + rpc CreatePhotoSequence(CreatePhotoSequenceRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/photoSequence" body: "photo_sequence" @@ -307,12 +325,13 @@ service StreetViewPublishService { // // This method returns the following error codes: // - // * [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED] if the requesting user did not - // create the requested + // * [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED] if + // the requesting user did not create the requested // [PhotoSequence][google.streetview.publish.v1.PhotoSequence]. // * [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND] if the requested // [PhotoSequence][google.streetview.publish.v1.PhotoSequence] does not exist. - rpc GetPhotoSequence(GetPhotoSequenceRequest) returns (google.longrunning.Operation) { + rpc GetPhotoSequence(GetPhotoSequenceRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { get: "/v1/photoSequence/{sequence_id}" }; @@ -324,7 +343,8 @@ service StreetViewPublishService { // Lists all the [PhotoSequences][google.streetview.publish.v1.PhotoSequence] // that belong to the user, in descending CreatePhotoSequence timestamp order. - rpc ListPhotoSequences(ListPhotoSequencesRequest) returns (ListPhotoSequencesResponse) { + rpc ListPhotoSequences(ListPhotoSequencesRequest) + returns (ListPhotoSequencesResponse) { option (google.api.http) = { get: "/v1/photoSequences" }; @@ -335,12 +355,14 @@ service StreetViewPublishService { // // This method returns the following error codes: // - // * [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED] if the requesting user did not - // create the requested photo sequence. - // * [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND] if the photo sequence ID does not exist. + // * [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED] if + // the requesting user did not create the requested photo sequence. + // * [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND] if the photo + // sequence ID does not exist. // * [google.rpc.Code.FAILED_PRECONDITION][google.rpc.Code.FAILED_PRECONDITION] if the photo sequence ID is not // yet finished processing. - rpc DeletePhotoSequence(DeletePhotoSequenceRequest) returns (google.protobuf.Empty) { + rpc DeletePhotoSequence(DeletePhotoSequenceRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1/photoSequence/{sequence_id}" }; diff --git a/google/streetview/publish/v1/streetviewpublish.yaml b/google/streetview/publish/v1/streetviewpublish.yaml index 861d1aeed8292..1c9da93b0e48c 100644 --- a/google/streetview/publish/v1/streetviewpublish.yaml +++ b/google/streetview/publish/v1/streetviewpublish.yaml @@ -16,14 +16,41 @@ documentation: the users to connect photos, update metadata of the photos, generate photo collections, and delete photos. -backend: - rules: - - selector: 'google.streetview.publish.v1.StreetViewPublishService.*' - deadline: 30.0 - authentication: rules: - selector: 'google.streetview.publish.v1.StreetViewPublishService.*' oauth: canonical_scopes: |- https://www.googleapis.com/auth/streetviewpublish + +publishing: + new_issue_uri: https://issuetracker.google.com/issues/new?component=316970&template=1019235 + documentation_uri: https://developers.google.com/streetview/publish + api_short_name: streetviewpublish + github_label: 'api: streetviewpublish' + doc_tag_prefix: streetviewpublish + organization: GEO + library_settings: + - version: google.streetview.publish.v1 + launch_stage: GA + java_settings: + common: + destinations: + - PACKAGE_MANAGER + cpp_settings: + common: + destinations: + - PACKAGE_MANAGER + python_settings: + common: + destinations: + - PACKAGE_MANAGER + node_settings: + common: + destinations: + - PACKAGE_MANAGER + go_settings: + common: + destinations: + - PACKAGE_MANAGER + proto_reference_documentation_uri: https://developers.google.com/streetview/publish/reference/rest