Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add Persistent Resource reboot api call to v1beta1 #5182

Merged
merged 20 commits into from
Apr 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
4699b3e
feat: add Vertex AI extension registry and execution related API and …
gcf-owl-bot[bot] Mar 26, 2024
d34c21c
🦉 Updates from OwlBot post-processor
gcf-owl-bot[bot] Mar 26, 2024
c39de1a
🦉 Updates from OwlBot post-processor
gcf-owl-bot[bot] Mar 26, 2024
6c02810
Merge branch 'owl-bot-copy-packages-google-cloud-aiplatform' of https…
gcf-owl-bot[bot] Mar 26, 2024
cdaad24
🦉 Updates from OwlBot post-processor
gcf-owl-bot[bot] Mar 26, 2024
9092456
Merge branch 'owl-bot-copy-packages-google-cloud-aiplatform' of https…
gcf-owl-bot[bot] Mar 26, 2024
7860499
feat: add several fields to manage state of database encryption update
gcf-owl-bot[bot] Mar 26, 2024
bb37956
🦉 Updates from OwlBot post-processor
gcf-owl-bot[bot] Mar 27, 2024
26cb7de
feat: add NotebookRuntime resource and APIs to public v1beta1 client …
gcf-owl-bot[bot] Mar 29, 2024
677cc8d
feat: add NotebookRuntime resource and APIs to public v1 client library
gcf-owl-bot[bot] Mar 30, 2024
7c2e2a0
🦉 Updates from OwlBot post-processor
gcf-owl-bot[bot] Mar 30, 2024
4d75f88
feat: A new field `presence_penalty` is added to message `.google.clo…
gcf-owl-bot[bot] Mar 30, 2024
400690d
fix!: An existing field `response_recall_input` is removed from messa…
gcf-owl-bot[bot] Mar 30, 2024
f899786
🦉 Updates from OwlBot post-processor
gcf-owl-bot[bot] Mar 30, 2024
c0732cf
feat: GenAiTuningService aiplatform v1 initial release
gcf-owl-bot[bot] Apr 1, 2024
ea73d2d
feat: add Persistent Resource reboot api call to v1beta1
gcf-owl-bot[bot] Apr 1, 2024
798314c
🦉 Updates from OwlBot post-processor
gcf-owl-bot[bot] Apr 1, 2024
1919fdd
Merge branch 'main' into owl-bot-copy-packages-google-cloud-aiplatform
sofisl Apr 10, 2024
2e9b2b1
chore: add new features to index.ts
sofisl Apr 10, 2024
a43c0cb
🦉 Updates from OwlBot post-processor
gcf-owl-bot[bot] Apr 10, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions packages/google-cloud-aiplatform/README.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -102,14 +102,15 @@ message Part {
}
}

// Raw media bytes.
// Content blob.
//
// Text should not be sent as raw bytes, use the 'text' field.
// It's preferred to send as [text][google.cloud.aiplatform.v1.Part.text]
// directly rather than raw bytes.
message Blob {
// Required. The IANA standard MIME type of the source data.
string mime_type = 1 [(google.api.field_behavior) = REQUIRED];

// Required. Raw bytes for media formats.
// Required. Raw bytes.
bytes data = 2 [(google.api.field_behavior) = REQUIRED];
}

Expand Down Expand Up @@ -152,6 +153,21 @@ message GenerationConfig {

// Optional. Stop sequences.
repeated string stop_sequences = 6 [(google.api.field_behavior) = OPTIONAL];

// Optional. Positive penalties.
optional float presence_penalty = 8 [(google.api.field_behavior) = OPTIONAL];

// Optional. Frequency penalties.
optional float frequency_penalty = 9 [(google.api.field_behavior) = OPTIONAL];

// Optional. Output response mimetype of the generated candidate text.
// Supported mimetype:
// - `text/plain`: (default) Text output.
// - `application/json`: JSON response in the candidates.
// The model needs to be prompted to output the appropriate response type,
// otherwise the behavior is undefined.
// This is a preview feature.
string response_mime_type = 13 [(google.api.field_behavior) = OPTIONAL];
}

// Safety settings.
Expand All @@ -174,11 +190,27 @@ message SafetySetting {
BLOCK_NONE = 4;
}

// Probability vs severity.
enum HarmBlockMethod {
// The harm block method is unspecified.
HARM_BLOCK_METHOD_UNSPECIFIED = 0;

// The harm block method uses both probability and severity scores.
SEVERITY = 1;

// The harm block method uses the probability score.
PROBABILITY = 2;
}

// Required. Harm category.
HarmCategory category = 1 [(google.api.field_behavior) = REQUIRED];

// Required. The harm block threshold.
HarmBlockThreshold threshold = 2 [(google.api.field_behavior) = REQUIRED];

// Optional. Specify if the threshold is used for probability or severity
// score. If not specified, the threshold is used for probability score.
HarmBlockMethod method = 4 [(google.api.field_behavior) = OPTIONAL];
}

// Safety rating corresponding to the generated content.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,20 @@ message CustomJob {

// Represents the spec of a CustomJob.
message CustomJobSpec {
// Optional. The ID of the PersistentResource in the same Project and Location
// which to run
//
// If this is specified, the job will be run on existing machines held by the
// PersistentResource instead of on-demand short-live machines.
// The network and CMEK configs on the job should be consistent with those on
// the PersistentResource, otherwise, the job will be rejected.
string persistent_resource_id = 14 [
(google.api.field_behavior) = OPTIONAL,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/PersistentResource"
}
];

// Required. The spec of the worker pools including machine type and Docker
// image. All worker pools except the first one are optional and can be
// skipped by providing an empty value.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,13 @@ message DeployedModel {
// will be used for the explanation configuration.
ExplanationSpec explanation_spec = 9;

// If true, deploy the model without explainable feature, regardless the
// existence of
// [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec]
// or
// [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec].
bool disable_explanations = 19;

// The service account that the DeployedModel's container runs as. Specify the
// email address of the service account. If this service account is not
// specified, the container runs as a service account that doesn't have access
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -211,9 +211,8 @@ message ListEndpointsRequest {
// names both snake_case and camelCase are supported.
//
// * `endpoint` supports `=` and `!=`. `endpoint` represents the Endpoint
// ID,
// i.e. the last segment of the Endpoint's [resource
// name][google.cloud.aiplatform.v1.Endpoint.name].
// ID, i.e. the last segment of the Endpoint's
// [resource name][google.cloud.aiplatform.v1.Endpoint.name].
// * `display_name` supports `=` and `!=`.
// * `labels` supports general map functions that is:
// * `labels.key=value` - key:value equality
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
// Copyright 2024 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.aiplatform.v1;

import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/cloud/aiplatform/v1/tuning_job.proto";
import "google/protobuf/empty.proto";

option csharp_namespace = "Google.Cloud.AIPlatform.V1";
option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb";
option java_multiple_files = true;
option java_outer_classname = "GenAiTuningServiceProto";
option java_package = "com.google.cloud.aiplatform.v1";
option php_namespace = "Google\\Cloud\\AIPlatform\\V1";
option ruby_package = "Google::Cloud::AIPlatform::V1";

// A service for creating and managing GenAI Tuning Jobs.
service GenAiTuningService {
option (google.api.default_host) = "aiplatform.googleapis.com";
option (google.api.oauth_scopes) =
"https://www.googleapis.com/auth/cloud-platform";

// Creates a TuningJob. A created TuningJob right away will be attempted to
// be run.
rpc CreateTuningJob(CreateTuningJobRequest) returns (TuningJob) {
option (google.api.http) = {
post: "/v1/{parent=projects/*/locations/*}/tuningJobs"
body: "tuning_job"
};
option (google.api.method_signature) = "parent,tuning_job";
}

// Gets a TuningJob.
rpc GetTuningJob(GetTuningJobRequest) returns (TuningJob) {
option (google.api.http) = {
get: "/v1/{name=projects/*/locations/*/tuningJobs/*}"
};
option (google.api.method_signature) = "name";
}

// Lists TuningJobs in a Location.
rpc ListTuningJobs(ListTuningJobsRequest) returns (ListTuningJobsResponse) {
option (google.api.http) = {
get: "/v1/{parent=projects/*/locations/*}/tuningJobs"
};
option (google.api.method_signature) = "parent";
}

// Cancels a TuningJob.
// Starts asynchronous cancellation on the TuningJob. The server makes a best
// effort to cancel the job, but success is not guaranteed. Clients can use
// [GenAiTuningService.GetTuningJob][google.cloud.aiplatform.v1.GenAiTuningService.GetTuningJob]
// or other methods to check whether the cancellation succeeded or whether the
// job completed despite cancellation. On successful cancellation, the
// TuningJob is not deleted; instead it becomes a job with a
// [TuningJob.error][google.cloud.aiplatform.v1.TuningJob.error] value with a
// [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to
// `Code.CANCELLED`, and
// [TuningJob.state][google.cloud.aiplatform.v1.TuningJob.state] is set to
// `CANCELLED`.
rpc CancelTuningJob(CancelTuningJobRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/*/tuningJobs/*}:cancel"
body: "*"
};
option (google.api.method_signature) = "name";
}
}

// Request message for
// [GenAiTuningService.CreateTuningJob][google.cloud.aiplatform.v1.GenAiTuningService.CreateTuningJob].
message CreateTuningJobRequest {
// Required. The resource name of the Location to create the TuningJob in.
// Format: `projects/{project}/locations/{location}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "locations.googleapis.com/Location"
}
];

// Required. The TuningJob to create.
TuningJob tuning_job = 2 [(google.api.field_behavior) = REQUIRED];
}

// Request message for
// [GenAiTuningService.GetTuningJob][google.cloud.aiplatform.v1.GenAiTuningService.GetTuningJob].
message GetTuningJobRequest {
// Required. The name of the TuningJob resource. Format:
// `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/TuningJob"
}
];
}

// Request message for
// [GenAiTuningService.ListTuningJobs][google.cloud.aiplatform.v1.GenAiTuningService.ListTuningJobs].
message ListTuningJobsRequest {
// Required. The resource name of the Location to list the TuningJobs from.
// Format: `projects/{project}/locations/{location}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "locations.googleapis.com/Location"
}
];

// Optional. The standard list filter.
string filter = 2 [(google.api.field_behavior) = OPTIONAL];

// Optional. The standard list page size.
int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];

// Optional. The standard list page token.
// Typically obtained via [ListTuningJob.next_page_token][] of the
// previous GenAiTuningService.ListTuningJob][] call.
string page_token = 4 [(google.api.field_behavior) = OPTIONAL];
}

// Response message for
// [GenAiTuningService.ListTuningJobs][google.cloud.aiplatform.v1.GenAiTuningService.ListTuningJobs]
message ListTuningJobsResponse {
// List of TuningJobs in the requested page.
repeated TuningJob tuning_jobs = 1;

// A token to retrieve the next page of results.
// Pass to
// [ListTuningJobsRequest.page_token][google.cloud.aiplatform.v1.ListTuningJobsRequest.page_token]
// to obtain that page.
string next_page_token = 2;
}

// Request message for
// [GenAiTuningService.CancelTuningJob][google.cloud.aiplatform.v1.GenAiTuningService.CancelTuningJob].
message CancelTuningJobRequest {
// Required. The name of the TuningJob to cancel. Format:
// `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/TuningJob"
}
];
}
Original file line number Diff line number Diff line change
Expand Up @@ -232,3 +232,17 @@ message AutoscalingMetricSpec {
// (representing 60%) if not provided.
int32 target = 2;
}

// A set of Shielded Instance options.
// See [Images using supported Shielded VM
// features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
message ShieldedVmConfig {
// Defines whether the instance has [Secure
// Boot](https://cloud.google.com/compute/shielded-vm/docs/shielded-vm#secure-boot)
// enabled.
//
// Secure Boot helps ensure that the system only runs authentic software by
// verifying the digital signature of all boot components, and halting the
// boot process if signature verification fails.
bool enable_secure_boot = 1;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
// 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.
// 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.aiplatform.v1;

import "google/api/resource.proto";

option csharp_namespace = "Google.Cloud.AIPlatform.V1";
option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb";
option java_multiple_files = true;
option java_outer_classname = "NetworkSpecProto";
option java_package = "com.google.cloud.aiplatform.v1";
option php_namespace = "Google\\Cloud\\AIPlatform\\V1";
option ruby_package = "Google::Cloud::AIPlatform::V1";
option (google.api.resource_definition) = {
type: "compute.googleapis.com/Subnetwork"
pattern: "projects/{project}/regions/{region}/subnetworks/{subnetwork}"
};

// Network spec.
message NetworkSpec {
// Whether to enable public internet access. Default false.
bool enable_internet_access = 1;

// The full name of the Google Compute Engine
// [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks)
string network = 2 [
(google.api.resource_reference) = { type: "compute.googleapis.com/Network" }
];

// The name of the subnet that this instance is in.
// Format:
// `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}`
string subnetwork = 3 [(google.api.resource_reference) = {
type: "compute.googleapis.com/Subnetwork"
}];
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// 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.
// 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.aiplatform.v1;

import "google/api/field_behavior.proto";

option csharp_namespace = "Google.Cloud.AIPlatform.V1";
option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb";
option java_multiple_files = true;
option java_outer_classname = "NotebookEucConfigProto";
option java_package = "com.google.cloud.aiplatform.v1";
option php_namespace = "Google\\Cloud\\AIPlatform\\V1";
option ruby_package = "Google::Cloud::AIPlatform::V1";

// The euc configuration of NotebookRuntimeTemplate.
message NotebookEucConfig {
// Input only. Whether EUC is disabled in this NotebookRuntimeTemplate.
// In proto3, the default value of a boolean is false. In this way, by default
// EUC will be enabled for NotebookRuntimeTemplate.
bool euc_disabled = 1 [(google.api.field_behavior) = INPUT_ONLY];

// Output only. Whether ActAs check is bypassed for service account attached
// to the VM. If false, we need ActAs check for the default Compute Engine
// Service account. When a Runtime is created, a VM is allocated using Default
// Compute Engine Service Account. Any user requesting to use this Runtime
// requires Service Account User (ActAs) permission over this SA. If true,
// Runtime owner is using EUC and does not require the above permission as VM
// no longer use default Compute Engine SA, but a P4SA.
bool bypass_actas_check = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
}
Loading
Loading