mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-14 12:42:59 +02:00
feat: Add OAuth flow RPCs (StartOAuth, FinishOAuth) feat: Add Gemini Code Assist GitHub App type feat: Add HTTP Proxy base URI field feat: Add Deployment Events to Insights API (GetDeploymentEvent, ListDeploymentEvents) feat: Add Cloud Run and App Hub Service runtimes to InsightsConfig feat: Add Projects field to InsightsConfig for project tracking feat: A new message `google.cloud.developerconnect.v1.GenericHTTPEndpointConfig` is added feat: A new message `google.cloud.developerconnect.v1.SecureSourceManagerInstanceConfig` is added feat: A new message `google.cloud.developerconnect.v1.StartOAuthRequest` is added feat: A new message `google.cloud.developerconnect.v1.StartOAuthResponse` is added feat: A new message `google.cloud.developerconnect.v1.FinishOAuthRequest` is added feat: A new message `google.cloud.developerconnect.v1.FinishOAuthResponse` is added feat: A new message `google.cloud.developerconnect.v1.insights.Projects` is added feat: A new message `google.cloud.developerconnect.v1.insights.GoogleCloudRun` is added feat: A new message `google.cloud.developerconnect.v1.insights.AppHubService` is added feat: A new message `google.cloud.developerconnect.v1.insights.DeploymentEvent` is added feat: A new message `google.cloud.developerconnect.v1.insights.GetDeploymentEventRequest` is added feat: A new message `google.cloud.developerconnect.v1.insights.ListDeploymentEventsRequest` is added feat: A new message `google.cloud.developerconnect.v1.insights.ListDeploymentEventsResponse` is added feat: A new message `google.cloud.developerconnect.v1.insights.ArtifactDeployment` is added feat: A new field `secure_source_manager_instance_config` is added to message `google.cloud.developerconnect.v1.Connection` feat: A new field `http_config` is added to message `google.cloud.developerconnect.v1.Connection` feat: A new field `http_proxy_base_uri` is added to message `google.cloud.developerconnect.v1.HTTPProxyConfig` feat: A new enum value `GEMINI_CODE_ASSIST` is added to enum `google.cloud.developerconnect.v1.GitHubConfig.GitHubApp` feat: A new field `organization` is added to message `google.cloud.developerconnect.v1.GitHubEnterpriseConfig` feat: A new field `projects` is added to message `google.cloud.developerconnect.v1.insights.InsightsConfig` feat: A new field `google_cloud_run` is added to message `google.cloud.developerconnect.v1.insights.RuntimeConfig` feat: A new field `app_hub_service` is added to message `google.cloud.developerconnect.v1.insights.RuntimeConfig` docs: Updated comments to include regional secret patterns for SecretManager fields in `GitHubConfig`, `OAuthCredential`, `UserCredential`, `GitLabConfig`, `GitLabEnterpriseConfig`, `BitbucketDataCenterConfig`, and `BitbucketCloudConfig` docs: Updated comment for `CreateGitRepositoryLink` RPC in `google.cloud.developerconnect.v1.DeveloperConnect` docs: Updated description for `google.cloud.location.Locations.ListLocations` in YAML docs: Corrected typos in comments for `google.cloud.developerconnect.v1.insights.InsightsConfig` and `google.cloud.developerconnect.v1.insights.ArtifactConfig` PiperOrigin-RevId: 872542190
1952 lines
74 KiB
Protocol Buffer
1952 lines
74 KiB
Protocol Buffer
// 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.developerconnect.v1;
|
||
|
||
import "google/api/annotations.proto";
|
||
import "google/api/client.proto";
|
||
import "google/api/field_behavior.proto";
|
||
import "google/api/field_info.proto";
|
||
import "google/api/resource.proto";
|
||
import "google/longrunning/operations.proto";
|
||
import "google/protobuf/empty.proto";
|
||
import "google/protobuf/field_mask.proto";
|
||
import "google/protobuf/timestamp.proto";
|
||
|
||
option csharp_namespace = "Google.Cloud.DeveloperConnect.V1";
|
||
option go_package = "cloud.google.com/go/developerconnect/apiv1/developerconnectpb;developerconnectpb";
|
||
option java_multiple_files = true;
|
||
option java_outer_classname = "DeveloperConnectProto";
|
||
option java_package = "com.google.cloud.developerconnect.v1";
|
||
option objc_class_prefix = "DeveloperConnect";
|
||
option php_namespace = "Google\\Cloud\\DeveloperConnect\\V1";
|
||
option ruby_package = "Google::Cloud::DeveloperConnect::V1";
|
||
option (google.api.resource_definition) = {
|
||
type: "secretmanager.googleapis.com/SecretVersion"
|
||
pattern: "projects/{project}/secrets/{secret}/versions/{secret_version}"
|
||
pattern: "projects/{project}/locations/{location}/secrets/{secret}/versions/{secret_version}"
|
||
};
|
||
option (google.api.resource_definition) = {
|
||
type: "cloudkms.googleapis.com/CryptoKey"
|
||
pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}"
|
||
};
|
||
option (google.api.resource_definition) = {
|
||
type: "servicedirectory.googleapis.com/Service"
|
||
pattern: "projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}"
|
||
};
|
||
option (google.api.resource_definition) = {
|
||
type: "securesourcemanager.googleapis.com/Instance"
|
||
pattern: "projects/{project}/locations/{location}/instances/{instance}"
|
||
};
|
||
|
||
// Service describing handlers for resources
|
||
service DeveloperConnect {
|
||
option (google.api.default_host) = "developerconnect.googleapis.com";
|
||
option (google.api.oauth_scopes) =
|
||
"https://www.googleapis.com/auth/cloud-platform";
|
||
|
||
// Lists Connections in a given project and location.
|
||
rpc ListConnections(ListConnectionsRequest)
|
||
returns (ListConnectionsResponse) {
|
||
option (google.api.http) = {
|
||
get: "/v1/{parent=projects/*/locations/*}/connections"
|
||
};
|
||
option (google.api.method_signature) = "parent";
|
||
}
|
||
|
||
// Gets details of a single Connection.
|
||
rpc GetConnection(GetConnectionRequest) returns (Connection) {
|
||
option (google.api.http) = {
|
||
get: "/v1/{name=projects/*/locations/*/connections/*}"
|
||
};
|
||
option (google.api.method_signature) = "name";
|
||
}
|
||
|
||
// Creates a new Connection in a given project and location.
|
||
rpc CreateConnection(CreateConnectionRequest)
|
||
returns (google.longrunning.Operation) {
|
||
option (google.api.http) = {
|
||
post: "/v1/{parent=projects/*/locations/*}/connections"
|
||
body: "connection"
|
||
};
|
||
option (google.api.method_signature) = "parent,connection,connection_id";
|
||
option (google.longrunning.operation_info) = {
|
||
response_type: "Connection"
|
||
metadata_type: "OperationMetadata"
|
||
};
|
||
}
|
||
|
||
// Updates the parameters of a single Connection.
|
||
rpc UpdateConnection(UpdateConnectionRequest)
|
||
returns (google.longrunning.Operation) {
|
||
option (google.api.http) = {
|
||
patch: "/v1/{connection.name=projects/*/locations/*/connections/*}"
|
||
body: "connection"
|
||
};
|
||
option (google.api.method_signature) = "connection,update_mask";
|
||
option (google.longrunning.operation_info) = {
|
||
response_type: "Connection"
|
||
metadata_type: "OperationMetadata"
|
||
};
|
||
}
|
||
|
||
// Deletes a single Connection.
|
||
rpc DeleteConnection(DeleteConnectionRequest)
|
||
returns (google.longrunning.Operation) {
|
||
option (google.api.http) = {
|
||
delete: "/v1/{name=projects/*/locations/*/connections/*}"
|
||
};
|
||
option (google.api.method_signature) = "name";
|
||
option (google.longrunning.operation_info) = {
|
||
response_type: "google.protobuf.Empty"
|
||
metadata_type: "OperationMetadata"
|
||
};
|
||
}
|
||
|
||
// Creates a GitRepositoryLink. Upon linking a Git Repository, Developer
|
||
// Connect will configure the Git Repository to send webhook events to
|
||
// Developer Connect. Connections that use Firebase GitHub Application will
|
||
// have events forwarded to the Firebase service. Connections that use Gemini
|
||
// Code Assist will have events forwarded to Gemini Code Assist service. All
|
||
// other Connections will have events forwarded to Cloud Build.
|
||
rpc CreateGitRepositoryLink(CreateGitRepositoryLinkRequest)
|
||
returns (google.longrunning.Operation) {
|
||
option (google.api.http) = {
|
||
post: "/v1/{parent=projects/*/locations/*/connections/*}/gitRepositoryLinks"
|
||
body: "git_repository_link"
|
||
};
|
||
option (google.api.method_signature) =
|
||
"parent,git_repository_link,git_repository_link_id";
|
||
option (google.longrunning.operation_info) = {
|
||
response_type: "GitRepositoryLink"
|
||
metadata_type: "OperationMetadata"
|
||
};
|
||
}
|
||
|
||
// Deletes a single GitRepositoryLink.
|
||
rpc DeleteGitRepositoryLink(DeleteGitRepositoryLinkRequest)
|
||
returns (google.longrunning.Operation) {
|
||
option (google.api.http) = {
|
||
delete: "/v1/{name=projects/*/locations/*/connections/*/gitRepositoryLinks/*}"
|
||
};
|
||
option (google.api.method_signature) = "name";
|
||
option (google.longrunning.operation_info) = {
|
||
response_type: "google.protobuf.Empty"
|
||
metadata_type: "OperationMetadata"
|
||
};
|
||
}
|
||
|
||
// Lists GitRepositoryLinks in a given project, location, and connection.
|
||
rpc ListGitRepositoryLinks(ListGitRepositoryLinksRequest)
|
||
returns (ListGitRepositoryLinksResponse) {
|
||
option (google.api.http) = {
|
||
get: "/v1/{parent=projects/*/locations/*/connections/*}/gitRepositoryLinks"
|
||
};
|
||
option (google.api.method_signature) = "parent";
|
||
}
|
||
|
||
// Gets details of a single GitRepositoryLink.
|
||
rpc GetGitRepositoryLink(GetGitRepositoryLinkRequest)
|
||
returns (GitRepositoryLink) {
|
||
option (google.api.http) = {
|
||
get: "/v1/{name=projects/*/locations/*/connections/*/gitRepositoryLinks/*}"
|
||
};
|
||
option (google.api.method_signature) = "name";
|
||
}
|
||
|
||
// Fetches read/write token of a given gitRepositoryLink.
|
||
rpc FetchReadWriteToken(FetchReadWriteTokenRequest)
|
||
returns (FetchReadWriteTokenResponse) {
|
||
option (google.api.http) = {
|
||
post: "/v1/{git_repository_link=projects/*/locations/*/connections/*/gitRepositoryLinks/*}:fetchReadWriteToken"
|
||
body: "*"
|
||
};
|
||
option (google.api.method_signature) = "git_repository_link";
|
||
}
|
||
|
||
// Fetches read token of a given gitRepositoryLink.
|
||
rpc FetchReadToken(FetchReadTokenRequest) returns (FetchReadTokenResponse) {
|
||
option (google.api.http) = {
|
||
post: "/v1/{git_repository_link=projects/*/locations/*/connections/*/gitRepositoryLinks/*}:fetchReadToken"
|
||
body: "*"
|
||
};
|
||
option (google.api.method_signature) = "git_repository_link";
|
||
}
|
||
|
||
// FetchLinkableGitRepositories returns a list of git repositories from an SCM
|
||
// that are available to be added to a Connection.
|
||
rpc FetchLinkableGitRepositories(FetchLinkableGitRepositoriesRequest)
|
||
returns (FetchLinkableGitRepositoriesResponse) {
|
||
option (google.api.http) = {
|
||
get: "/v1/{connection=projects/*/locations/*/connections/*}:fetchLinkableGitRepositories"
|
||
};
|
||
option (google.api.method_signature) = "connection";
|
||
}
|
||
|
||
// FetchGitHubInstallations returns the list of GitHub Installations that
|
||
// are available to be added to a Connection.
|
||
// For github.com, only installations accessible to the authorizer token
|
||
// are returned. For GitHub Enterprise, all installations are returned.
|
||
rpc FetchGitHubInstallations(FetchGitHubInstallationsRequest)
|
||
returns (FetchGitHubInstallationsResponse) {
|
||
option (google.api.http) = {
|
||
get: "/v1/{connection=projects/*/locations/*/connections/*}:fetchGitHubInstallations"
|
||
};
|
||
option (google.api.method_signature) = "connection";
|
||
}
|
||
|
||
// Fetch the list of branches or tags for a given repository.
|
||
rpc FetchGitRefs(FetchGitRefsRequest) returns (FetchGitRefsResponse) {
|
||
option (google.api.http) = {
|
||
get: "/v1/{git_repository_link=projects/*/locations/*/connections/*/gitRepositoryLinks/*}:fetchGitRefs"
|
||
};
|
||
option (google.api.method_signature) = "git_repository_link,ref_type";
|
||
}
|
||
|
||
// Lists AccountConnectors in a given project and location.
|
||
rpc ListAccountConnectors(ListAccountConnectorsRequest)
|
||
returns (ListAccountConnectorsResponse) {
|
||
option (google.api.http) = {
|
||
get: "/v1/{parent=projects/*/locations/*}/accountConnectors"
|
||
};
|
||
option (google.api.method_signature) = "parent";
|
||
}
|
||
|
||
// Gets details of a single AccountConnector.
|
||
rpc GetAccountConnector(GetAccountConnectorRequest)
|
||
returns (AccountConnector) {
|
||
option (google.api.http) = {
|
||
get: "/v1/{name=projects/*/locations/*/accountConnectors/*}"
|
||
};
|
||
option (google.api.method_signature) = "name";
|
||
}
|
||
|
||
// Creates a new AccountConnector in a given project and location.
|
||
rpc CreateAccountConnector(CreateAccountConnectorRequest)
|
||
returns (google.longrunning.Operation) {
|
||
option (google.api.http) = {
|
||
post: "/v1/{parent=projects/*/locations/*}/accountConnectors"
|
||
body: "account_connector"
|
||
};
|
||
option (google.api.method_signature) =
|
||
"parent,account_connector,account_connector_id";
|
||
option (google.longrunning.operation_info) = {
|
||
response_type: "AccountConnector"
|
||
metadata_type: "OperationMetadata"
|
||
};
|
||
}
|
||
|
||
// Updates the parameters of a single AccountConnector.
|
||
rpc UpdateAccountConnector(UpdateAccountConnectorRequest)
|
||
returns (google.longrunning.Operation) {
|
||
option (google.api.http) = {
|
||
patch: "/v1/{account_connector.name=projects/*/locations/*/accountConnectors/*}"
|
||
body: "account_connector"
|
||
};
|
||
option (google.api.method_signature) = "account_connector,update_mask";
|
||
option (google.longrunning.operation_info) = {
|
||
response_type: "AccountConnector"
|
||
metadata_type: "OperationMetadata"
|
||
};
|
||
}
|
||
|
||
// Deletes a single AccountConnector.
|
||
rpc DeleteAccountConnector(DeleteAccountConnectorRequest)
|
||
returns (google.longrunning.Operation) {
|
||
option (google.api.http) = {
|
||
delete: "/v1/{name=projects/*/locations/*/accountConnectors/*}"
|
||
};
|
||
option (google.api.method_signature) = "name";
|
||
option (google.longrunning.operation_info) = {
|
||
response_type: "google.protobuf.Empty"
|
||
metadata_type: "OperationMetadata"
|
||
};
|
||
}
|
||
|
||
// Fetches OAuth access token based on end user credentials.
|
||
rpc FetchAccessToken(FetchAccessTokenRequest)
|
||
returns (FetchAccessTokenResponse) {
|
||
option (google.api.http) = {
|
||
post: "/v1/{account_connector=projects/*/locations/*/accountConnectors/*}/users:fetchAccessToken"
|
||
body: "*"
|
||
};
|
||
option (google.api.method_signature) = "account_connector";
|
||
}
|
||
|
||
// Lists Users in a given project, location, and account_connector.
|
||
rpc ListUsers(ListUsersRequest) returns (ListUsersResponse) {
|
||
option (google.api.http) = {
|
||
get: "/v1/{parent=projects/*/locations/*/accountConnectors/*}/users"
|
||
};
|
||
option (google.api.method_signature) = "parent";
|
||
}
|
||
|
||
// Deletes a single User.
|
||
rpc DeleteUser(DeleteUserRequest) returns (google.longrunning.Operation) {
|
||
option (google.api.http) = {
|
||
delete: "/v1/{name=projects/*/locations/*/accountConnectors/*/users/*}"
|
||
};
|
||
option (google.api.method_signature) = "name";
|
||
option (google.longrunning.operation_info) = {
|
||
response_type: "google.protobuf.Empty"
|
||
metadata_type: "OperationMetadata"
|
||
};
|
||
}
|
||
|
||
// Fetch the User based on the user credentials.
|
||
rpc FetchSelf(FetchSelfRequest) returns (User) {
|
||
option (google.api.http) = {
|
||
get: "/v1/{name=projects/*/locations/*/accountConnectors/*}/users:fetchSelf"
|
||
};
|
||
option (google.api.method_signature) = "name";
|
||
}
|
||
|
||
// Delete the User based on the user credentials.
|
||
rpc DeleteSelf(DeleteSelfRequest) returns (google.longrunning.Operation) {
|
||
option (google.api.http) = {
|
||
delete: "/v1/{name=projects/*/locations/*/accountConnectors/*}/users:deleteSelf"
|
||
};
|
||
option (google.api.method_signature) = "name";
|
||
option (google.longrunning.operation_info) = {
|
||
response_type: "google.protobuf.Empty"
|
||
metadata_type: "OperationMetadata"
|
||
};
|
||
}
|
||
|
||
// Starts OAuth flow for an account connector.
|
||
rpc StartOAuth(StartOAuthRequest) returns (StartOAuthResponse) {
|
||
option (google.api.http) = {
|
||
get: "/v1/{account_connector=projects/*/locations/*/accountConnectors/*}/users:startOAuthFlow"
|
||
};
|
||
option (google.api.method_signature) = "account_connector";
|
||
}
|
||
|
||
// Finishes OAuth flow for an account connector.
|
||
rpc FinishOAuth(FinishOAuthRequest) returns (FinishOAuthResponse) {
|
||
option (google.api.http) = {
|
||
get: "/v1/{account_connector=projects/*/locations/*/accountConnectors/*}/users:finishOAuthFlow"
|
||
};
|
||
option (google.api.method_signature) = "account_connector";
|
||
}
|
||
}
|
||
|
||
// SystemProvider is a list of providers that are owned by Developer Connect.
|
||
enum SystemProvider {
|
||
// No system provider specified.
|
||
SYSTEM_PROVIDER_UNSPECIFIED = 0;
|
||
|
||
// GitHub provider.
|
||
// Scopes can be found at
|
||
// https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes
|
||
GITHUB = 1;
|
||
|
||
// GitLab provider.
|
||
// Scopes can be found at
|
||
// https://docs.gitlab.com/user/profile/personal_access_tokens/#personal-access-token-scopes
|
||
GITLAB = 2;
|
||
|
||
// Google provider.
|
||
// Recommended scopes:
|
||
// "https://www.googleapis.com/auth/drive.readonly",
|
||
// "https://www.googleapis.com/auth/documents.readonly"
|
||
GOOGLE = 3;
|
||
|
||
// Sentry provider.
|
||
// Scopes can be found at
|
||
// https://docs.sentry.io/api/permissions/
|
||
SENTRY = 4;
|
||
|
||
// Rovo provider.
|
||
// Must select the "rovo" scope.
|
||
ROVO = 5;
|
||
|
||
// New Relic provider.
|
||
// No scopes are allowed.
|
||
NEW_RELIC = 6;
|
||
|
||
// Datastax provider.
|
||
// No scopes are allowed.
|
||
DATASTAX = 7;
|
||
|
||
// Dynatrace provider.
|
||
DYNATRACE = 8;
|
||
}
|
||
|
||
// Message for requesting a list of Users
|
||
message ListUsersRequest {
|
||
// Required. Parent value for ListUsersRequest
|
||
string parent = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
child_type: "developerconnect.googleapis.com/User"
|
||
}
|
||
];
|
||
|
||
// Optional. Requested page size. Server may return fewer items than
|
||
// requested. If unspecified, server will pick an appropriate default.
|
||
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. A token identifying a page of results the server should return.
|
||
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. Filtering results
|
||
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. Hint for how to order the results
|
||
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Message for response to listing Users
|
||
message ListUsersResponse {
|
||
// The list of Users
|
||
repeated User users = 1;
|
||
|
||
// A token identifying a page of results the server should return.
|
||
string next_page_token = 2;
|
||
|
||
// Locations that could not be reached.
|
||
repeated string unreachable = 3;
|
||
}
|
||
|
||
// Message describing Connection object
|
||
message Connection {
|
||
option (google.api.resource) = {
|
||
type: "developerconnect.googleapis.com/Connection"
|
||
pattern: "projects/{project}/locations/{location}/connections/{connection}"
|
||
plural: "connections"
|
||
singular: "connection"
|
||
style: DECLARATIVE_FRIENDLY
|
||
};
|
||
|
||
// Configuration for the connection depending on the type of provider.
|
||
oneof connection_config {
|
||
// Configuration for connections to github.com.
|
||
GitHubConfig github_config = 5;
|
||
|
||
// Configuration for connections to an instance of GitHub Enterprise.
|
||
GitHubEnterpriseConfig github_enterprise_config = 13;
|
||
|
||
// Configuration for connections to gitlab.com.
|
||
GitLabConfig gitlab_config = 14;
|
||
|
||
// Configuration for connections to an instance of GitLab Enterprise.
|
||
GitLabEnterpriseConfig gitlab_enterprise_config = 16;
|
||
|
||
// Configuration for connections to an instance of Bitbucket Data Center.
|
||
BitbucketDataCenterConfig bitbucket_data_center_config = 17;
|
||
|
||
// Configuration for connections to an instance of Bitbucket Clouds.
|
||
BitbucketCloudConfig bitbucket_cloud_config = 18;
|
||
|
||
// Configuration for connections to an instance of Secure Source Manager.
|
||
SecureSourceManagerInstanceConfig secure_source_manager_instance_config =
|
||
20;
|
||
|
||
// Optional. Configuration for connections to an HTTP service provider.
|
||
GenericHTTPEndpointConfig http_config = 21
|
||
[(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Identifier. The resource name of the connection, in the format
|
||
// `projects/{project}/locations/{location}/connections/{connection_id}`.
|
||
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
||
|
||
// Output only. [Output only] Create timestamp
|
||
google.protobuf.Timestamp create_time = 2
|
||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. [Output only] Update timestamp
|
||
google.protobuf.Timestamp update_time = 3
|
||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. [Output only] Delete timestamp
|
||
google.protobuf.Timestamp delete_time = 11
|
||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Optional. Labels as key value pairs
|
||
map<string, string> labels = 4 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Output only. Installation state of the Connection.
|
||
InstallationState installation_state = 6
|
||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Optional. If disabled is set to true, functionality is disabled for this
|
||
// connection. Repository based API methods and webhooks processing for
|
||
// repositories in this connection will be disabled.
|
||
bool disabled = 7 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Output only. Set to true when the connection is being set up or updated in
|
||
// the background.
|
||
bool reconciling = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Optional. Allows clients to store small amounts of arbitrary data.
|
||
map<string, string> annotations = 9 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. This checksum is computed by the server based on the value of
|
||
// other fields, and may be sent on update and delete requests to ensure the
|
||
// client has an up-to-date value before proceeding.
|
||
string etag = 10 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Output only. A system-assigned unique identifier for the Connection.
|
||
string uid = 12 [
|
||
(google.api.field_info).format = UUID4,
|
||
(google.api.field_behavior) = OUTPUT_ONLY
|
||
];
|
||
|
||
// Optional. The crypto key configuration. This field is used by the
|
||
// Customer-Managed Encryption Keys (CMEK) feature.
|
||
CryptoKeyConfig crypto_key_config = 15
|
||
[(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. Configuration for the git proxy feature. Enabling the git proxy
|
||
// allows clients to perform git operations on the repositories linked in the
|
||
// connection.
|
||
GitProxyConfig git_proxy_config = 19 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// The crypto key configuration. This field is used by the Customer-managed
|
||
// encryption keys (CMEK) feature.
|
||
message CryptoKeyConfig {
|
||
// Required. The name of the key which is used to encrypt/decrypt customer
|
||
// data. For key in Cloud KMS, the key should be in the format of
|
||
// `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
|
||
string key_reference = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "cloudkms.googleapis.com/CryptoKey"
|
||
}
|
||
];
|
||
}
|
||
|
||
// The git proxy configuration.
|
||
message GitProxyConfig {
|
||
// Optional. Setting this to true allows the git proxy to be used for
|
||
// performing git operations on the repositories linked in the connection.
|
||
bool enabled = 1 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Output only. The base URI for the HTTP proxy endpoint. Has
|
||
// the format
|
||
// `https://{generatedID}-c-h-{shortRegion}.developerconnect.dev`
|
||
// Populated only when enabled is set to true.
|
||
// This endpoint is used by other Google services that integrate with
|
||
// Developer Connect.
|
||
string http_proxy_base_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
}
|
||
|
||
// Describes stage and necessary actions to be taken by the
|
||
// user to complete the installation. Used for GitHub and GitHub Enterprise
|
||
// based connections.
|
||
message InstallationState {
|
||
// Stage of the installation process.
|
||
enum Stage {
|
||
// No stage specified.
|
||
STAGE_UNSPECIFIED = 0;
|
||
|
||
// Only for GitHub Enterprise. An App creation has been requested.
|
||
// The user needs to confirm the creation in their GitHub enterprise host.
|
||
PENDING_CREATE_APP = 1;
|
||
|
||
// User needs to authorize the GitHub (or Enterprise) App via OAuth.
|
||
PENDING_USER_OAUTH = 2;
|
||
|
||
// User needs to follow the link to install the GitHub (or Enterprise) App.
|
||
PENDING_INSTALL_APP = 3;
|
||
|
||
// Installation process has been completed.
|
||
COMPLETE = 10;
|
||
}
|
||
|
||
// Output only. Current step of the installation process.
|
||
Stage stage = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. Message of what the user should do next to continue the
|
||
// installation. Empty string if the installation is already complete.
|
||
string message = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. Link to follow for next action. Empty string if the
|
||
// installation is already complete.
|
||
string action_uri = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
}
|
||
|
||
// Defines the configuration for connections to an HTTP service provider.
|
||
message GenericHTTPEndpointConfig {
|
||
// Basic authentication with username and password.
|
||
message BasicAuthentication {
|
||
// The password to authenticate as.
|
||
oneof password {
|
||
// The password SecretManager secret version to authenticate as.
|
||
string password_secret_version = 2 [(google.api.resource_reference) = {
|
||
type: "secretmanager.googleapis.com/SecretVersion"
|
||
}];
|
||
}
|
||
|
||
// Required. The username to authenticate as.
|
||
string username = 1 [(google.api.field_behavior) = REQUIRED];
|
||
}
|
||
|
||
// Bearer token authentication with a token.
|
||
message BearerTokenAuthentication {
|
||
// The token to authenticate as.
|
||
oneof token {
|
||
// Optional. The token SecretManager secret version to authenticate as.
|
||
string token_secret_version = 1 [
|
||
(google.api.field_behavior) = OPTIONAL,
|
||
(google.api.resource_reference) = {
|
||
type: "secretmanager.googleapis.com/SecretVersion"
|
||
}
|
||
];
|
||
}
|
||
}
|
||
|
||
// The authentication mechanism to use for requests to the HTTP service
|
||
// provider.
|
||
oneof authentication {
|
||
// Optional. Basic authentication with username and password.
|
||
BasicAuthentication basic_authentication = 1
|
||
[(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. Bearer token authentication with a token.
|
||
BearerTokenAuthentication bearer_token_authentication = 2
|
||
[(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Required. Immutable. The service provider's https endpoint.
|
||
string host_uri = 3 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.field_behavior) = IMMUTABLE
|
||
];
|
||
|
||
// Optional. Configuration for using Service Directory to privately connect to
|
||
// a HTTP service provider. This should only be set if the Http service
|
||
// provider is hosted on-premises and not reachable by public internet. If
|
||
// this field is left empty, calls to the HTTP service provider will be made
|
||
// over the public internet.
|
||
ServiceDirectoryConfig service_directory_config = 4
|
||
[(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. The SSL certificate to use for requests to the HTTP service
|
||
// provider.
|
||
string ssl_ca_certificate = 5 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Configuration for connections to github.com.
|
||
message GitHubConfig {
|
||
// Represents the various GitHub Applications that can be installed to a
|
||
// GitHub user or organization and used with Developer Connect.
|
||
enum GitHubApp {
|
||
// GitHub App not specified.
|
||
GIT_HUB_APP_UNSPECIFIED = 0;
|
||
|
||
// The Developer Connect GitHub Application.
|
||
DEVELOPER_CONNECT = 1;
|
||
|
||
// The Firebase GitHub Application.
|
||
FIREBASE = 2;
|
||
|
||
// The Gemini Code Assist Application.
|
||
GEMINI_CODE_ASSIST = 3;
|
||
}
|
||
|
||
// Required. Immutable. The GitHub Application that was installed to the
|
||
// GitHub user or organization.
|
||
GitHubApp github_app = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.field_behavior) = IMMUTABLE
|
||
];
|
||
|
||
// Optional. OAuth credential of the account that authorized the GitHub App.
|
||
// It is recommended to use a robot account instead of a human user account.
|
||
// The OAuth token must be tied to the GitHub App of this config.
|
||
OAuthCredential authorizer_credential = 2
|
||
[(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. GitHub App installation id.
|
||
int64 app_installation_id = 3 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Output only. The URI to navigate to in order to manage the installation
|
||
// associated with this GitHubConfig.
|
||
string installation_uri = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
}
|
||
|
||
// Configuration for connections to an instance of GitHub Enterprise.
|
||
message GitHubEnterpriseConfig {
|
||
// Required. The URI of the GitHub Enterprise host this connection is for.
|
||
string host_uri = 1 [(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Optional. ID of the GitHub App created from the manifest.
|
||
int64 app_id = 2 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Output only. The URL-friendly name of the GitHub App.
|
||
string app_slug = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Optional. SecretManager resource containing the private key of the GitHub
|
||
// App, formatted as `projects/*/secrets/*/versions/*` or
|
||
// `projects/*/locations/*/secrets/*/versions/*` (if regional secrets are
|
||
// supported in that location).
|
||
string private_key_secret_version = 4 [
|
||
(google.api.field_behavior) = OPTIONAL,
|
||
(google.api.resource_reference) = {
|
||
type: "secretmanager.googleapis.com/SecretVersion"
|
||
}
|
||
];
|
||
|
||
// Optional. SecretManager resource containing the webhook secret of the
|
||
// GitHub App, formatted as `projects/*/secrets/*/versions/*` or
|
||
// `projects/*/locations/*/secrets/*/versions/*` (if regional secrets are
|
||
// supported in that location).
|
||
string webhook_secret_secret_version = 5 [
|
||
(google.api.field_behavior) = OPTIONAL,
|
||
(google.api.resource_reference) = {
|
||
type: "secretmanager.googleapis.com/SecretVersion"
|
||
}
|
||
];
|
||
|
||
// Optional. ID of the installation of the GitHub App.
|
||
int64 app_installation_id = 8 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Output only. The URI to navigate to in order to manage the installation
|
||
// associated with this GitHubEnterpriseConfig.
|
||
string installation_uri = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Optional. Configuration for using Service Directory to privately connect to
|
||
// a GitHub Enterprise server. This should only be set if the GitHub
|
||
// Enterprise server is hosted on-premises and not reachable by public
|
||
// internet. If this field is left empty, calls to the GitHub Enterprise
|
||
// server will be made over the public internet.
|
||
ServiceDirectoryConfig service_directory_config = 10
|
||
[(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Output only. GitHub Enterprise version installed at the host_uri.
|
||
string server_version = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Optional. SSL certificate to use for requests to GitHub Enterprise.
|
||
string ssl_ca_certificate = 14 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. Immutable. GitHub Enterprise organization in which the GitHub App
|
||
// is created.
|
||
string organization = 15 [
|
||
(google.api.field_behavior) = OPTIONAL,
|
||
(google.api.field_behavior) = IMMUTABLE
|
||
];
|
||
}
|
||
|
||
// ServiceDirectoryConfig represents Service Directory configuration for a
|
||
// connection.
|
||
message ServiceDirectoryConfig {
|
||
// Required. The Service Directory service name.
|
||
// Format:
|
||
// projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.
|
||
string service = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "servicedirectory.googleapis.com/Service"
|
||
}
|
||
];
|
||
}
|
||
|
||
// Represents an OAuth token of the account that authorized the Connection,
|
||
// and associated metadata.
|
||
message OAuthCredential {
|
||
// Required. A SecretManager resource containing the OAuth token that
|
||
// authorizes the connection. Format: `projects/*/secrets/*/versions/*` or
|
||
// `projects/*/locations/*/secrets/*/versions/*` (if regional secrets are
|
||
// supported in that location).
|
||
string oauth_token_secret_version = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "secretmanager.googleapis.com/SecretVersion"
|
||
}
|
||
];
|
||
|
||
// Output only. The username associated with this token.
|
||
string username = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
}
|
||
|
||
// Configuration for connections to gitlab.com.
|
||
message GitLabConfig {
|
||
// Required. Immutable. SecretManager resource containing the webhook secret
|
||
// of a GitLab project, formatted as `projects/*/secrets/*/versions/*` or
|
||
// `projects/*/locations/*/secrets/*/versions/*` (if regional secrets are
|
||
// supported in that location). This is used to validate webhooks.
|
||
string webhook_secret_secret_version = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.field_behavior) = IMMUTABLE,
|
||
(google.api.resource_reference) = {
|
||
type: "secretmanager.googleapis.com/SecretVersion"
|
||
}
|
||
];
|
||
|
||
// Required. A GitLab personal access token with the minimum `read_api` scope
|
||
// access and a minimum role of `reporter`. The GitLab Projects visible to
|
||
// this Personal Access Token will control which Projects Developer Connect
|
||
// has access to.
|
||
UserCredential read_authorizer_credential = 2
|
||
[(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Required. A GitLab personal access token with the minimum `api` scope
|
||
// access and a minimum role of `maintainer`. The GitLab Projects visible to
|
||
// this Personal Access Token will control which Projects Developer Connect
|
||
// has access to.
|
||
UserCredential authorizer_credential = 3
|
||
[(google.api.field_behavior) = REQUIRED];
|
||
}
|
||
|
||
// Represents a personal access token that authorized the Connection,
|
||
// and associated metadata.
|
||
message UserCredential {
|
||
// Required. A SecretManager resource containing the user token that
|
||
// authorizes the Developer Connect connection. Format:
|
||
// `projects/*/secrets/*/versions/*` or
|
||
// `projects/*/locations/*/secrets/*/versions/*` (if regional secrets are
|
||
// supported in that location).
|
||
string user_token_secret_version = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "secretmanager.googleapis.com/SecretVersion"
|
||
}
|
||
];
|
||
|
||
// Output only. The username associated with this token.
|
||
string username = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
}
|
||
|
||
// Configuration for connections to an instance of GitLab Enterprise.
|
||
message GitLabEnterpriseConfig {
|
||
// Required. The URI of the GitLab Enterprise host this connection is for.
|
||
string host_uri = 1 [(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Required. Immutable. SecretManager resource containing the webhook secret
|
||
// of a GitLab project, formatted as `projects/*/secrets/*/versions/*` or
|
||
// `projects/*/locations/*/secrets/*/versions/*` (if regional secrets are
|
||
// supported in that location). This is used to validate webhooks.
|
||
string webhook_secret_secret_version = 2 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.field_behavior) = IMMUTABLE,
|
||
(google.api.resource_reference) = {
|
||
type: "secretmanager.googleapis.com/SecretVersion"
|
||
}
|
||
];
|
||
|
||
// Required. A GitLab personal access token with the minimum `read_api` scope
|
||
// access and a minimum role of `reporter`. The GitLab Projects visible to
|
||
// this Personal Access Token will control which Projects Developer Connect
|
||
// has access to.
|
||
UserCredential read_authorizer_credential = 3
|
||
[(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Required. A GitLab personal access token with the minimum `api` scope
|
||
// access and a minimum role of `maintainer`. The GitLab Projects visible to
|
||
// this Personal Access Token will control which Projects Developer Connect
|
||
// has access to.
|
||
UserCredential authorizer_credential = 4
|
||
[(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Optional. Configuration for using Service Directory to privately connect to
|
||
// a GitLab Enterprise instance. This should only be set if the GitLab
|
||
// Enterprise server is hosted on-premises and not reachable by public
|
||
// internet. If this field is left empty, calls to the GitLab Enterprise
|
||
// server will be made over the public internet.
|
||
ServiceDirectoryConfig service_directory_config = 5
|
||
[(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. SSL Certificate Authority certificate to use for requests to
|
||
// GitLab Enterprise instance.
|
||
string ssl_ca_certificate = 6 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Output only. Version of the GitLab Enterprise server running on the
|
||
// `host_uri`.
|
||
string server_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
}
|
||
|
||
// Configuration for connections to an instance of Bitbucket Data Center.
|
||
message BitbucketDataCenterConfig {
|
||
// Required. The URI of the Bitbucket Data Center host this connection is for.
|
||
string host_uri = 1 [(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Required. Immutable. SecretManager resource containing the webhook secret
|
||
// used to verify webhook events, formatted as
|
||
// `projects/*/secrets/*/versions/*` or
|
||
// `projects/*/locations/*/secrets/*/versions/*` (if regional secrets are
|
||
// supported in that location). This is used to validate webhooks.
|
||
string webhook_secret_secret_version = 2 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.field_behavior) = IMMUTABLE,
|
||
(google.api.resource_reference) = {
|
||
type: "secretmanager.googleapis.com/SecretVersion"
|
||
}
|
||
];
|
||
|
||
// Required. An http access token with the minimum `Repository read` access.
|
||
// It's recommended to use a system account to generate the credentials.
|
||
UserCredential read_authorizer_credential = 3
|
||
[(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Required. An http access token with the minimum `Repository admin` scope
|
||
// access. This is needed to create webhooks. It's recommended to use a system
|
||
// account to generate these credentials.
|
||
UserCredential authorizer_credential = 4
|
||
[(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Optional. Configuration for using Service Directory to privately connect to
|
||
// a Bitbucket Data Center instance. This should only be set if the Bitbucket
|
||
// Data Center is hosted on-premises and not reachable by public internet. If
|
||
// this field is left empty, calls to the Bitbucket Data Center will be made
|
||
// over the public internet.
|
||
ServiceDirectoryConfig service_directory_config = 5
|
||
[(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. SSL certificate authority to trust when making requests to
|
||
// Bitbucket Data Center.
|
||
string ssl_ca_certificate = 6 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Output only. Version of the Bitbucket Data Center server running on the
|
||
// `host_uri`.
|
||
string server_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
}
|
||
|
||
// Configuration for connections to an instance of Bitbucket Cloud.
|
||
message BitbucketCloudConfig {
|
||
// Required. The Bitbucket Cloud Workspace ID to be connected to Google Cloud
|
||
// Platform.
|
||
string workspace = 1 [(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Required. Immutable. SecretManager resource containing the webhook secret
|
||
// used to verify webhook events, formatted as
|
||
// `projects/*/secrets/*/versions/*` or
|
||
// `projects/*/locations/*/secrets/*/versions/*` (if regional secrets are
|
||
// supported in that location). This is used to validate and create webhooks.
|
||
string webhook_secret_secret_version = 2 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.field_behavior) = IMMUTABLE,
|
||
(google.api.resource_reference) = {
|
||
type: "secretmanager.googleapis.com/SecretVersion"
|
||
}
|
||
];
|
||
|
||
// Required. An access token with the minimum `repository` access.
|
||
// It can either be a workspace, project or repository access token.
|
||
// It's recommended to use a system account to generate the credentials.
|
||
UserCredential read_authorizer_credential = 3
|
||
[(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Required. An access token with the minimum `repository`, `pullrequest` and
|
||
// `webhook` scope access. It can either be a workspace, project or repository
|
||
// access token. This is needed to create webhooks. It's recommended to use a
|
||
// system account to generate these credentials.
|
||
UserCredential authorizer_credential = 4
|
||
[(google.api.field_behavior) = REQUIRED];
|
||
}
|
||
|
||
// Configuration for connections to Secure Source Manager instance
|
||
message SecureSourceManagerInstanceConfig {
|
||
// Required. Immutable. Secure Source Manager instance resource, formatted as
|
||
// `projects/*/locations/*/instances/*`
|
||
string instance = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.field_behavior) = IMMUTABLE,
|
||
(google.api.resource_reference) = {
|
||
type: "securesourcemanager.googleapis.com/Instance"
|
||
}
|
||
];
|
||
}
|
||
|
||
// Message for requesting list of Connections
|
||
message ListConnectionsRequest {
|
||
// Required. Parent value for ListConnectionsRequest
|
||
string parent = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
child_type: "developerconnect.googleapis.com/Connection"
|
||
}
|
||
];
|
||
|
||
// Optional. Requested page size. Server may return fewer items than
|
||
// requested. If unspecified, server will pick an appropriate default.
|
||
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. A token identifying a page of results the server should return.
|
||
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. Filtering results
|
||
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. Hint for how to order the results
|
||
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Message for response to listing Connections
|
||
message ListConnectionsResponse {
|
||
// The list of Connection
|
||
repeated Connection connections = 1;
|
||
|
||
// A token identifying a page of results the server should return.
|
||
string next_page_token = 2;
|
||
|
||
// Locations that could not be reached.
|
||
repeated string unreachable = 3;
|
||
}
|
||
|
||
// Message for getting a Connection
|
||
message GetConnectionRequest {
|
||
// Required. Name of the resource
|
||
string name = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/Connection"
|
||
}
|
||
];
|
||
}
|
||
|
||
// Message for creating a Connection
|
||
message CreateConnectionRequest {
|
||
// Required. Value for parent.
|
||
string parent = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
child_type: "developerconnect.googleapis.com/Connection"
|
||
}
|
||
];
|
||
|
||
// Required. Id of the requesting object
|
||
// If auto-generating Id server-side, remove this field and
|
||
// connection_id from the method_signature of Create RPC
|
||
string connection_id = 2 [(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Required. The resource being created
|
||
Connection connection = 3 [(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Optional. An optional request ID to identify requests. Specify a unique
|
||
// request ID so that if you must retry your request, the server will know to
|
||
// ignore the request if it has already been completed. The server will
|
||
// guarantee that for at least 60 minutes since the first request.
|
||
//
|
||
// For example, consider a situation where you make an initial request and the
|
||
// request times out. If you make the request again with the same request
|
||
// ID, the server can check if original operation with the same request ID
|
||
// was received, and if so, will ignore the second request. This prevents
|
||
// clients from accidentally creating duplicate commitments.
|
||
//
|
||
// The request ID must be a valid UUID with the exception that zero UUID is
|
||
// not supported (00000000-0000-0000-0000-000000000000).
|
||
string request_id = 4 [
|
||
(google.api.field_info).format = UUID4,
|
||
(google.api.field_behavior) = OPTIONAL
|
||
];
|
||
|
||
// Optional. If set, validate the request, but do not actually post it.
|
||
bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Message for updating a Connection
|
||
message UpdateConnectionRequest {
|
||
// Required. Field mask is used to specify the fields to be overwritten in the
|
||
// Connection resource by the update.
|
||
// The fields specified in the update_mask are relative to the resource, not
|
||
// the full request. A field will be overwritten if it is in the mask. If the
|
||
// user does not provide a mask then all fields will be overwritten.
|
||
google.protobuf.FieldMask update_mask = 1
|
||
[(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Required. The resource being updated
|
||
Connection connection = 2 [(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Optional. An optional request ID to identify requests. Specify a unique
|
||
// request ID so that if you must retry your request, the server will know to
|
||
// ignore the request if it has already been completed. The server will
|
||
// guarantee that for at least 60 minutes since the first request.
|
||
//
|
||
// For example, consider a situation where you make an initial request and the
|
||
// request times out. If you make the request again with the same request
|
||
// ID, the server can check if original operation with the same request ID
|
||
// was received, and if so, will ignore the second request. This prevents
|
||
// clients from accidentally creating duplicate commitments.
|
||
//
|
||
// The request ID must be a valid UUID with the exception that zero UUID is
|
||
// not supported (00000000-0000-0000-0000-000000000000).
|
||
string request_id = 3 [
|
||
(google.api.field_info).format = UUID4,
|
||
(google.api.field_behavior) = OPTIONAL
|
||
];
|
||
|
||
// Optional. If set to true, and the connection is not found a new connection
|
||
// will be created. In this situation `update_mask` is ignored.
|
||
// The creation will succeed only if the input connection has all the
|
||
// necessary information (e.g a github_config with both user_oauth_token and
|
||
// installation_id properties).
|
||
bool allow_missing = 4 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. If set, validate the request, but do not actually post it.
|
||
bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Message for deleting a Connection
|
||
message DeleteConnectionRequest {
|
||
// Required. Name of the resource
|
||
string name = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/Connection"
|
||
}
|
||
];
|
||
|
||
// Optional. An optional request ID to identify requests. Specify a unique
|
||
// request ID so that if you must retry your request, the server will know to
|
||
// ignore the request if it has already been completed. The server will
|
||
// guarantee that for at least 60 minutes after the first request.
|
||
//
|
||
// For example, consider a situation where you make an initial request and the
|
||
// request times out. If you make the request again with the same request
|
||
// ID, the server can check if original operation with the same request ID
|
||
// was received, and if so, will ignore the second request. This prevents
|
||
// clients from accidentally creating duplicate commitments.
|
||
//
|
||
// The request ID must be a valid UUID with the exception that zero UUID is
|
||
// not supported (00000000-0000-0000-0000-000000000000).
|
||
string request_id = 2 [
|
||
(google.api.field_info).format = UUID4,
|
||
(google.api.field_behavior) = OPTIONAL
|
||
];
|
||
|
||
// Optional. If set, validate the request, but do not actually post it.
|
||
bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. The current etag of the Connection.
|
||
// If an etag is provided and does not match the current etag of the
|
||
// Connection, deletion will be blocked and an ABORTED error will be returned.
|
||
string etag = 4 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Message for requesting list of AccountConnectors
|
||
message ListAccountConnectorsRequest {
|
||
// Required. Parent value for ListAccountConnectorsRequest
|
||
string parent = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
child_type: "developerconnect.googleapis.com/AccountConnector"
|
||
}
|
||
];
|
||
|
||
// Optional. Requested page size. Server may return fewer items than
|
||
// requested. If unspecified, server will pick an appropriate default.
|
||
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. A token identifying a page of results the server should return.
|
||
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. Filtering results
|
||
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. Hint for how to order the results
|
||
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Message for response to listing AccountConnectors
|
||
message ListAccountConnectorsResponse {
|
||
// The list of AccountConnectors
|
||
repeated AccountConnector account_connectors = 1;
|
||
|
||
// A token identifying a page of results the server should return.
|
||
string next_page_token = 2;
|
||
|
||
// Locations that could not be reached.
|
||
repeated string unreachable = 3;
|
||
}
|
||
|
||
// Message for getting a AccountConnector
|
||
message GetAccountConnectorRequest {
|
||
// Required. Name of the resource
|
||
string name = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/AccountConnector"
|
||
}
|
||
];
|
||
}
|
||
|
||
message CreateAccountConnectorRequest {
|
||
// Required. Location resource name as the account_connector’s parent.
|
||
string parent = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
child_type: "developerconnect.googleapis.com/AccountConnector"
|
||
}
|
||
];
|
||
|
||
// Required. The ID to use for the AccountConnector, which will become the
|
||
// final component of the AccountConnector's resource name. Its format should
|
||
// adhere to https://google.aip.dev/122#resource-id-segments Names must be
|
||
// unique per-project per-location.
|
||
string account_connector_id = 2 [(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Required. The AccountConnector to create.
|
||
AccountConnector account_connector = 3
|
||
[(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Optional. An optional request ID to identify requests. Specify a unique
|
||
// request ID so that if you must retry your request, the server will know to
|
||
// ignore the request if it has already been completed. The server will
|
||
// guarantee that for at least 60 minutes since the first request.
|
||
//
|
||
// For example, consider a situation where you make an initial request and the
|
||
// request times out. If you make the request again with the same request
|
||
// ID, the server can check if original operation with the same request ID
|
||
// was received, and if so, will ignore the second request. This prevents
|
||
// clients from accidentally creating duplicate commitments.
|
||
//
|
||
// The request ID must be a valid UUID with the exception that zero UUID is
|
||
// not supported (00000000-0000-0000-0000-000000000000).
|
||
string request_id = 4 [
|
||
(google.api.field_info).format = UUID4,
|
||
(google.api.field_behavior) = OPTIONAL
|
||
];
|
||
|
||
// Optional. If set, validate the request, but do not actually post it.
|
||
bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Message for updating a AccountConnector
|
||
message UpdateAccountConnectorRequest {
|
||
// Optional. The list of fields to be updated.
|
||
google.protobuf.FieldMask update_mask = 1
|
||
[(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Required. The AccountConnector to update.
|
||
AccountConnector account_connector = 2
|
||
[(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Optional. An optional request ID to identify requests. Specify a unique
|
||
// request ID so that if you must retry your request, the server will know to
|
||
// ignore the request if it has already been completed. The server will
|
||
// guarantee that for at least 60 minutes since the first request.
|
||
//
|
||
// For example, consider a situation where you make an initial request and the
|
||
// request times out. If you make the request again with the same request
|
||
// ID, the server can check if original operation with the same request ID
|
||
// was received, and if so, will ignore the second request. This prevents
|
||
// clients from accidentally creating duplicate commitments.
|
||
//
|
||
// The request ID must be a valid UUID with the exception that zero UUID is
|
||
// not supported (00000000-0000-0000-0000-000000000000).
|
||
string request_id = 3 [
|
||
(google.api.field_info).format = UUID4,
|
||
(google.api.field_behavior) = OPTIONAL
|
||
];
|
||
|
||
// Optional. If set to true, and the accountConnector is not found a new
|
||
// accountConnector will be created. In this situation `update_mask` is
|
||
// ignored. The creation will succeed only if the input accountConnector has
|
||
// all the necessary
|
||
bool allow_missing = 4 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. If set, validate the request, but do not actually post it.
|
||
bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Message for deleting a AccountConnector
|
||
message DeleteAccountConnectorRequest {
|
||
// Required. Name of the resource
|
||
string name = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/AccountConnector"
|
||
}
|
||
];
|
||
|
||
// Optional. An optional request ID to identify requests. Specify a unique
|
||
// request ID so that if you must retry your request, the server will know to
|
||
// ignore the request if it has already been completed. The server will
|
||
// guarantee that for at least 60 minutes after the first request.
|
||
//
|
||
// For example, consider a situation where you make an initial request and the
|
||
// request times out. If you make the request again with the same request
|
||
// ID, the server can check if original operation with the same request ID
|
||
// was received, and if so, will ignore the second request. This prevents
|
||
// clients from accidentally creating duplicate commitments.
|
||
//
|
||
// The request ID must be a valid UUID with the exception that zero UUID is
|
||
// not supported (00000000-0000-0000-0000-000000000000).
|
||
string request_id = 2 [
|
||
(google.api.field_info).format = UUID4,
|
||
(google.api.field_behavior) = OPTIONAL
|
||
];
|
||
|
||
// Optional. If set, validate the request, but do not actually post it.
|
||
bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. The current etag of the AccountConnectorn.
|
||
// If an etag is provided and does not match the current etag of the
|
||
// AccountConnector, deletion will be blocked and an ABORTED error will be
|
||
// returned.
|
||
string etag = 4 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. If set to true, any Users from this AccountConnector will also
|
||
// be deleted. (Otherwise, the request will only work if the AccountConnector
|
||
// has no Users.)
|
||
bool force = 5 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Message for deleting a User
|
||
message DeleteUserRequest {
|
||
// Required. Name of the resource
|
||
string name = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/User"
|
||
}
|
||
];
|
||
|
||
// Optional. An optional request ID to identify requests. Specify a unique
|
||
// request ID so that if you must retry your request, the server will know to
|
||
// ignore the request if it has already been completed. The server will
|
||
// guarantee that for at least 60 minutes after the first request.
|
||
//
|
||
// For example, consider a situation where you make an initial request and the
|
||
// request times out. If you make the request again with the same request
|
||
// ID, the server can check if original operation with the same request ID
|
||
// was received, and if so, will ignore the second request. This prevents
|
||
// clients from accidentally creating duplicate commitments.
|
||
//
|
||
// The request ID must be a valid UUID with the exception that zero UUID is
|
||
// not supported (00000000-0000-0000-0000-000000000000).
|
||
string request_id = 2 [
|
||
(google.api.field_info).format = UUID4,
|
||
(google.api.field_behavior) = OPTIONAL
|
||
];
|
||
|
||
// Optional. If set, validate the request, but do not actually post it.
|
||
bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. This checksum is computed by the server based on the value of
|
||
// other fields, and may be sent on update and delete requests to ensure the
|
||
// client has an up-to-date value before proceeding.
|
||
string etag = 4 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Represents the metadata of the long-running operation.
|
||
message OperationMetadata {
|
||
// Output only. The time the operation was created.
|
||
google.protobuf.Timestamp create_time = 1
|
||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. The time the operation finished running.
|
||
google.protobuf.Timestamp end_time = 2
|
||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. Server-defined resource path for the target of the operation.
|
||
string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. Name of the verb executed by the operation.
|
||
string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. Human-readable status of the operation, if any.
|
||
string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. Identifies whether the user has requested cancellation
|
||
// of the operation. Operations that have been cancelled successfully
|
||
// have
|
||
// [google.longrunning.Operation.error][google.longrunning.Operation.error]
|
||
// value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
|
||
// corresponding to `Code.CANCELLED`.
|
||
bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. API version used to start the operation.
|
||
string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
}
|
||
|
||
// Message for fetching a User of the user themselves.
|
||
message FetchSelfRequest {
|
||
// Required. Name of the AccountConnector resource
|
||
string name = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/AccountConnector"
|
||
}
|
||
];
|
||
}
|
||
|
||
// Message for deleting a User of the user themselves.
|
||
message DeleteSelfRequest {
|
||
// Required. Name of the AccountConnector resource
|
||
string name = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/AccountConnector"
|
||
}
|
||
];
|
||
}
|
||
|
||
// Message for fetching an OAuth access token.
|
||
message FetchAccessTokenRequest {
|
||
// Required. The resource name of the AccountConnector in the format
|
||
// `projects/*/locations/*/accountConnectors/*`.
|
||
string account_connector = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/AccountConnector"
|
||
}
|
||
];
|
||
}
|
||
|
||
// Message for responding to getting an OAuth access token.
|
||
message FetchAccessTokenResponse {
|
||
// The token content.
|
||
string token = 1;
|
||
|
||
// Expiration timestamp. Can be empty if unknown or non-expiring.
|
||
google.protobuf.Timestamp expiration_time = 2;
|
||
|
||
// The scopes of the access token.
|
||
repeated string scopes = 3;
|
||
|
||
// The error resulted from exchanging OAuth tokens from the service provider.
|
||
ExchangeError exchange_error = 4;
|
||
}
|
||
|
||
// Message for starting an OAuth flow.
|
||
message StartOAuthRequest {
|
||
// Required. The resource name of the AccountConnector in the format
|
||
// `projects/*/locations/*/accountConnectors/*`.
|
||
string account_connector = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/AccountConnector"
|
||
}
|
||
];
|
||
}
|
||
|
||
// Message for responding to starting an OAuth flow.
|
||
message StartOAuthResponse {
|
||
// The ID of the service provider.
|
||
oneof id {
|
||
// The ID of the system provider.
|
||
SystemProvider system_provider_id = 7;
|
||
}
|
||
|
||
// The ticket to be used for post processing the callback from the service
|
||
// provider.
|
||
string ticket = 1;
|
||
|
||
// Please refer to https://datatracker.ietf.org/doc/html/rfc7636#section-4.1
|
||
string code_challenge = 2;
|
||
|
||
// Please refer to https://datatracker.ietf.org/doc/html/rfc7636#section-4.2
|
||
string code_challenge_method = 3;
|
||
|
||
// The client ID to the OAuth App of the service provider.
|
||
string client_id = 4;
|
||
|
||
// The list of scopes requested by the application.
|
||
repeated string scopes = 5;
|
||
|
||
// The authorization server URL to the OAuth flow of the service provider.
|
||
string auth_uri = 6;
|
||
}
|
||
|
||
// Message for finishing an OAuth flow.
|
||
message FinishOAuthRequest {
|
||
// The params returned by non-Google OAuth 2.0 flow redirect.
|
||
message OAuthParams {
|
||
// Required. The code to be used for getting the token from SCM provider.
|
||
string code = 1 [(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Required. The ticket to be used for post processing the callback from SCM
|
||
// provider.
|
||
string ticket = 2 [(google.api.field_behavior) = REQUIRED];
|
||
}
|
||
|
||
// The params returned by Google OAuth flow redirects.
|
||
message GoogleOAuthParams {
|
||
// Required. The scopes returned by Google OAuth flow.
|
||
repeated string scopes = 1 [(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Optional. The version info returned by Google OAuth flow.
|
||
string version_info = 2 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Required. The ticket to be used for post processing the callback from
|
||
// Google OAuth flow.
|
||
string ticket = 3 [(google.api.field_behavior) = REQUIRED];
|
||
}
|
||
|
||
// The params returned by OAuth flow redirect.
|
||
oneof params {
|
||
// The params returned by non-Google OAuth 2.0 flow redirect.
|
||
OAuthParams oauth_params = 2;
|
||
|
||
// The params returned by Google OAuth flow redirects.
|
||
GoogleOAuthParams google_oauth_params = 3;
|
||
}
|
||
|
||
// Required. The resource name of the AccountConnector in the format
|
||
// `projects/*/locations/*/accountConnectors/*`.
|
||
string account_connector = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/AccountConnector"
|
||
}
|
||
];
|
||
}
|
||
|
||
// Message for responding to finishing an OAuth flow.
|
||
message FinishOAuthResponse {
|
||
// The error resulted from exchanging OAuth tokens from the service provider.
|
||
ExchangeError exchange_error = 1;
|
||
}
|
||
|
||
// Message for representing an error from exchanging OAuth tokens.
|
||
message ExchangeError {
|
||
// https://datatracker.ietf.org/doc/html/rfc6749#section-5.2 - error
|
||
string code = 1;
|
||
|
||
// https://datatracker.ietf.org/doc/html/rfc6749#section-5.2 -
|
||
// error_description
|
||
string description = 2;
|
||
}
|
||
|
||
// Message describing the GitRepositoryLink object
|
||
message GitRepositoryLink {
|
||
option (google.api.resource) = {
|
||
type: "developerconnect.googleapis.com/GitRepositoryLink"
|
||
pattern: "projects/{project}/locations/{location}/connections/{connection}/gitRepositoryLinks/{git_repository_link}"
|
||
plural: "gitRepositoryLinks"
|
||
singular: "gitRepositoryLink"
|
||
style: DECLARATIVE_FRIENDLY
|
||
};
|
||
|
||
// Identifier. Resource name of the repository, in the format
|
||
// `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.
|
||
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
||
|
||
// Required. Git Clone URI.
|
||
string clone_uri = 2 [(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Output only. [Output only] Create timestamp
|
||
google.protobuf.Timestamp create_time = 3
|
||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. [Output only] Update timestamp
|
||
google.protobuf.Timestamp update_time = 4
|
||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. [Output only] Delete timestamp
|
||
google.protobuf.Timestamp delete_time = 5
|
||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Optional. Labels as key value pairs
|
||
map<string, string> labels = 6 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. This checksum is computed by the server based on the value of
|
||
// other fields, and may be sent on update and delete requests to ensure the
|
||
// client has an up-to-date value before proceeding.
|
||
string etag = 7 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Output only. Set to true when the connection is being set up or updated in
|
||
// the background.
|
||
bool reconciling = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Optional. Allows clients to store small amounts of arbitrary data.
|
||
map<string, string> annotations = 9 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Output only. A system-assigned unique identifier for the GitRepositoryLink.
|
||
string uid = 10 [
|
||
(google.api.field_info).format = UUID4,
|
||
(google.api.field_behavior) = OUTPUT_ONLY
|
||
];
|
||
|
||
// Output only. External ID of the webhook created for the repository.
|
||
string webhook_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. URI to access the linked repository through the Git Proxy.
|
||
// This field is only populated if the git proxy is enabled for the
|
||
// connection.
|
||
string git_proxy_uri = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
}
|
||
|
||
// Message for creating a GitRepositoryLink
|
||
message CreateGitRepositoryLinkRequest {
|
||
// Required. Value for parent.
|
||
string parent = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
child_type: "developerconnect.googleapis.com/GitRepositoryLink"
|
||
}
|
||
];
|
||
|
||
// Required. The resource being created
|
||
GitRepositoryLink git_repository_link = 2
|
||
[(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Required. The ID to use for the repository, which will become the final
|
||
// component of the repository's resource name. This ID should be unique in
|
||
// the connection. Allows alphanumeric characters and any of
|
||
// -._~%!$&'()*+,;=@.
|
||
string git_repository_link_id = 3 [(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Optional. An optional request ID to identify requests. Specify a unique
|
||
// request ID so that if you must retry your request, the server will know to
|
||
// ignore the request if it has already been completed. The server will
|
||
// guarantee that for at least 60 minutes since the first request.
|
||
//
|
||
// For example, consider a situation where you make an initial request and the
|
||
// request times out. If you make the request again with the same request
|
||
// ID, the server can check if original operation with the same request ID
|
||
// was received, and if so, will ignore the second request. This prevents
|
||
// clients from accidentally creating duplicate commitments.
|
||
//
|
||
// The request ID must be a valid UUID with the exception that zero UUID is
|
||
// not supported (00000000-0000-0000-0000-000000000000).
|
||
string request_id = 4 [
|
||
(google.api.field_info).format = UUID4,
|
||
(google.api.field_behavior) = OPTIONAL
|
||
];
|
||
|
||
// Optional. If set, validate the request, but do not actually post it.
|
||
bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Message for deleting a GitRepositoryLink
|
||
message DeleteGitRepositoryLinkRequest {
|
||
// Required. Name of the resource
|
||
string name = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/GitRepositoryLink"
|
||
}
|
||
];
|
||
|
||
// Optional. An optional request ID to identify requests. Specify a unique
|
||
// request ID so that if you must retry your request, the server will know to
|
||
// ignore the request if it has already been completed. The server will
|
||
// guarantee that for at least 60 minutes after the first request.
|
||
//
|
||
// For example, consider a situation where you make an initial request and the
|
||
// request times out. If you make the request again with the same request
|
||
// ID, the server can check if original operation with the same request ID
|
||
// was received, and if so, will ignore the second request. This prevents
|
||
// clients from accidentally creating duplicate commitments.
|
||
//
|
||
// The request ID must be a valid UUID with the exception that zero UUID is
|
||
// not supported (00000000-0000-0000-0000-000000000000).
|
||
string request_id = 2 [
|
||
(google.api.field_info).format = UUID4,
|
||
(google.api.field_behavior) = OPTIONAL
|
||
];
|
||
|
||
// Optional. If set, validate the request, but do not actually post it.
|
||
bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. This checksum is computed by the server based on the value of
|
||
// other fields, and may be sent on update and delete requests to ensure the
|
||
// client has an up-to-date value before proceeding.
|
||
string etag = 4 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Message for requesting a list of GitRepositoryLinks
|
||
message ListGitRepositoryLinksRequest {
|
||
// Required. Parent value for ListGitRepositoryLinksRequest
|
||
string parent = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
child_type: "developerconnect.googleapis.com/GitRepositoryLink"
|
||
}
|
||
];
|
||
|
||
// Optional. Requested page size. Server may return fewer items than
|
||
// requested. If unspecified, server will pick an appropriate default.
|
||
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. A token identifying a page of results the server should return.
|
||
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. Filtering results
|
||
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. Hint for how to order the results
|
||
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Message for response to listing GitRepositoryLinks
|
||
message ListGitRepositoryLinksResponse {
|
||
// The list of GitRepositoryLinks
|
||
repeated GitRepositoryLink git_repository_links = 1;
|
||
|
||
// A token identifying a page of results the server should return.
|
||
string next_page_token = 2;
|
||
|
||
// Locations that could not be reached.
|
||
repeated string unreachable = 3;
|
||
}
|
||
|
||
// Message for getting a GitRepositoryLink
|
||
message GetGitRepositoryLinkRequest {
|
||
// Required. Name of the resource
|
||
string name = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/GitRepositoryLink"
|
||
}
|
||
];
|
||
}
|
||
|
||
// Message for fetching SCM read/write token.
|
||
message FetchReadWriteTokenRequest {
|
||
// Required. The resource name of the gitRepositoryLink in the format
|
||
// `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.
|
||
string git_repository_link = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/GitRepositoryLink"
|
||
}
|
||
];
|
||
}
|
||
|
||
// Message for fetching SCM read token.
|
||
message FetchReadTokenRequest {
|
||
// Required. The resource name of the gitRepositoryLink in the format
|
||
// `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.
|
||
string git_repository_link = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/GitRepositoryLink"
|
||
}
|
||
];
|
||
}
|
||
|
||
// Message for responding to get read token.
|
||
message FetchReadTokenResponse {
|
||
// The token content.
|
||
string token = 1;
|
||
|
||
// Expiration timestamp. Can be empty if unknown or non-expiring.
|
||
google.protobuf.Timestamp expiration_time = 2;
|
||
|
||
// The git_username to specify when making a git clone with the
|
||
// token. For example, for GitHub GitRepositoryLinks, this would be
|
||
// "x-access-token"
|
||
string git_username = 3;
|
||
}
|
||
|
||
// Message for responding to get read/write token.
|
||
message FetchReadWriteTokenResponse {
|
||
// The token content.
|
||
string token = 1;
|
||
|
||
// Expiration timestamp. Can be empty if unknown or non-expiring.
|
||
google.protobuf.Timestamp expiration_time = 2;
|
||
|
||
// The git_username to specify when making a git clone with the
|
||
// token. For example, for GitHub GitRepositoryLinks, this would be
|
||
// "x-access-token"
|
||
string git_username = 3;
|
||
}
|
||
|
||
// Request message for FetchLinkableGitRepositoriesRequest.
|
||
message FetchLinkableGitRepositoriesRequest {
|
||
// Required. The name of the Connection.
|
||
// Format: `projects/*/locations/*/connections/*`.
|
||
string connection = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/Connection"
|
||
}
|
||
];
|
||
|
||
// Optional. Number of results to return in the list. Defaults to 20.
|
||
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. Page start.
|
||
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Response message for FetchLinkableGitRepositories.
|
||
message FetchLinkableGitRepositoriesResponse {
|
||
// The git repositories that can be linked to the connection.
|
||
repeated LinkableGitRepository linkable_git_repositories = 1;
|
||
|
||
// A token identifying a page of results the server should return.
|
||
string next_page_token = 2;
|
||
}
|
||
|
||
// LinkableGitRepository represents a git repository that can be linked to a
|
||
// connection.
|
||
message LinkableGitRepository {
|
||
// The clone uri of the repository.
|
||
string clone_uri = 1;
|
||
}
|
||
|
||
// Request for fetching github installations.
|
||
message FetchGitHubInstallationsRequest {
|
||
// Required. The resource name of the connection in the format
|
||
// `projects/*/locations/*/connections/*`.
|
||
string connection = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/Connection"
|
||
}
|
||
];
|
||
}
|
||
|
||
// Response of fetching github installations.
|
||
message FetchGitHubInstallationsResponse {
|
||
// Represents an installation of the GitHub App.
|
||
message Installation {
|
||
// ID of the installation in GitHub.
|
||
int64 id = 1;
|
||
|
||
// Name of the GitHub user or organization that owns this installation.
|
||
string name = 2;
|
||
|
||
// Either "user" or "organization".
|
||
string type = 3;
|
||
}
|
||
|
||
// List of installations available to the OAuth user (for github.com)
|
||
// or all the installations (for GitHub enterprise).
|
||
repeated Installation installations = 1;
|
||
}
|
||
|
||
// Request for fetching git refs.
|
||
message FetchGitRefsRequest {
|
||
// Type of refs.
|
||
enum RefType {
|
||
// No type specified.
|
||
REF_TYPE_UNSPECIFIED = 0;
|
||
|
||
// To fetch tags.
|
||
TAG = 1;
|
||
|
||
// To fetch branches.
|
||
BRANCH = 2;
|
||
}
|
||
|
||
// Required. The resource name of GitRepositoryLink in the format
|
||
// `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.
|
||
string git_repository_link = 1 [
|
||
(google.api.field_behavior) = REQUIRED,
|
||
(google.api.resource_reference) = {
|
||
type: "developerconnect.googleapis.com/GitRepositoryLink"
|
||
}
|
||
];
|
||
|
||
// Required. Type of refs to fetch.
|
||
RefType ref_type = 2 [(google.api.field_behavior) = REQUIRED];
|
||
|
||
// Optional. Number of results to return in the list. Default to 20.
|
||
int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. Page start.
|
||
string page_token = 5 [(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Response for fetching git refs.
|
||
message FetchGitRefsResponse {
|
||
// Name of the refs fetched.
|
||
repeated string ref_names = 1;
|
||
|
||
// A token identifying a page of results the server should return.
|
||
string next_page_token = 2;
|
||
}
|
||
|
||
// AccountConnector encapsulates what a platform administrator needs to
|
||
// configure for users to connect to the service providers, which includes,
|
||
// among other fields, the OAuth client ID, client secret, and authorization and
|
||
// token endpoints.
|
||
message AccountConnector {
|
||
option (google.api.resource) = {
|
||
type: "developerconnect.googleapis.com/AccountConnector"
|
||
pattern: "projects/{project}/locations/{location}/accountConnectors/{account_connector}"
|
||
plural: "accountConnectors"
|
||
singular: "accountConnector"
|
||
style: DECLARATIVE_FRIENDLY
|
||
};
|
||
|
||
// The AccountConnector config.
|
||
oneof account_connector_config {
|
||
// Optional. Provider OAuth config.
|
||
ProviderOAuthConfig provider_oauth_config = 5
|
||
[(google.api.field_behavior) = OPTIONAL];
|
||
}
|
||
|
||
// Identifier. The resource name of the accountConnector, in the format
|
||
// `projects/{project}/locations/{location}/accountConnectors/{account_connector_id}`.
|
||
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
||
|
||
// Output only. The timestamp when the accountConnector was created.
|
||
google.protobuf.Timestamp create_time = 2
|
||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. The timestamp when the accountConnector was updated.
|
||
google.protobuf.Timestamp update_time = 3
|
||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Optional. Allows users to store small amounts of arbitrary data.
|
||
map<string, string> annotations = 6 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. This checksum is computed by the server based on the value of
|
||
// other fields, and may be sent on update and delete requests to ensure the
|
||
// client has an up-to-date value before proceeding.
|
||
string etag = 7 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Optional. Labels as key value pairs
|
||
map<string, string> labels = 8 [(google.api.field_behavior) = OPTIONAL];
|
||
|
||
// Output only. Start OAuth flow by clicking on this URL.
|
||
string oauth_start_uri = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
}
|
||
|
||
// User represents a user connected to the service providers through
|
||
// a AccountConnector.
|
||
message User {
|
||
option (google.api.resource) = {
|
||
type: "developerconnect.googleapis.com/User"
|
||
pattern: "projects/{project}/locations/{location}/accountConnectors/{account_connector}/users/{user}"
|
||
plural: "users"
|
||
singular: "user"
|
||
};
|
||
|
||
// Identifier. Resource name of the user, in the format
|
||
// `projects/*/locations/*/accountConnectors/*/users/*`.
|
||
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
||
|
||
// Output only. Developer Connect automatically converts user identity
|
||
// to some human readable description, e.g., email address.
|
||
string display_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. The timestamp when the user was created.
|
||
google.protobuf.Timestamp create_time = 3
|
||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||
|
||
// Output only. The timestamp when the token was last requested.
|
||
google.protobuf.Timestamp last_token_request_time = 4
|
||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||
}
|
||
|
||
// ProviderOAuthConfig is the OAuth config for a provider.
|
||
message ProviderOAuthConfig {
|
||
// OAuth Provider ID. It could be Developer Connect owned or providers
|
||
// provided.
|
||
oneof oauth_provider_id {
|
||
// Optional. Immutable. Developer Connect provided OAuth.
|
||
SystemProvider system_provider_id = 1 [
|
||
(google.api.field_behavior) = IMMUTABLE,
|
||
(google.api.field_behavior) = OPTIONAL
|
||
];
|
||
}
|
||
|
||
// Required. User selected scopes to apply to the Oauth config
|
||
// In the event of changing scopes, user records under AccountConnector will
|
||
// be deleted and users will re-auth again.
|
||
repeated string scopes = 2 [(google.api.field_behavior) = REQUIRED];
|
||
}
|