mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-17 13:06:47 +02:00
feat: add v1beta public clients for AppOptimize API
PiperOrigin-RevId: 895558469
This commit is contained in:
parent
afb6d4b368
commit
cd090841ab
5 changed files with 950 additions and 6 deletions
|
|
@ -1,16 +1,15 @@
|
|||
exports_files(glob(["*.yaml"]))
|
||||
|
||||
load(
|
||||
"@com_google_googleapis_imports//:imports.bzl",
|
||||
"nodejs_gapic_combined_pkg"
|
||||
"nodejs_gapic_combined_pkg",
|
||||
)
|
||||
|
||||
exports_files(glob(["*.yaml"]))
|
||||
|
||||
nodejs_gapic_combined_pkg(
|
||||
name = "google-cloud-appoptimize-nodejs",
|
||||
default_version = "v1alpha",
|
||||
default_version = "v1beta",
|
||||
templates_excludes = ["package.json"],
|
||||
deps = [
|
||||
"//google/cloud/appoptimize/v1alpha:appoptimize-v1alpha-nodejs",
|
||||
"//google/cloud/appoptimize/v1beta:appoptimize-v1beta-nodejs",
|
||||
],
|
||||
)
|
||||
)
|
||||
|
|
|
|||
394
google/cloud/appoptimize/v1beta/BUILD.bazel
Normal file
394
google/cloud/appoptimize/v1beta/BUILD.bazel
Normal file
|
|
@ -0,0 +1,394 @@
|
|||
# This file was automatically generated by BuildFileGenerator
|
||||
# https://github.com/googleapis/rules_gapic/tree/master/bazel
|
||||
|
||||
# Most of the manual changes to this file will be overwritten.
|
||||
# It's **only** allowed to change the following rule attribute values:
|
||||
# - names of *_gapic_assembly_* rules
|
||||
# - certain parameters of *_gapic_library rules, including but not limited to:
|
||||
# * extra_protoc_parameters
|
||||
# * 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
|
||||
##############################################################################
|
||||
# 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 = "appoptimize_proto",
|
||||
srcs = [
|
||||
"app_optimize.proto",
|
||||
],
|
||||
deps = [
|
||||
"//google/api:annotations_proto",
|
||||
"//google/api:client_proto",
|
||||
"//google/api:field_behavior_proto",
|
||||
"//google/api:resource_proto",
|
||||
"//google/longrunning:operations_proto",
|
||||
"@com_google_protobuf//:empty_proto",
|
||||
"@com_google_protobuf//:struct_proto",
|
||||
"@com_google_protobuf//:timestamp_proto",
|
||||
],
|
||||
)
|
||||
|
||||
proto_library_with_info(
|
||||
name = "appoptimize_proto_with_info",
|
||||
deps = [
|
||||
":appoptimize_proto",
|
||||
"//google/cloud:common_resources_proto",
|
||||
"//google/cloud/location:location_proto",
|
||||
],
|
||||
)
|
||||
|
||||
##############################################################################
|
||||
# Java
|
||||
##############################################################################
|
||||
# buildifier: disable=same-origin-load
|
||||
load(
|
||||
"@com_google_googleapis_imports//:imports.bzl",
|
||||
"java_gapic_assembly_gradle_pkg",
|
||||
"java_gapic_library",
|
||||
"java_gapic_test",
|
||||
"java_grpc_library",
|
||||
"java_proto_library",
|
||||
)
|
||||
|
||||
java_proto_library(
|
||||
name = "appoptimize_java_proto",
|
||||
deps = [":appoptimize_proto"],
|
||||
)
|
||||
|
||||
java_grpc_library(
|
||||
name = "appoptimize_java_grpc",
|
||||
srcs = [":appoptimize_proto"],
|
||||
deps = [":appoptimize_java_proto"],
|
||||
)
|
||||
|
||||
java_gapic_library(
|
||||
name = "appoptimize_java_gapic",
|
||||
srcs = [":appoptimize_proto_with_info"],
|
||||
gapic_yaml = None,
|
||||
grpc_service_config = "appoptimize_v1beta_grpc_service_config.json",
|
||||
rest_numeric_enums = True,
|
||||
service_yaml = "appoptimize_v1beta.yaml",
|
||||
test_deps = [
|
||||
":appoptimize_java_grpc",
|
||||
"//google/cloud/location:location_java_grpc",
|
||||
],
|
||||
transport = "grpc+rest",
|
||||
deps = [
|
||||
":appoptimize_java_proto",
|
||||
"//google/api:api_java_proto",
|
||||
"//google/cloud/location:location_java_proto",
|
||||
],
|
||||
)
|
||||
|
||||
java_gapic_test(
|
||||
name = "appoptimize_java_gapic_test_suite",
|
||||
test_classes = [
|
||||
"com.google.cloud.appoptimize.v1beta.AppOptimizeClientHttpJsonTest",
|
||||
"com.google.cloud.appoptimize.v1beta.AppOptimizeClientTest",
|
||||
],
|
||||
runtime_deps = [":appoptimize_java_gapic_test"],
|
||||
)
|
||||
|
||||
# Open Source Packages
|
||||
java_gapic_assembly_gradle_pkg(
|
||||
name = "google-cloud-appoptimize-v1beta-java",
|
||||
include_samples = True,
|
||||
transport = "grpc+rest",
|
||||
deps = [
|
||||
":appoptimize_java_gapic",
|
||||
":appoptimize_java_grpc",
|
||||
":appoptimize_java_proto",
|
||||
":appoptimize_proto",
|
||||
],
|
||||
)
|
||||
|
||||
##############################################################################
|
||||
# Go
|
||||
##############################################################################
|
||||
# buildifier: disable=same-origin-load
|
||||
load(
|
||||
"@com_google_googleapis_imports//:imports.bzl",
|
||||
"go_gapic_assembly_pkg",
|
||||
"go_gapic_library",
|
||||
"go_grpc_library",
|
||||
)
|
||||
|
||||
go_grpc_library(
|
||||
name = "appoptimize_go_proto",
|
||||
importpath = "cloud.google.com/go/appoptimize/apiv1beta/appoptimizepb",
|
||||
protos = [":appoptimize_proto"],
|
||||
deps = [
|
||||
"//google/api:annotations_go_proto",
|
||||
"//google/longrunning:longrunning_go_proto",
|
||||
],
|
||||
)
|
||||
|
||||
go_gapic_library(
|
||||
name = "appoptimize_go_gapic",
|
||||
srcs = [":appoptimize_proto_with_info"],
|
||||
grpc_service_config = "appoptimize_v1beta_grpc_service_config.json",
|
||||
importpath = "cloud.google.com/go/appoptimize/apiv1beta;appoptimize",
|
||||
metadata = True,
|
||||
release_level = "beta",
|
||||
rest_numeric_enums = True,
|
||||
service_yaml = "appoptimize_v1beta.yaml",
|
||||
transport = "grpc+rest",
|
||||
deps = [
|
||||
":appoptimize_go_proto",
|
||||
"//google/cloud/location:location_go_proto",
|
||||
"//google/longrunning:longrunning_go_proto",
|
||||
"@com_google_cloud_go_longrunning//:go_default_library",
|
||||
"@com_google_cloud_go_longrunning//autogen:go_default_library",
|
||||
"@io_bazel_rules_go//proto/wkt:struct_go_proto",
|
||||
],
|
||||
)
|
||||
|
||||
# Open Source Packages
|
||||
go_gapic_assembly_pkg(
|
||||
name = "gapi-cloud-appoptimize-v1beta-go",
|
||||
deps = [
|
||||
":appoptimize_go_gapic",
|
||||
":appoptimize_go_gapic_srcjar-metadata.srcjar",
|
||||
":appoptimize_go_gapic_srcjar-snippets.srcjar",
|
||||
":appoptimize_go_gapic_srcjar-test.srcjar",
|
||||
":appoptimize_go_proto",
|
||||
],
|
||||
)
|
||||
|
||||
##############################################################################
|
||||
# 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(
|
||||
name = "appoptimize_py_gapic",
|
||||
srcs = [":appoptimize_proto"],
|
||||
grpc_service_config = "appoptimize_v1beta_grpc_service_config.json",
|
||||
rest_numeric_enums = True,
|
||||
service_yaml = "appoptimize_v1beta.yaml",
|
||||
transport = "grpc+rest",
|
||||
deps = [
|
||||
],
|
||||
)
|
||||
|
||||
py_test(
|
||||
name = "appoptimize_py_gapic_test",
|
||||
srcs = [
|
||||
"appoptimize_py_gapic_pytest.py",
|
||||
"appoptimize_py_gapic_test.py",
|
||||
],
|
||||
legacy_create_init = False,
|
||||
deps = [":appoptimize_py_gapic"],
|
||||
)
|
||||
|
||||
# Open Source Packages
|
||||
py_gapic_assembly_pkg(
|
||||
name = "appoptimize-v1beta-py",
|
||||
deps = [
|
||||
":appoptimize_py_gapic",
|
||||
],
|
||||
)
|
||||
|
||||
##############################################################################
|
||||
# PHP
|
||||
##############################################################################
|
||||
# buildifier: disable=same-origin-load
|
||||
load(
|
||||
"@com_google_googleapis_imports//:imports.bzl",
|
||||
"php_gapic_assembly_pkg",
|
||||
"php_gapic_library",
|
||||
"php_proto_library",
|
||||
)
|
||||
|
||||
php_proto_library(
|
||||
name = "appoptimize_php_proto",
|
||||
deps = [":appoptimize_proto"],
|
||||
)
|
||||
|
||||
php_gapic_library(
|
||||
name = "appoptimize_php_gapic",
|
||||
srcs = [":appoptimize_proto_with_info"],
|
||||
grpc_service_config = "appoptimize_v1beta_grpc_service_config.json",
|
||||
migration_mode = "NEW_SURFACE_ONLY",
|
||||
rest_numeric_enums = True,
|
||||
service_yaml = "appoptimize_v1beta.yaml",
|
||||
transport = "grpc+rest",
|
||||
deps = [
|
||||
":appoptimize_php_proto",
|
||||
],
|
||||
)
|
||||
|
||||
# Open Source Packages
|
||||
php_gapic_assembly_pkg(
|
||||
name = "google-cloud-appoptimize-v1beta-php",
|
||||
deps = [
|
||||
":appoptimize_php_gapic",
|
||||
":appoptimize_php_proto",
|
||||
],
|
||||
)
|
||||
|
||||
##############################################################################
|
||||
# Node.js
|
||||
##############################################################################
|
||||
# buildifier: disable=same-origin-load
|
||||
load(
|
||||
"@com_google_googleapis_imports//:imports.bzl",
|
||||
"nodejs_gapic_assembly_pkg",
|
||||
"nodejs_gapic_library",
|
||||
)
|
||||
|
||||
nodejs_gapic_library(
|
||||
name = "appoptimize_nodejs_gapic",
|
||||
package_name = "@google-cloud/appoptimize",
|
||||
src = ":appoptimize_proto_with_info",
|
||||
extra_protoc_parameters = ["metadata"],
|
||||
grpc_service_config = "appoptimize_v1beta_grpc_service_config.json",
|
||||
package = "google.cloud.appoptimize.v1beta",
|
||||
rest_numeric_enums = True,
|
||||
service_yaml = "appoptimize_v1beta.yaml",
|
||||
transport = "grpc+rest",
|
||||
deps = [],
|
||||
)
|
||||
|
||||
nodejs_gapic_assembly_pkg(
|
||||
name = "appoptimize-v1beta-nodejs",
|
||||
deps = [
|
||||
":appoptimize_nodejs_gapic",
|
||||
":appoptimize_proto",
|
||||
],
|
||||
)
|
||||
|
||||
##############################################################################
|
||||
# Ruby
|
||||
##############################################################################
|
||||
# buildifier: disable=same-origin-load
|
||||
load(
|
||||
"@com_google_googleapis_imports//:imports.bzl",
|
||||
"ruby_cloud_gapic_library",
|
||||
"ruby_gapic_assembly_pkg",
|
||||
"ruby_grpc_library",
|
||||
"ruby_proto_library",
|
||||
)
|
||||
|
||||
ruby_proto_library(
|
||||
name = "appoptimize_ruby_proto",
|
||||
deps = [":appoptimize_proto"],
|
||||
)
|
||||
|
||||
ruby_grpc_library(
|
||||
name = "appoptimize_ruby_grpc",
|
||||
srcs = [":appoptimize_proto"],
|
||||
deps = [":appoptimize_ruby_proto"],
|
||||
)
|
||||
|
||||
ruby_cloud_gapic_library(
|
||||
name = "appoptimize_ruby_gapic",
|
||||
srcs = [":appoptimize_proto_with_info"],
|
||||
extra_protoc_parameters = [
|
||||
"ruby-cloud-gem-name=google-cloud-app_optimize-v1beta",
|
||||
],
|
||||
grpc_service_config = "appoptimize_v1beta_grpc_service_config.json",
|
||||
rest_numeric_enums = True,
|
||||
service_yaml = "appoptimize_v1beta.yaml",
|
||||
transport = "grpc+rest",
|
||||
deps = [
|
||||
":appoptimize_ruby_grpc",
|
||||
":appoptimize_ruby_proto",
|
||||
],
|
||||
)
|
||||
|
||||
# Open Source Packages
|
||||
ruby_gapic_assembly_pkg(
|
||||
name = "google-cloud-appoptimize-v1beta-ruby",
|
||||
deps = [
|
||||
":appoptimize_ruby_gapic",
|
||||
":appoptimize_ruby_grpc",
|
||||
":appoptimize_ruby_proto",
|
||||
],
|
||||
)
|
||||
|
||||
##############################################################################
|
||||
# C#
|
||||
##############################################################################
|
||||
# buildifier: disable=same-origin-load
|
||||
load(
|
||||
"@com_google_googleapis_imports//:imports.bzl",
|
||||
"csharp_gapic_assembly_pkg",
|
||||
"csharp_gapic_library",
|
||||
"csharp_grpc_library",
|
||||
"csharp_proto_library",
|
||||
)
|
||||
|
||||
csharp_proto_library(
|
||||
name = "appoptimize_csharp_proto",
|
||||
extra_opts = [],
|
||||
deps = [":appoptimize_proto"],
|
||||
)
|
||||
|
||||
csharp_grpc_library(
|
||||
name = "appoptimize_csharp_grpc",
|
||||
srcs = [":appoptimize_proto"],
|
||||
deps = [":appoptimize_csharp_proto"],
|
||||
)
|
||||
|
||||
csharp_gapic_library(
|
||||
name = "appoptimize_csharp_gapic",
|
||||
srcs = [":appoptimize_proto_with_info"],
|
||||
common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
|
||||
grpc_service_config = "appoptimize_v1beta_grpc_service_config.json",
|
||||
rest_numeric_enums = True,
|
||||
service_yaml = "appoptimize_v1beta.yaml",
|
||||
transport = "grpc+rest",
|
||||
deps = [
|
||||
":appoptimize_csharp_grpc",
|
||||
":appoptimize_csharp_proto",
|
||||
],
|
||||
)
|
||||
|
||||
# Open Source Packages
|
||||
csharp_gapic_assembly_pkg(
|
||||
name = "google-cloud-appoptimize-v1beta-csharp",
|
||||
deps = [
|
||||
":appoptimize_csharp_gapic",
|
||||
":appoptimize_csharp_grpc",
|
||||
":appoptimize_csharp_proto",
|
||||
],
|
||||
)
|
||||
|
||||
##############################################################################
|
||||
# C++
|
||||
##############################################################################
|
||||
# buildifier: disable=same-origin-load
|
||||
load(
|
||||
"@com_google_googleapis_imports//:imports.bzl",
|
||||
"cc_grpc_library",
|
||||
"cc_proto_library",
|
||||
)
|
||||
|
||||
cc_proto_library(
|
||||
name = "appoptimize_cc_proto",
|
||||
deps = [":appoptimize_proto"],
|
||||
)
|
||||
|
||||
cc_grpc_library(
|
||||
name = "appoptimize_cc_grpc",
|
||||
srcs = [":appoptimize_proto"],
|
||||
grpc_only = True,
|
||||
deps = [":appoptimize_cc_proto"],
|
||||
)
|
||||
407
google/cloud/appoptimize/v1beta/app_optimize.proto
Normal file
407
google/cloud/appoptimize/v1beta/app_optimize.proto
Normal file
|
|
@ -0,0 +1,407 @@
|
|||
// Copyright 2026 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.
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
package google.cloud.appoptimize.v1beta;
|
||||
|
||||
import "google/api/annotations.proto";
|
||||
import "google/api/client.proto";
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/api/resource.proto";
|
||||
import "google/longrunning/operations.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
import "google/protobuf/struct.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
option go_package = "cloud.google.com/go/appoptimize/apiv1beta/appoptimizepb;appoptimizepb";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "AppOptimizeProto";
|
||||
option java_package = "com.google.cloud.appoptimize.v1beta";
|
||||
|
||||
// Resource definition for App Hub Application.
|
||||
option (google.api.resource_definition) = {
|
||||
type: "apphub.googleapis.com/Application"
|
||||
pattern: "projects/{project}/locations/{location}/applications/{application}"
|
||||
};
|
||||
|
||||
// Service for managing and querying optimization reports.
|
||||
service AppOptimize {
|
||||
option (google.api.default_host) = "appoptimize.googleapis.com";
|
||||
option (google.api.oauth_scopes) =
|
||||
"https://www.googleapis.com/auth/cloud-platform";
|
||||
|
||||
// Creates a new report.
|
||||
//
|
||||
// This initiates a long-running operation that, upon completion, results
|
||||
// in a report resource. Once the report is created, its results can be read
|
||||
// via `ReadReport`.
|
||||
rpc CreateReport(CreateReportRequest) returns (google.longrunning.Operation) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1beta/{parent=projects/*/locations/*}/reports"
|
||||
body: "report"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,report,report_id";
|
||||
option (google.longrunning.operation_info) = {
|
||||
response_type: "Report"
|
||||
metadata_type: "OperationMetadata"
|
||||
};
|
||||
}
|
||||
|
||||
// Retrieves the details of a report configuration.
|
||||
rpc GetReport(GetReportRequest) returns (Report) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1beta/{name=projects/*/locations/*/reports/*}"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// Lists reports within a given project.
|
||||
rpc ListReports(ListReportsRequest) returns (ListReportsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1beta/{parent=projects/*/locations/*}/reports"
|
||||
};
|
||||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// Deletes the specified report.
|
||||
rpc DeleteReport(DeleteReportRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
delete: "/v1beta/{name=projects/*/locations/*/reports/*}"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// Reads data within a specified report.
|
||||
rpc ReadReport(ReadReportRequest) returns (ReadReportResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1beta/{name=projects/*/locations/*/reports/*}:read"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
}
|
||||
|
||||
// Request message for the `CreateReport` method.
|
||||
message CreateReportRequest {
|
||||
// Required. The parent Google Cloud project that will own the report.
|
||||
//
|
||||
// This value does not define the scope of the report data. See `Report.scope`
|
||||
// for setting the data scope.
|
||||
//
|
||||
// Format: `projects/{project}/locations/{location}`.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
child_type: "appoptimize.googleapis.com/Report"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The ID to use for this report. This ID must be unique within
|
||||
// the parent project and should comply with RFC 1034 restrictions (letters,
|
||||
// numbers, and hyphen, with the first character a letter, the last a letter
|
||||
// or a number, and a 63 character maximum).
|
||||
string report_id = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Required. The report resource to create.
|
||||
Report report = 3 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// A configuration that defines the parameters for the data represented by a
|
||||
// report.
|
||||
message Report {
|
||||
option (google.api.resource) = {
|
||||
type: "appoptimize.googleapis.com/Report"
|
||||
pattern: "projects/{project}/locations/{location}/reports/{report}"
|
||||
plural: "reports"
|
||||
singular: "report"
|
||||
};
|
||||
|
||||
// Defines this report's expiration time.
|
||||
oneof expiration {
|
||||
// Output only. Timestamp in UTC of when this report expires. Once the
|
||||
// report expires, it will no longer be accessible and the report's
|
||||
// underlying data will be deleted.
|
||||
google.protobuf.Timestamp expire_time = 6
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
|
||||
// Identifier. The name of this report.
|
||||
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
||||
|
||||
// Required. A list of dimensions to include in the report. Supported values:
|
||||
//
|
||||
// * `project`
|
||||
// * `application`
|
||||
// * `service_or_workload`
|
||||
// * `resource`
|
||||
// * `resource_type`
|
||||
// * `location`
|
||||
// * `product_display_name`
|
||||
// * `sku`
|
||||
// * `month`
|
||||
// * `day`
|
||||
// * `hour`
|
||||
//
|
||||
// To aggregate results by time, specify at least one time dimension
|
||||
// (`month`, `day`, or `hour`). All time dimensions use Pacific Time,
|
||||
// respect Daylight Saving Time (DST), and follow these ISO 8601 formats:
|
||||
//
|
||||
// * `month`: `YYYY-MM` (e.g., `2024-01`)
|
||||
// * `day`: `YYYY-MM-DD` (e.g., `2024-01-10`)
|
||||
// * `hour`: `YYYY-MM-DDTHH` (e.g., `2024-01-10T00`)
|
||||
//
|
||||
// If the time range filter does not align with the selected time dimension,
|
||||
// the range is expanded to encompass the full period of the finest-grained
|
||||
// time dimension.
|
||||
//
|
||||
// For example, if the filter is `2026-01-10` through `2026-01-12` and the
|
||||
// `month` dimension is selected, the effective time range expands to include
|
||||
// all of January (`2026-01-01` to `2026-02-01`).
|
||||
repeated string dimensions = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Required. A list of metrics to include in the report. Supported values:
|
||||
//
|
||||
// * `cost`
|
||||
// * `cpu_mean_utilization`
|
||||
// * `cpu_usage_core_seconds`
|
||||
// * `cpu_allocation_core_seconds`
|
||||
// * `cpu_p95_utilization`
|
||||
// * `memory_mean_utilization`
|
||||
// * `memory_usage_byte_seconds`
|
||||
// * `memory_allocation_byte_seconds`
|
||||
// * `memory_p95_utilization`
|
||||
repeated string metrics = 7 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Optional. The resource containers for which to fetch data. Default is the
|
||||
// project specified in the report's parent.
|
||||
repeated Scope scopes = 3 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. A Common Expression Language (CEL) expression used to filter the
|
||||
// data for the report.
|
||||
//
|
||||
// Predicates may refer to any dimension. Filtering must conform to these
|
||||
// constraints:
|
||||
//
|
||||
// * All string field predicates must use exact string matches.
|
||||
// * Multiple predicates referring to the same string field must be joined
|
||||
// using the logical OR operator ('||').
|
||||
// * All other predicates must be joined using the logical AND operator
|
||||
// (`&&`).
|
||||
// * A predicate on a time dimension (e.g., `day`) specifying the start time
|
||||
// must use a greater-than-or-equal-to comparison (`>=`).
|
||||
// * A predicate on a time dimension specifying the end time must use a
|
||||
// less-than comparison (`<`).
|
||||
//
|
||||
// Examples:
|
||||
//
|
||||
// 1. Filter by a specific resource type:
|
||||
// `"resource_type == 'compute.googleapis.com/Instance'"`
|
||||
//
|
||||
// 2. Filter data points that fall within a specific absolute time interval:
|
||||
// `"hour >= timestamp('2024-01-01T00:00:00Z') &&
|
||||
// hour < timestamp('2024-02-01T00:00:00Z')"`
|
||||
//
|
||||
// 3. Filter data points that fall within the past 72 hours:
|
||||
// `"hour >= now - duration('72h')"`
|
||||
//
|
||||
// 4. Combine string predicate with time interval predicate:
|
||||
// `"(location == 'us-east1' || location == 'us-west1') &&
|
||||
// hour >= timestamp('2023-12-01T00:00:00Z') &&
|
||||
// hour < timestamp('2024-02-01T00:00:00Z')"`
|
||||
//
|
||||
// If the filter omits time dimensions (`month`, `day`, `hour`), the report
|
||||
// defaults to a 7-day range ending at the previous Pacific Time midnight,
|
||||
// with Daylight Saving Time (DST) applied.
|
||||
//
|
||||
// For example, if the current Pacific Time is `2026-01-05T12:00:00`,
|
||||
// the default range is `2025-12-29T00:00:00` to `2026-01-05T00:00:00` Pacific
|
||||
// time.
|
||||
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Specifies the report scope.
|
||||
message Scope {
|
||||
oneof scope {
|
||||
// Required. A Google Cloud Platform project to fetch data from.
|
||||
//
|
||||
// Format: `"projects/{project}"`.
|
||||
string project = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "cloudresourcemanager.googleapis.com/Project"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. An App Hub Application to fetch data from.
|
||||
//
|
||||
// Format:
|
||||
// `"projects/{project}/locations/{location}/applications/{application}"`.
|
||||
string application = 2 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "apphub.googleapis.com/Application"
|
||||
}
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
// Request message for the `GetReport` method.
|
||||
message GetReportRequest {
|
||||
// Required. The name of the report to retrieve.
|
||||
//
|
||||
// Format: `projects/{project}/locations/{location}/reports/{report_id}`.
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "appoptimize.googleapis.com/Report"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Request message for the `ListReports` method.
|
||||
message ListReportsRequest {
|
||||
// Required. The parent project whose reports are to be listed.
|
||||
//
|
||||
// Format: `projects/{project}/locations/{location}`.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
child_type: "appoptimize.googleapis.com/Report"
|
||||
}
|
||||
];
|
||||
|
||||
// Optional. The maximum number of reports to return. The service may return
|
||||
// fewer than this value. If unspecified, the server will determine the number
|
||||
// of results to return.
|
||||
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. A page token, received from a previous `ListReports` call.
|
||||
// Provide this to retrieve the subsequent page.
|
||||
//
|
||||
// When paginating, all other parameters provided to `ListReports` must match
|
||||
// the call that provided the page token.
|
||||
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Response message for the `ListReports` method.
|
||||
message ListReportsResponse {
|
||||
// The list of reports.
|
||||
repeated Report reports = 1;
|
||||
|
||||
// A token that can be sent as `page_token` to retrieve the next page.
|
||||
// If this field is empty, there are no subsequent pages.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// Request message for the `DeleteReport` method.
|
||||
message DeleteReportRequest {
|
||||
// Required. The name of the report to delete.
|
||||
//
|
||||
// Format: `projects/{project}/locations/{location}/reports/{report_id}`.
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "appoptimize.googleapis.com/Report"
|
||||
}
|
||||
];
|
||||
|
||||
// Optional. If set to true, and the report is not found, the request will
|
||||
// succeed but no action will be taken on the server.
|
||||
bool allow_missing = 2 [(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Request message for the `ReadReport` method.
|
||||
message ReadReportRequest {
|
||||
// Required. The resource name of the report to query.
|
||||
//
|
||||
// Format: `projects/{project}/locations/{location}/reports/{report_id}`.
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "appoptimize.googleapis.com/Report"
|
||||
}
|
||||
];
|
||||
|
||||
// Optional. The maximum number of rows to return. The service may return
|
||||
// fewer than this value. If unspecified, at most 10,000 rows will be returned
|
||||
// per page. The maximum allowed value is 25,000; values above 25,000 are
|
||||
// coerced to 25,000.
|
||||
int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. A page token, received from a previous `ReadReport` call, to
|
||||
// retrieve the subsequent page of results. When `page_token` is specified,
|
||||
// `job_reference` must also be provided from the previous response, and the
|
||||
// `statement` field must not be set.
|
||||
string page_token = 5 [(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Response message for the `ReadReport` method.
|
||||
message ReadReportResponse {
|
||||
// A list of rows, where each row represents a record from the report.
|
||||
repeated google.protobuf.ListValue rows = 1;
|
||||
|
||||
// The columns describing the structure of the data in the `rows` field.
|
||||
repeated Column columns = 5;
|
||||
|
||||
// A token that can be sent as `page_token` in a subsequent `ReadReport`
|
||||
// request to retrieve the next page of results. If this field is empty,
|
||||
// there are no further pages.
|
||||
string next_page_token = 3;
|
||||
}
|
||||
|
||||
// Describes a single column within `Columns`.
|
||||
message Column {
|
||||
// The name of the column.
|
||||
//
|
||||
// This field:
|
||||
//
|
||||
// * Contains only letters (a-z, A-Z), numbers (0-9), or underscores (_);
|
||||
// * Start with a letter or underscore; and
|
||||
// * Has a maximum length is 128 characters.
|
||||
string name = 1;
|
||||
|
||||
// The data type of the column.
|
||||
//
|
||||
// Supported values include:
|
||||
//
|
||||
// * `STRING`
|
||||
// * `INT64`
|
||||
// * `FLOAT64`
|
||||
// * `BOOLEAN`
|
||||
// * `TIMESTAMP`
|
||||
// * `RECORD`
|
||||
//
|
||||
// `RECORD` indicates that the field contains a nested schema, described in
|
||||
// the `columns` property of this `Column`.
|
||||
string type = 2;
|
||||
|
||||
// The mode of the column, indicating if it is nullable, required, or
|
||||
// repeated.
|
||||
//
|
||||
// Possible values:
|
||||
//
|
||||
// * `NULLABLE`: The column allows NULL values.
|
||||
// * `REQUIRED`: The column does not allow NULL values.
|
||||
// * `REPEATED`: The column contains an array of values.
|
||||
string mode = 3;
|
||||
|
||||
// If the `type` of this column is `RECORD`, this sub-field describes the
|
||||
// nested structure.
|
||||
repeated Column columns = 4;
|
||||
}
|
||||
|
||||
// Represents metadata related to the creation of a Report. This value is
|
||||
// embedded in the Operation object returned by `CreateReport`.
|
||||
message OperationMetadata {}
|
||||
120
google/cloud/appoptimize/v1beta/appoptimize_v1beta.yaml
Normal file
120
google/cloud/appoptimize/v1beta/appoptimize_v1beta.yaml
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
type: google.api.Service
|
||||
config_version: 3
|
||||
name: appoptimize.googleapis.com
|
||||
title: App Optimize API
|
||||
|
||||
apis:
|
||||
- name: google.cloud.appoptimize.v1beta.AppOptimize
|
||||
- name: google.cloud.location.Locations
|
||||
- name: google.longrunning.Operations
|
||||
|
||||
types:
|
||||
- name: google.cloud.appoptimize.v1beta.OperationMetadata
|
||||
|
||||
documentation:
|
||||
summary: |-
|
||||
The App Optimize API provides developers and platform teams with tools to
|
||||
monitor, analyze, and improve the performance and cost-efficiency of their
|
||||
cloud applications.
|
||||
rules:
|
||||
- selector: google.cloud.location.Locations.GetLocation
|
||||
description: Gets information about a location.
|
||||
|
||||
- selector: google.cloud.location.Locations.ListLocations
|
||||
description: |-
|
||||
Lists information about the supported locations for this service.
|
||||
|
||||
This method lists locations based on the resource scope provided in
|
||||
the [ListLocationsRequest.name] field:
|
||||
|
||||
* **Global locations**: If `name` is empty, the method lists the
|
||||
public locations available to all projects. * **Project-specific
|
||||
locations**: If `name` follows the format
|
||||
`projects/{project}`, the method lists locations visible to that
|
||||
specific project. This includes public, private, or other
|
||||
project-specific locations enabled for the project.
|
||||
|
||||
For gRPC and client library implementations, the resource name is
|
||||
passed as the `name` field. For direct service calls, the resource
|
||||
name is
|
||||
incorporated into the request path based on the specific service
|
||||
implementation and version.
|
||||
|
||||
http:
|
||||
rules:
|
||||
- selector: google.cloud.location.Locations.GetLocation
|
||||
get: '/v1beta/{name=projects/*/locations/*}'
|
||||
- selector: google.cloud.location.Locations.ListLocations
|
||||
get: '/v1beta/{name=projects/*}/locations'
|
||||
- selector: google.longrunning.Operations.CancelOperation
|
||||
post: '/v1beta/{name=projects/*/locations/*/operations/*}:cancel'
|
||||
body: '*'
|
||||
- selector: google.longrunning.Operations.DeleteOperation
|
||||
delete: '/v1beta/{name=projects/*/locations/*/operations/*}'
|
||||
- selector: google.longrunning.Operations.GetOperation
|
||||
get: '/v1beta/{name=projects/*/locations/*/operations/*}'
|
||||
- selector: google.longrunning.Operations.ListOperations
|
||||
get: '/v1beta/{name=projects/*/locations/*}/operations'
|
||||
|
||||
authentication:
|
||||
rules:
|
||||
- selector: 'google.cloud.appoptimize.v1beta.AppOptimize.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform
|
||||
- selector: google.cloud.location.Locations.GetLocation
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform
|
||||
- selector: google.cloud.location.Locations.ListLocations
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform
|
||||
- selector: 'google.longrunning.Operations.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform
|
||||
|
||||
publishing:
|
||||
new_issue_uri: https://issuetracker.google.com/issues/new?component=190865&template=1161103
|
||||
documentation_uri: https://docs.cloud.google.com/app-optimize/overview
|
||||
api_short_name: appoptimize
|
||||
github_label: 'api: appoptimize'
|
||||
doc_tag_prefix: appoptimize
|
||||
organization: CLOUD
|
||||
library_settings:
|
||||
- version: google.cloud.appoptimize.v1beta
|
||||
launch_stage: BETA
|
||||
java_settings:
|
||||
common:
|
||||
destinations:
|
||||
- PACKAGE_MANAGER
|
||||
cpp_settings:
|
||||
common:
|
||||
destinations:
|
||||
- PACKAGE_MANAGER
|
||||
php_settings:
|
||||
common:
|
||||
destinations:
|
||||
- PACKAGE_MANAGER
|
||||
python_settings:
|
||||
common:
|
||||
destinations:
|
||||
- PACKAGE_MANAGER
|
||||
node_settings:
|
||||
common:
|
||||
destinations:
|
||||
- PACKAGE_MANAGER
|
||||
dotnet_settings:
|
||||
common:
|
||||
destinations:
|
||||
- PACKAGE_MANAGER
|
||||
ruby_settings:
|
||||
common:
|
||||
destinations:
|
||||
- PACKAGE_MANAGER
|
||||
go_settings:
|
||||
common:
|
||||
destinations:
|
||||
- PACKAGE_MANAGER
|
||||
proto_reference_documentation_uri: https://docs.cloud.google.com/app-optimize/overview
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"methodConfig": [{
|
||||
"name": [
|
||||
{ "service": "google.cloud.appoptimize.v1beta.AppOptimize", "method": "ListReports" },
|
||||
{ "service": "google.cloud.appoptimize.v1beta.AppOptimize", "method": "GetReport" },
|
||||
{ "service": "google.cloud.appoptimize.v1beta.AppOptimize", "method": "ReadReport" }
|
||||
],
|
||||
"timeout": "60s",
|
||||
"retryPolicy": {
|
||||
"maxAttempts": 5,
|
||||
"initialBackoff": "1s",
|
||||
"maxBackoff": "10s",
|
||||
"backoffMultiplier": 1.3,
|
||||
"retryableStatusCodes": ["UNAVAILABLE"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": [
|
||||
{ "service": "google.cloud.appoptimize.v1beta.AppOptimize", "method": "CreateReport" },
|
||||
{ "service": "google.cloud.appoptimize.v1beta.AppOptimize", "method": "DeleteReport" }
|
||||
],
|
||||
"timeout": "60s"
|
||||
}]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue