protos/sqlserveragent/sqlserveragentconfig.proto (89 lines of code) (raw):

/* 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 https://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. */ // sqlserveragentconfig.proto // Definition of the GC SQL Server agent protocol buffer. syntax = "proto3"; package workloadagent.protos.sqlserveragent; option go_package = "github.com/GoogleCloudPlatform/workloadagent/protos/sqlserveragent"; message Configuration { CollectionConfiguration collection_configuration = 1; repeated CredentialConfiguration credential_configuration = 2; // default logging is INFO level string log_level = 3; // default is 10 seconds int32 collection_timeout_seconds = 4; // default max_retries is 3 int32 max_retries = 5; // default retry_interval is 3600 int32 retry_interval_in_seconds = 6; // default remote collection is false bool remote_collection = 7; // default log_to_cloud is false bool log_to_cloud = 8; // default log_usage is false bool disable_log_usage = 9; } message CollectionConfiguration { // defaults to True // enables or disables guest os collection bool collect_guest_os_metrics = 1; // defaults to 3600 (1 hour) // guest os metrics collection interval int32 guest_os_metrics_collection_interval_in_seconds = 2; // defaultsto True // enables or disables SQL Server collection bool collect_sql_metrics = 3; // defaults to 3600 (1 hour) // SQL Server metrics collection interval int32 sql_metrics_collection_interval_in_seconds = 4; } message CredentialConfiguration { message SqlCredentials { // host name for SQL Server connection string host = 1; // full user name for SQL Server connection string user_name = 2; // credential secret name stored in secrets manager string secret_name = 3; // defaults to 1433 int32 port_number = 4; } message GuestCredentialsRemoteWin { // full server name string server_name = 1; // full user name for guest collection string guest_user_name = 2; // credential secret name stored in secrets manager string guest_secret_name = 3; } message GuestCredentialsRemoteLinux { // full server name string server_name = 1; // full user name for guest collection string guest_user_name = 2; // credential secret name stored in secrets manager int32 guest_port_number = 3; // private key for linux remote collection string linux_ssh_private_key_path = 4; } // instance_name of target machine, typically the remote machine string instance_name = 5; // instance_idof target machine, typically the remote machine string instance_id = 6; repeated SqlCredentials sql_configurations = 7; oneof guest_configurations { bool local_collection = 8; GuestCredentialsRemoteWin remote_win = 9; GuestCredentialsRemoteLinux remote_linux = 10; } }