mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-19 13:17:47 +02:00
3164 lines
116 KiB
Protocol Buffer
3164 lines
116 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.config.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/struct.proto";
|
|
import "google/protobuf/timestamp.proto";
|
|
import "google/rpc/status.proto";
|
|
|
|
option csharp_namespace = "Google.Cloud.Config.V1";
|
|
option go_package = "cloud.google.com/go/config/apiv1/configpb;configpb";
|
|
option java_multiple_files = true;
|
|
option java_outer_classname = "ConfigProto";
|
|
option java_package = "com.google.cloud.config.v1";
|
|
option php_namespace = "Google\\Cloud\\Config\\V1";
|
|
option ruby_package = "Google::Cloud::ConfigService::V1";
|
|
option (google.api.resource_definition) = {
|
|
type: "iam.googleapis.com/ServiceAccount"
|
|
pattern: "projects/{project}/serviceAccounts/{service_account}"
|
|
};
|
|
option (google.api.resource_definition) = {
|
|
type: "cloudbuild.googleapis.com/WorkerPool"
|
|
pattern: "projects/{project}/locations/{location}/workerPools/{worker_pool}"
|
|
};
|
|
|
|
// Infrastructure Manager is a managed service that automates the deployment and
|
|
// management of Google Cloud infrastructure resources.
|
|
service Config {
|
|
option (google.api.default_host) = "config.googleapis.com";
|
|
option (google.api.oauth_scopes) =
|
|
"https://www.googleapis.com/auth/cloud-platform";
|
|
|
|
// Lists [Deployment][google.cloud.config.v1.Deployment]s in a given project
|
|
// and location.
|
|
rpc ListDeployments(ListDeploymentsRequest)
|
|
returns (ListDeploymentsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*}/deployments"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Gets details about a [Deployment][google.cloud.config.v1.Deployment].
|
|
rpc GetDeployment(GetDeploymentRequest) returns (Deployment) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/deployments/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Creates a [Deployment][google.cloud.config.v1.Deployment].
|
|
rpc CreateDeployment(CreateDeploymentRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{parent=projects/*/locations/*}/deployments"
|
|
body: "deployment"
|
|
};
|
|
option (google.api.method_signature) = "parent,deployment,deployment_id";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Deployment"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Updates a [Deployment][google.cloud.config.v1.Deployment].
|
|
rpc UpdateDeployment(UpdateDeploymentRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
patch: "/v1/{deployment.name=projects/*/locations/*/deployments/*}"
|
|
body: "deployment"
|
|
};
|
|
option (google.api.method_signature) = "deployment,update_mask";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Deployment"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Deletes a [Deployment][google.cloud.config.v1.Deployment].
|
|
rpc DeleteDeployment(DeleteDeploymentRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
delete: "/v1/{name=projects/*/locations/*/deployments/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Deployment"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Lists [Revision][google.cloud.config.v1.Revision]s of a deployment.
|
|
rpc ListRevisions(ListRevisionsRequest) returns (ListRevisionsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*/deployments/*}/revisions"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Gets details about a [Revision][google.cloud.config.v1.Revision].
|
|
rpc GetRevision(GetRevisionRequest) returns (Revision) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/deployments/*/revisions/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Gets details about a [Resource][google.cloud.config.v1.Resource] deployed
|
|
// by Infra Manager.
|
|
rpc GetResource(GetResourceRequest) returns (Resource) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/deployments/*/revisions/*/resources/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Lists [Resources][google.cloud.config.v1.Resource] in a given revision.
|
|
rpc ListResources(ListResourcesRequest) returns (ListResourcesResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*/deployments/*/revisions/*}/resources"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Exports Terraform state file from a given deployment.
|
|
rpc ExportDeploymentStatefile(ExportDeploymentStatefileRequest)
|
|
returns (Statefile) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{parent=projects/*/locations/*/deployments/*}:exportState"
|
|
body: "*"
|
|
};
|
|
}
|
|
|
|
// Exports Terraform state file from a given revision.
|
|
rpc ExportRevisionStatefile(ExportRevisionStatefileRequest)
|
|
returns (Statefile) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{parent=projects/*/locations/*/deployments/*/revisions/*}:exportState"
|
|
body: "*"
|
|
};
|
|
}
|
|
|
|
// Imports Terraform state file in a given deployment. The state file does not
|
|
// take effect until the Deployment has been unlocked.
|
|
rpc ImportStatefile(ImportStatefileRequest) returns (Statefile) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{parent=projects/*/locations/*/deployments/*}:importState"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "parent,lock_id";
|
|
}
|
|
|
|
// Deletes Terraform state file in a given deployment.
|
|
rpc DeleteStatefile(DeleteStatefileRequest) returns (google.protobuf.Empty) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{name=projects/*/locations/*/deployments/*}:deleteState"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Locks a deployment.
|
|
rpc LockDeployment(LockDeploymentRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{name=projects/*/locations/*/deployments/*}:lock"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Deployment"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Unlocks a locked deployment.
|
|
rpc UnlockDeployment(UnlockDeploymentRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{name=projects/*/locations/*/deployments/*}:unlock"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "name,lock_id";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Deployment"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Exports the lock info on a locked deployment.
|
|
rpc ExportLockInfo(ExportLockInfoRequest) returns (LockInfo) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/deployments/*}:exportLock"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Creates a [Preview][google.cloud.config.v1.Preview].
|
|
rpc CreatePreview(CreatePreviewRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{parent=projects/*/locations/*}/previews"
|
|
body: "preview"
|
|
};
|
|
option (google.api.method_signature) = "parent,preview";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Preview"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Gets details about a [Preview][google.cloud.config.v1.Preview].
|
|
rpc GetPreview(GetPreviewRequest) returns (Preview) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/previews/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Lists [Preview][google.cloud.config.v1.Preview]s in a given project and
|
|
// location.
|
|
rpc ListPreviews(ListPreviewsRequest) returns (ListPreviewsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*}/previews"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Deletes a [Preview][google.cloud.config.v1.Preview].
|
|
rpc DeletePreview(DeletePreviewRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
delete: "/v1/{name=projects/*/locations/*/previews/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Preview"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Export [Preview][google.cloud.config.v1.Preview] results.
|
|
rpc ExportPreviewResult(ExportPreviewResultRequest)
|
|
returns (ExportPreviewResultResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{parent=projects/*/locations/*/previews/*}:export"
|
|
body: "*"
|
|
};
|
|
}
|
|
|
|
// Lists [TerraformVersion][google.cloud.config.v1.TerraformVersion]s in a
|
|
// given project and location.
|
|
rpc ListTerraformVersions(ListTerraformVersionsRequest)
|
|
returns (ListTerraformVersionsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*}/terraformVersions"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Gets details about a
|
|
// [TerraformVersion][google.cloud.config.v1.TerraformVersion].
|
|
rpc GetTerraformVersion(GetTerraformVersionRequest)
|
|
returns (TerraformVersion) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/terraformVersions/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Lists ResourceChanges for a given preview.
|
|
rpc ListResourceChanges(ListResourceChangesRequest)
|
|
returns (ListResourceChangesResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*/previews/*}/resourceChanges"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Get a ResourceChange for a given preview.
|
|
rpc GetResourceChange(GetResourceChangeRequest) returns (ResourceChange) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/previews/*/resourceChanges/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// List ResourceDrifts for a given preview.
|
|
rpc ListResourceDrifts(ListResourceDriftsRequest)
|
|
returns (ListResourceDriftsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*/previews/*}/resourceDrifts"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Get a ResourceDrift for a given preview.
|
|
rpc GetResourceDrift(GetResourceDriftRequest) returns (ResourceDrift) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/previews/*/resourceDrifts/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Get the AutoMigrationConfig for a given project and location.
|
|
rpc GetAutoMigrationConfig(GetAutoMigrationConfigRequest)
|
|
returns (AutoMigrationConfig) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/autoMigrationConfig}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Updates the AutoMigrationConfig for a given project and location.
|
|
rpc UpdateAutoMigrationConfig(UpdateAutoMigrationConfigRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
patch: "/v1/{auto_migration_config.name=projects/*/locations/*/autoMigrationConfig}"
|
|
body: "auto_migration_config"
|
|
};
|
|
option (google.api.method_signature) = "auto_migration_config,update_mask";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "AutoMigrationConfig"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Get a DeploymentGroup for a given project and location.
|
|
rpc GetDeploymentGroup(GetDeploymentGroupRequest) returns (DeploymentGroup) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/deploymentGroups/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Creates a [DeploymentGroup][google.cloud.config.v1.DeploymentGroup]
|
|
// The newly created DeploymentGroup will be in the `CREATING` state
|
|
// and can be retrieved via Get and List calls.
|
|
rpc CreateDeploymentGroup(CreateDeploymentGroupRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{parent=projects/*/locations/*}/deploymentGroups"
|
|
body: "deployment_group"
|
|
};
|
|
option (google.api.method_signature) =
|
|
"parent,deployment_group,deployment_group_id";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "DeploymentGroup"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Updates a [DeploymentGroup][google.cloud.config.v1.DeploymentGroup]
|
|
rpc UpdateDeploymentGroup(UpdateDeploymentGroupRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
patch: "/v1/{deployment_group.name=projects/*/locations/*/deploymentGroups/*}"
|
|
body: "deployment_group"
|
|
};
|
|
option (google.api.method_signature) = "deployment_group,update_mask";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "DeploymentGroup"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Deletes a [DeploymentGroup][google.cloud.config.v1.DeploymentGroup]
|
|
rpc DeleteDeploymentGroup(DeleteDeploymentGroupRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
delete: "/v1/{name=projects/*/locations/*/deploymentGroups/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "DeploymentGroup"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// List DeploymentGroups for a given project and location.
|
|
rpc ListDeploymentGroups(ListDeploymentGroupsRequest)
|
|
returns (ListDeploymentGroupsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*}/deploymentGroups"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Provisions a deployment group.
|
|
//
|
|
// NOTE: As a first step of this operation, Infra Manager will
|
|
// automatically delete any Deployments that were part of the
|
|
// *last successful*
|
|
// [DeploymentGroupRevision][google.cloud.config.v1.DeploymentGroupRevision]
|
|
// but are *no longer* included in the *current*
|
|
// [DeploymentGroup][google.cloud.config.v1.DeploymentGroup] definition (e.g.,
|
|
// following an `UpdateDeploymentGroup` call), along with their actuated
|
|
// resources.
|
|
rpc ProvisionDeploymentGroup(ProvisionDeploymentGroupRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{name=projects/*/locations/*/deploymentGroups/*}:provision"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "DeploymentGroup"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Deprovisions a deployment group.
|
|
//
|
|
// NOTE: As a first step of this operation, Infra Manager will
|
|
// automatically delete any Deployments that were part of the
|
|
// *last successful*
|
|
// [DeploymentGroupRevision][google.cloud.config.v1.DeploymentGroupRevision]
|
|
// but are *no longer* included in the *current*
|
|
// [DeploymentGroup][google.cloud.config.v1.DeploymentGroup] definition (e.g.,
|
|
// following an `UpdateDeploymentGroup` call), along with their actuated
|
|
// resources.
|
|
rpc DeprovisionDeploymentGroup(DeprovisionDeploymentGroupRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{name=projects/*/locations/*/deploymentGroups/*}:deprovision"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "DeploymentGroup"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Gets details about a
|
|
// [DeploymentGroupRevision][google.cloud.config.v1.DeploymentGroupRevision].
|
|
rpc GetDeploymentGroupRevision(GetDeploymentGroupRevisionRequest)
|
|
returns (DeploymentGroupRevision) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/deploymentGroups/*/revisions/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Lists
|
|
// [DeploymentGroupRevision][google.cloud.config.v1.DeploymentGroupRevision]s
|
|
// in a given [DeploymentGroup][google.cloud.config.v1.DeploymentGroup].
|
|
rpc ListDeploymentGroupRevisions(ListDeploymentGroupRevisionsRequest)
|
|
returns (ListDeploymentGroupRevisionsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*/deploymentGroups/*}/revisions"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
}
|
|
|
|
// Enum values to control quota checks for resources in terraform
|
|
// configuration files.
|
|
enum QuotaValidation {
|
|
// The default value.
|
|
// QuotaValidation on terraform configuration files will be disabled in
|
|
// this case.
|
|
QUOTA_VALIDATION_UNSPECIFIED = 0;
|
|
|
|
// Enable computing quotas for resources in terraform configuration files to
|
|
// get visibility on resources with insufficient quotas.
|
|
ENABLED = 1;
|
|
|
|
// Enforce quota checks so deployment fails if there isn't sufficient quotas
|
|
// available to deploy resources in terraform configuration files.
|
|
ENFORCED = 2;
|
|
}
|
|
|
|
// A Deployment is a group of resources and configs managed and provisioned by
|
|
// Infra Manager.
|
|
message Deployment {
|
|
option (google.api.resource) = {
|
|
type: "config.googleapis.com/Deployment"
|
|
pattern: "projects/{project}/locations/{location}/deployments/{deployment}"
|
|
};
|
|
|
|
// Possible states of a deployment.
|
|
enum State {
|
|
// The default value. This value is used if the state is omitted.
|
|
STATE_UNSPECIFIED = 0;
|
|
|
|
// The deployment is being created.
|
|
CREATING = 1;
|
|
|
|
// The deployment is healthy.
|
|
ACTIVE = 2;
|
|
|
|
// The deployment is being updated.
|
|
UPDATING = 3;
|
|
|
|
// The deployment is being deleted.
|
|
DELETING = 4;
|
|
|
|
// The deployment has encountered an unexpected error.
|
|
FAILED = 5;
|
|
|
|
// The deployment is no longer being actively reconciled.
|
|
// This may be the result of recovering the project after deletion.
|
|
SUSPENDED = 6;
|
|
|
|
// The deployment has been deleted.
|
|
DELETED = 7;
|
|
}
|
|
|
|
// Possible errors that can occur with deployments.
|
|
enum ErrorCode {
|
|
// No error code was specified.
|
|
ERROR_CODE_UNSPECIFIED = 0;
|
|
|
|
// The revision failed. See Revision for more details.
|
|
REVISION_FAILED = 1;
|
|
|
|
// Cloud Build failed due to a permission issue.
|
|
CLOUD_BUILD_PERMISSION_DENIED = 3;
|
|
|
|
// Cloud Build job associated with a deployment deletion could not be
|
|
// started.
|
|
DELETE_BUILD_API_FAILED = 5;
|
|
|
|
// Cloud Build job associated with a deployment deletion was started but
|
|
// failed.
|
|
DELETE_BUILD_RUN_FAILED = 6;
|
|
|
|
// Cloud Storage bucket creation failed due to a permission issue.
|
|
BUCKET_CREATION_PERMISSION_DENIED = 7;
|
|
|
|
// Cloud Storage bucket creation failed due to an issue unrelated to
|
|
// permissions.
|
|
BUCKET_CREATION_FAILED = 8;
|
|
|
|
// Failed to import values from an external source.
|
|
EXTERNAL_VALUE_SOURCE_IMPORT_FAILED = 10;
|
|
}
|
|
|
|
// Possible lock states of a deployment.
|
|
enum LockState {
|
|
// The default value. This value is used if the lock state is omitted.
|
|
LOCK_STATE_UNSPECIFIED = 0;
|
|
|
|
// The deployment is locked.
|
|
LOCKED = 1;
|
|
|
|
// The deployment is unlocked.
|
|
UNLOCKED = 2;
|
|
|
|
// The deployment is being locked.
|
|
LOCKING = 3;
|
|
|
|
// The deployment is being unlocked.
|
|
UNLOCKING = 4;
|
|
|
|
// The deployment has failed to lock.
|
|
LOCK_FAILED = 5;
|
|
|
|
// The deployment has failed to unlock.
|
|
UNLOCK_FAILED = 6;
|
|
}
|
|
|
|
// Blueprint to deploy.
|
|
oneof blueprint {
|
|
// A blueprint described using Terraform's HashiCorp Configuration Language
|
|
// as a root module.
|
|
TerraformBlueprint terraform_blueprint = 6;
|
|
}
|
|
|
|
// Identifier. Resource name of the deployment.
|
|
// Format: `projects/{project}/locations/{location}/deployments/{deployment}`
|
|
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
|
|
// Output only. Time when the deployment was created.
|
|
google.protobuf.Timestamp create_time = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Time when the deployment was last modified.
|
|
google.protobuf.Timestamp update_time = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Optional. User-defined metadata for the deployment.
|
|
map<string, string> labels = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Output only. Current state of the deployment.
|
|
State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Revision name that was most recently applied.
|
|
// Format: `projects/{project}/locations/{location}/deployments/{deployment}/
|
|
// revisions/{revision}`
|
|
string latest_revision = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Additional information regarding the current state.
|
|
string state_detail = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Error code describing errors that may have occurred.
|
|
ErrorCode error_code = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Location of artifacts from a DeleteDeployment operation.
|
|
ApplyResults delete_results = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Cloud Build instance UUID associated with deleting this
|
|
// deployment.
|
|
string delete_build = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Location of Cloud Build logs in Google Cloud Storage,
|
|
// populated when deleting this deployment. Format: `gs://{bucket}/{object}`.
|
|
string delete_logs = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Errors encountered when deleting this deployment.
|
|
// Errors are truncated to 10 entries, see `delete_results` and `error_logs`
|
|
// for full details.
|
|
repeated TerraformError tf_errors = 13
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Location of Terraform error logs in Google Cloud Storage.
|
|
// Format: `gs://{bucket}/{object}`.
|
|
string error_logs = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Optional. User-defined location of Cloud Build logs and artifacts in Google
|
|
// Cloud Storage. Format: `gs://{bucket}/{folder}`
|
|
//
|
|
// A default bucket will be bootstrapped if the field is not set or empty.
|
|
// Default bucket format: `gs://<project number>-<region>-blueprint-config`
|
|
// Constraints:
|
|
// - The bucket needs to be in the same project as the deployment
|
|
// - The path cannot be within the path of `gcs_source`
|
|
// - The field cannot be updated, including changing its presence
|
|
optional string artifacts_gcs_bucket = 15
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Required. User-specified Service Account (SA) credentials to be used when
|
|
// actuating resources.
|
|
// Format: `projects/{projectID}/serviceAccounts/{serviceAccount}`
|
|
optional string service_account = 16 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "iam.googleapis.com/ServiceAccount"
|
|
}
|
|
];
|
|
|
|
// By default, Infra Manager will return a failure when
|
|
// Terraform encounters a 409 code (resource conflict error) during actuation.
|
|
// If this flag is set to true, Infra Manager will instead
|
|
// attempt to automatically import the resource into the Terraform state (for
|
|
// supported resource types) and continue actuation.
|
|
//
|
|
// Not all resource types are supported, refer to documentation.
|
|
optional bool import_existing_resources = 17;
|
|
|
|
// Optional. The user-specified Cloud Build worker pool resource in which the
|
|
// Cloud Build job will execute. Format:
|
|
// `projects/{project}/locations/{location}/workerPools/{workerPoolId}`.
|
|
// If this field is unspecified, the default Cloud Build worker pool will be
|
|
// used.
|
|
optional string worker_pool = 19 [
|
|
(google.api.field_behavior) = OPTIONAL,
|
|
(google.api.resource_reference) = {
|
|
type: "cloudbuild.googleapis.com/WorkerPool"
|
|
}
|
|
];
|
|
|
|
// Output only. Current lock state of the deployment.
|
|
LockState lock_state = 20 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Optional. The user-specified Terraform version constraint.
|
|
// Example: "=1.3.10".
|
|
optional string tf_version_constraint = 21
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Output only. The current Terraform version set on the deployment.
|
|
// It is in the format of "Major.Minor.Patch", for example, "1.3.10".
|
|
string tf_version = 22 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Optional. Input to control quota checks for resources in terraform
|
|
// configuration files. There are limited resources on which quota validation
|
|
// applies.
|
|
QuotaValidation quota_validation = 23
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Arbitrary key-value metadata storage e.g. to help client tools
|
|
// identify deployments during automation. See
|
|
// https://google.aip.dev/148#annotations for details on format and size
|
|
// limitations.
|
|
map<string, string> annotations = 24 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. This field specifies the provider configurations.
|
|
ProviderConfig provider_config = 25 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// TerraformBlueprint describes the source of a Terraform root module which
|
|
// describes the resources and configs to be deployed.
|
|
message TerraformBlueprint {
|
|
// Location of the source configs.
|
|
// Required.
|
|
oneof source {
|
|
// URI of an object in Google Cloud Storage.
|
|
// Format: `gs://{bucket}/{object}`
|
|
//
|
|
// URI may also specify an object version for zipped objects.
|
|
// Format: `gs://{bucket}/{object}#{version}`
|
|
string gcs_source = 1;
|
|
|
|
// URI of a public Git repo.
|
|
GitSource git_source = 2;
|
|
}
|
|
|
|
// Optional. Input variable values for the Terraform blueprint.
|
|
map<string, TerraformVariable> input_values = 4
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Map of input variable names in this blueprint to configurations
|
|
// for importing values from external sources.
|
|
map<string, ExternalValueSource> external_values = 5
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// A Terraform input variable.
|
|
message TerraformVariable {
|
|
// Optional. Input variable value.
|
|
google.protobuf.Value input_value = 5
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Configuration for a source of an external value.
|
|
message ExternalValueSource {
|
|
// The source of the external value.
|
|
oneof source {
|
|
// A source from a Deployment.
|
|
DeploymentSource deployment_source = 1;
|
|
}
|
|
}
|
|
|
|
// Configuration for a value sourced from a Deployment.
|
|
message DeploymentSource {
|
|
// Required. The resource name of the source Deployment to import the output
|
|
// from. Format:
|
|
// projects/{project}/locations/{location}/deployments/{deployment} The source
|
|
// deployment must be in the same project and location.
|
|
string deployment = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/Deployment"
|
|
}
|
|
];
|
|
|
|
// Required. The name of the output variable in the source deployment's latest
|
|
// successfully applied revision.
|
|
string output_name = 2 [(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
// Outputs and artifacts from applying a deployment.
|
|
message ApplyResults {
|
|
// Location of a blueprint copy and other manifests in Google Cloud Storage.
|
|
// Format: `gs://{bucket}/{object}`
|
|
string content = 1;
|
|
|
|
// Location of artifacts (e.g. logs) in Google Cloud Storage.
|
|
// Format: `gs://{bucket}/{object}`
|
|
string artifacts = 2;
|
|
|
|
// Map of output name to output info.
|
|
map<string, TerraformOutput> outputs = 3;
|
|
}
|
|
|
|
// Describes a Terraform output.
|
|
message TerraformOutput {
|
|
// Identifies whether Terraform has set this output as a potential
|
|
// sensitive value.
|
|
bool sensitive = 1;
|
|
|
|
// Value of output.
|
|
google.protobuf.Value value = 2;
|
|
}
|
|
|
|
message ListDeploymentsRequest {
|
|
// Required. The parent in whose context the Deployments are listed. The
|
|
// parent value is in the format:
|
|
// 'projects/{project_id}/locations/{location}'.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "locations.googleapis.com/Location"
|
|
}
|
|
];
|
|
|
|
// When requesting a page of resources, 'page_size' specifies number of
|
|
// resources to return. If unspecified, at most 500 will be returned. The
|
|
// maximum value is 1000.
|
|
int32 page_size = 2;
|
|
|
|
// Token returned by previous call to 'ListDeployments' which specifies the
|
|
// position in the list from where to continue listing the resources.
|
|
string page_token = 3;
|
|
|
|
// Lists the Deployments that match the filter expression. A filter
|
|
// expression filters the resources listed in the response. The expression
|
|
// must be of the form '{field} {operator} {value}' where operators: '<', '>',
|
|
// '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS
|
|
// operator which is roughly synonymous with equality). {field} can refer to a
|
|
// proto or JSON field, or a synthetic field. Field names can be camelCase or
|
|
// snake_case.
|
|
//
|
|
// Examples:
|
|
// - Filter by name:
|
|
// name = "projects/foo/locations/us-central1/deployments/bar
|
|
//
|
|
// - Filter by labels:
|
|
// - Resources that have a key called 'foo'
|
|
// labels.foo:*
|
|
// - Resources that have a key called 'foo' whose value is 'bar'
|
|
// labels.foo = bar
|
|
//
|
|
// - Filter by state:
|
|
// - Deployments in CREATING state.
|
|
// state=CREATING
|
|
string filter = 4;
|
|
|
|
// Field to use to sort the list.
|
|
string order_by = 5;
|
|
}
|
|
|
|
message ListDeploymentsResponse {
|
|
// List of [Deployment][google.cloud.config.v1.Deployment]s.
|
|
repeated Deployment deployments = 1;
|
|
|
|
// Token to be supplied to the next ListDeployments request via `page_token`
|
|
// to obtain the next set of results.
|
|
string next_page_token = 2;
|
|
|
|
// Locations that could not be reached.
|
|
repeated string unreachable = 3;
|
|
}
|
|
|
|
message GetDeploymentRequest {
|
|
// Required. The name of the deployment. Format:
|
|
// 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/Deployment"
|
|
}
|
|
];
|
|
}
|
|
|
|
// A request to list Revisions passed to a 'ListRevisions' call.
|
|
message ListRevisionsRequest {
|
|
// Required. The parent in whose context the Revisions are listed. The parent
|
|
// value is in the format:
|
|
// 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/Deployment"
|
|
}
|
|
];
|
|
|
|
// When requesting a page of resources, `page_size` specifies number of
|
|
// resources to return. If unspecified, at most 500 will be returned. The
|
|
// maximum value is 1000.
|
|
int32 page_size = 2;
|
|
|
|
// Token returned by previous call to 'ListRevisions' which specifies the
|
|
// position in the list from where to continue listing the resources.
|
|
string page_token = 3;
|
|
|
|
// Lists the Revisions that match the filter expression. A filter
|
|
// expression filters the resources listed in the response. The expression
|
|
// must be of the form '{field} {operator} {value}' where operators: '<', '>',
|
|
// '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS
|
|
// operator which is roughly synonymous with equality). {field} can refer to a
|
|
// proto or JSON field, or a synthetic field. Field names can be camelCase or
|
|
// snake_case.
|
|
//
|
|
// Examples:
|
|
// - Filter by name:
|
|
// name = "projects/foo/locations/us-central1/deployments/dep/revisions/bar
|
|
//
|
|
// - Filter by labels:
|
|
// - Resources that have a key called 'foo'
|
|
// labels.foo:*
|
|
// - Resources that have a key called 'foo' whose value is 'bar'
|
|
// labels.foo = bar
|
|
//
|
|
// - Filter by state:
|
|
// - Revisions in CREATING state.
|
|
// state=CREATING
|
|
string filter = 4;
|
|
|
|
// Field to use to sort the list.
|
|
string order_by = 5;
|
|
}
|
|
|
|
// A response to a 'ListRevisions' call. Contains a list of Revisions.
|
|
message ListRevisionsResponse {
|
|
// List of [Revision][google.cloud.config.v1.Revision]s.
|
|
repeated Revision revisions = 1;
|
|
|
|
// A token to request the next page of resources from the 'ListRevisions'
|
|
// method. The value of an empty string means that there are no more resources
|
|
// to return.
|
|
string next_page_token = 2;
|
|
|
|
// Locations that could not be reached.
|
|
repeated string unreachable = 3;
|
|
}
|
|
|
|
// A request to get a Revision from a 'GetRevision' call.
|
|
message GetRevisionRequest {
|
|
// Required. The name of the Revision in the format:
|
|
// 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "config.googleapis.com/Revision" }
|
|
];
|
|
}
|
|
|
|
message CreateDeploymentRequest {
|
|
// Required. The parent in whose context the Deployment is created. The parent
|
|
// value is in the format: 'projects/{project_id}/locations/{location}'.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "locations.googleapis.com/Location"
|
|
}
|
|
];
|
|
|
|
// Required. The Deployment ID.
|
|
string deployment_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. [Deployment][google.cloud.config.v1.Deployment] resource to be
|
|
// created.
|
|
Deployment deployment = 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_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// A request to create a deployment group
|
|
message CreateDeploymentGroupRequest {
|
|
// Required. The parent in whose context the Deployment Group is created. The
|
|
// parent value is in the format: 'projects/{project_id}/locations/{location}'
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "locations.googleapis.com/Location"
|
|
}
|
|
];
|
|
|
|
// Required. The deployment group ID.
|
|
string deployment_group_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. [Deployment Group][] resource to create
|
|
DeploymentGroup deployment_group = 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
|
|
];
|
|
}
|
|
|
|
// A request message for updating a deployment group
|
|
message UpdateDeploymentGroupRequest {
|
|
// Optional. Field mask used to specify the fields to be overwritten in the
|
|
// Deployment Group 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) = OPTIONAL];
|
|
|
|
// Required. [DeploymentGroup][google.cloud.config.v1.DeploymentGroup] to
|
|
// update.
|
|
//
|
|
// The deployment group's `name` field is used to identify the resource to be
|
|
// updated. Format:
|
|
// `projects/{project}/locations/{location}/deploymentGroups/{deployment_group_id}`
|
|
DeploymentGroup deployment_group = 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
|
|
];
|
|
}
|
|
|
|
// Request message for Delete DeploymentGroup
|
|
message DeleteDeploymentGroupRequest {
|
|
// Policy on how to handle referenced deployments when deleting the
|
|
// DeploymentGroup.
|
|
enum DeploymentReferencePolicy {
|
|
// The default behavior. If unspecified, the system will act as if
|
|
// `FAIL_IF_ANY_REFERENCES_EXIST` is specified.
|
|
DEPLOYMENT_REFERENCE_POLICY_UNSPECIFIED = 0;
|
|
|
|
// Fail the deletion if any deployments currently referenced in the
|
|
// `deployment_units` of the DeploymentGroup or in the latest revision
|
|
// are not deleted.
|
|
FAIL_IF_ANY_REFERENCES_EXIST = 1;
|
|
|
|
// Fail the deletion only if any deployments currently referenced in the
|
|
// `deployment_units` of the DeploymentGroup are not deleted.
|
|
// The deletion will proceed even if the deployments in the latest revision
|
|
// of the DeploymentGroup are not deleted.
|
|
FAIL_IF_METADATA_REFERENCES_EXIST = 2;
|
|
|
|
// Ignore any deployments currently referenced in the
|
|
// `deployment_units` of the DeploymentGroup or in the latest revision.
|
|
IGNORE_DEPLOYMENT_REFERENCES = 3;
|
|
}
|
|
|
|
// Required. The name of DeploymentGroup in the format
|
|
// projects/{project_id}/locations/{location_id}/deploymentGroups/{deploymentGroup}
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/DeploymentGroup"
|
|
}
|
|
];
|
|
|
|
// 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 to true, any revisions for this deployment group will also
|
|
// be deleted. (Otherwise, the request will only work if the deployment group
|
|
// has no revisions.)
|
|
bool force = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Policy on how to handle referenced deployments when deleting the
|
|
// DeploymentGroup.
|
|
// If unspecified, the default behavior is to fail the deletion if any
|
|
// deployments currently referenced in the `deployment_units` of the
|
|
// DeploymentGroup or in the latest revision are not deleted.
|
|
DeploymentReferencePolicy deployment_reference_policy = 4
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
message UpdateDeploymentRequest {
|
|
// Optional. Field mask used to specify the fields to be overwritten in the
|
|
// Deployment 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) = OPTIONAL];
|
|
|
|
// Required. [Deployment][google.cloud.config.v1.Deployment] to update.
|
|
//
|
|
// The deployment's `name` field is used to identify the resource to be
|
|
// updated. Format:
|
|
// `projects/{project}/locations/{location}/deployments/{deployment}`
|
|
Deployment deployment = 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_behavior) = OPTIONAL];
|
|
}
|
|
|
|
message DeleteDeploymentRequest {
|
|
// Policy on how resources actuated by the deployment should be deleted.
|
|
enum DeletePolicy {
|
|
// Unspecified policy, resources will be deleted.
|
|
DELETE_POLICY_UNSPECIFIED = 0;
|
|
|
|
// Deletes resources actuated by the deployment.
|
|
DELETE = 1;
|
|
|
|
// Abandons resources and only deletes the deployment and its metadata.
|
|
ABANDON = 2;
|
|
}
|
|
|
|
// Required. The name of the Deployment in the format:
|
|
// 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/Deployment"
|
|
}
|
|
];
|
|
|
|
// 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_behavior) = OPTIONAL];
|
|
|
|
// Optional. If set to true, any revisions for this deployment will also be
|
|
// deleted. (Otherwise, the request will only work if the deployment has no
|
|
// revisions.)
|
|
bool force = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Policy on how resources actuated by the deployment should be
|
|
// deleted. If unspecified, the default behavior is to delete the underlying
|
|
// resources.
|
|
DeletePolicy delete_policy = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Represents the metadata of the long-running operation.
|
|
message OperationMetadata {
|
|
// Ephemeral metadata about the state of an operation for a particular
|
|
// resource.
|
|
oneof resource_metadata {
|
|
// Output only. Metadata about the deployment operation state.
|
|
DeploymentOperationMetadata deployment_metadata = 8
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Metadata about the preview operation state.
|
|
PreviewOperationMetadata preview_metadata = 9
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Metadata about ProvisionDeploymentGroup operation state.
|
|
ProvisionDeploymentGroupOperationMetadata
|
|
provision_deployment_group_metadata = 10
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Output only. Time when the operation was created.
|
|
google.protobuf.Timestamp create_time = 1
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Time when 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 successfully been cancelled 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];
|
|
}
|
|
|
|
// A child resource of a Deployment generated by a 'CreateDeployment' or
|
|
// 'UpdateDeployment' call. Each Revision contains metadata pertaining to a
|
|
// snapshot of a particular Deployment.
|
|
message Revision {
|
|
option (google.api.resource) = {
|
|
type: "config.googleapis.com/Revision"
|
|
pattern: "projects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}"
|
|
};
|
|
|
|
// Actions that generate a revision.
|
|
enum Action {
|
|
// The default value. This value is used if the action is omitted.
|
|
ACTION_UNSPECIFIED = 0;
|
|
|
|
// The revision was generated by creating a deployment.
|
|
CREATE = 1;
|
|
|
|
// The revision was generated by updating a deployment.
|
|
UPDATE = 2;
|
|
|
|
// The revision was deleted.
|
|
DELETE = 3;
|
|
}
|
|
|
|
// Possible states of a revision.
|
|
enum State {
|
|
// The default value. This value is used if the state is omitted.
|
|
STATE_UNSPECIFIED = 0;
|
|
|
|
// The revision is being applied.
|
|
APPLYING = 1;
|
|
|
|
// The revision was applied successfully.
|
|
APPLIED = 2;
|
|
|
|
// The revision could not be applied successfully.
|
|
FAILED = 3;
|
|
}
|
|
|
|
// Possible errors if Revision could not be created or updated successfully.
|
|
enum ErrorCode {
|
|
// No error code was specified.
|
|
ERROR_CODE_UNSPECIFIED = 0;
|
|
|
|
// Cloud Build failed due to a permission issue.
|
|
CLOUD_BUILD_PERMISSION_DENIED = 1;
|
|
|
|
// Cloud Build job associated with creating or updating a deployment could
|
|
// not be started.
|
|
APPLY_BUILD_API_FAILED = 4;
|
|
|
|
// Cloud Build job associated with creating or updating a deployment was
|
|
// started but failed.
|
|
APPLY_BUILD_RUN_FAILED = 5;
|
|
|
|
// quota validation failed for one or more resources in terraform
|
|
// configuration files.
|
|
QUOTA_VALIDATION_FAILED = 7;
|
|
|
|
// Failed to import values from an external source.
|
|
EXTERNAL_VALUE_SOURCE_IMPORT_FAILED = 8;
|
|
}
|
|
|
|
// Blueprint that was deployed.
|
|
oneof blueprint {
|
|
// Output only. A blueprint described using Terraform's HashiCorp
|
|
// Configuration Language as a root module.
|
|
TerraformBlueprint terraform_blueprint = 6
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Revision name. Format:
|
|
// `projects/{project}/locations/{location}/deployments/{deployment}/
|
|
// revisions/{revision}`
|
|
string name = 1;
|
|
|
|
// Output only. Time when the revision was created.
|
|
google.protobuf.Timestamp create_time = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Time when the revision was last modified.
|
|
google.protobuf.Timestamp update_time = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The action which created this revision
|
|
Action action = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Current state of the revision.
|
|
State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Outputs and artifacts from applying a deployment.
|
|
ApplyResults apply_results = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Additional info regarding the current state.
|
|
string state_detail = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Code describing any errors that may have occurred.
|
|
ErrorCode error_code = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Cloud Build instance UUID associated with this revision.
|
|
string build = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Location of Revision operation logs in
|
|
// `gs://{bucket}/{object}` format.
|
|
string logs = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Errors encountered when creating or updating this deployment.
|
|
// Errors are truncated to 10 entries, see `delete_results` and `error_logs`
|
|
// for full details.
|
|
repeated TerraformError tf_errors = 12
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Location of Terraform error logs in Google Cloud Storage.
|
|
// Format: `gs://{bucket}/{object}`.
|
|
string error_logs = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. User-specified Service Account (SA) to be used as credential
|
|
// to manage resources. Format:
|
|
// `projects/{projectID}/serviceAccounts/{serviceAccount}`
|
|
string service_account = 14 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = {
|
|
type: "iam.googleapis.com/ServiceAccount"
|
|
}
|
|
];
|
|
|
|
// Output only. By default, Infra Manager will return a failure when
|
|
// Terraform encounters a 409 code (resource conflict error) during actuation.
|
|
// If this flag is set to true, Infra Manager will instead
|
|
// attempt to automatically import the resource into the Terraform state (for
|
|
// supported resource types) and continue actuation.
|
|
//
|
|
// Not all resource types are supported, refer to documentation.
|
|
bool import_existing_resources = 15
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The user-specified Cloud Build worker pool resource in which
|
|
// the Cloud Build job will execute. Format:
|
|
// `projects/{project}/locations/{location}/workerPools/{workerPoolId}`.
|
|
// If this field is unspecified, the default Cloud Build worker pool will be
|
|
// used.
|
|
string worker_pool = 17 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = {
|
|
type: "cloudbuild.googleapis.com/WorkerPool"
|
|
}
|
|
];
|
|
|
|
// Output only. The user-specified Terraform version constraint.
|
|
// Example: "=1.3.10".
|
|
string tf_version_constraint = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The version of Terraform used to create the Revision.
|
|
// It is in the format of "Major.Minor.Patch", for example, "1.3.10".
|
|
string tf_version = 19 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Cloud Storage path containing quota validation results. This
|
|
// field is set when a user sets Deployment.quota_validation field to ENABLED
|
|
// or ENFORCED. Format: `gs://{bucket}/{object}`.
|
|
string quota_validation_results = 29
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Optional. Input to control quota checks for resources in terraform
|
|
// configuration files. There are limited resources on which quota validation
|
|
// applies.
|
|
QuotaValidation quota_validation = 20
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Output only. This field specifies the provider configurations.
|
|
ProviderConfig provider_config = 21
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Errors encountered during actuation using Terraform
|
|
message TerraformError {
|
|
// Address of the resource associated with the error,
|
|
// e.g. `google_compute_network.vpc_network`.
|
|
string resource_address = 1;
|
|
|
|
// HTTP response code returned from Google Cloud Platform APIs when Terraform
|
|
// fails to provision the resource. If unset or 0, no HTTP response code was
|
|
// returned by Terraform.
|
|
int32 http_response_code = 2;
|
|
|
|
// A human-readable error description.
|
|
string error_description = 3;
|
|
|
|
// Output only. Original error response from underlying Google API, if
|
|
// available.
|
|
google.rpc.Status error = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// A set of files in a Git repository.
|
|
message GitSource {
|
|
// Optional. Repository URL.
|
|
// Example: 'https://github.com/kubernetes/examples.git'
|
|
optional string repo = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Subdirectory inside the repository.
|
|
// Example: 'staging/my-package'
|
|
optional string directory = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Git reference (e.g. branch or tag).
|
|
optional string ref = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Ephemeral metadata content describing the state of a deployment operation.
|
|
message DeploymentOperationMetadata {
|
|
// The possible steps a deployment may be running.
|
|
enum DeploymentStep {
|
|
// Unspecified deployment step
|
|
DEPLOYMENT_STEP_UNSPECIFIED = 0;
|
|
|
|
// Infra Manager is creating a Google Cloud Storage bucket to store
|
|
// artifacts and metadata about the deployment and revision
|
|
PREPARING_STORAGE_BUCKET = 1;
|
|
|
|
// Downloading the blueprint onto the Google Cloud Storage bucket
|
|
DOWNLOADING_BLUEPRINT = 2;
|
|
|
|
// Initializing Terraform using `terraform init`
|
|
RUNNING_TF_INIT = 3;
|
|
|
|
// Running `terraform plan`
|
|
RUNNING_TF_PLAN = 4;
|
|
|
|
// Actuating resources using Terraform using `terraform apply`
|
|
RUNNING_TF_APPLY = 5;
|
|
|
|
// Destroying resources using Terraform using `terraform destroy`
|
|
RUNNING_TF_DESTROY = 6;
|
|
|
|
// Validating the uploaded TF state file when unlocking a deployment
|
|
RUNNING_TF_VALIDATE = 7;
|
|
|
|
// Unlocking a deployment
|
|
UNLOCKING_DEPLOYMENT = 8;
|
|
|
|
// Operation was successful
|
|
SUCCEEDED = 9;
|
|
|
|
// Operation failed
|
|
FAILED = 10;
|
|
|
|
// Validating the provided repository.
|
|
VALIDATING_REPOSITORY = 11;
|
|
|
|
// Running quota validation
|
|
RUNNING_QUOTA_VALIDATION = 12;
|
|
}
|
|
|
|
// The current step the deployment operation is running.
|
|
DeploymentStep step = 1;
|
|
|
|
// Outputs and artifacts from applying a deployment.
|
|
ApplyResults apply_results = 2;
|
|
|
|
// Output only. Cloud Build instance UUID associated with this operation.
|
|
string build = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Location of Deployment operations logs in
|
|
// `gs://{bucket}/{object}` format.
|
|
string logs = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Resource represents a Google Cloud Platform resource actuated by IM.
|
|
// Resources are child resources of Revisions.
|
|
message Resource {
|
|
option (google.api.resource) = {
|
|
type: "config.googleapis.com/Resource"
|
|
pattern: "projects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}/resources/{resource}"
|
|
};
|
|
|
|
// Possible intent of the resource.
|
|
enum Intent {
|
|
// The default value. This value is used if the intent is omitted.
|
|
INTENT_UNSPECIFIED = 0;
|
|
|
|
// Infra Manager will create this Resource.
|
|
CREATE = 1;
|
|
|
|
// Infra Manager will update this Resource.
|
|
UPDATE = 2;
|
|
|
|
// Infra Manager will delete this Resource.
|
|
DELETE = 3;
|
|
|
|
// Infra Manager will destroy and recreate this Resource.
|
|
RECREATE = 4;
|
|
|
|
// Infra Manager will leave this Resource untouched.
|
|
UNCHANGED = 5;
|
|
}
|
|
|
|
// Possible states of a resource.
|
|
enum State {
|
|
// The default value. This value is used if the state is omitted.
|
|
STATE_UNSPECIFIED = 0;
|
|
|
|
// Resource has been planned for reconcile.
|
|
PLANNED = 1;
|
|
|
|
// Resource is actively reconciling into the intended state.
|
|
IN_PROGRESS = 2;
|
|
|
|
// Resource has reconciled to intended state.
|
|
RECONCILED = 3;
|
|
|
|
// Resource failed to reconcile.
|
|
FAILED = 4;
|
|
}
|
|
|
|
// Output only. Resource name.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}/resources/{resource}`
|
|
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Terraform-specific info if this resource was created using
|
|
// Terraform.
|
|
ResourceTerraformInfo terraform_info = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Map of Cloud Asset Inventory (CAI) type to CAI info (e.g. CAI
|
|
// ID). CAI type format follows
|
|
// https://cloud.google.com/asset-inventory/docs/supported-asset-types
|
|
map<string, ResourceCAIInfo> cai_assets = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Intent of the resource.
|
|
Intent intent = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Current state of the resource.
|
|
State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Terraform info of a Resource.
|
|
message ResourceTerraformInfo {
|
|
// TF resource address that uniquely identifies this resource within this
|
|
// deployment.
|
|
string address = 1;
|
|
|
|
// TF resource type
|
|
string type = 2;
|
|
|
|
// ID attribute of the TF resource
|
|
string id = 3;
|
|
}
|
|
|
|
// CAI info of a Resource.
|
|
message ResourceCAIInfo {
|
|
// CAI resource name in the format following
|
|
// https://cloud.google.com/apis/design/resource_names#full_resource_name
|
|
string full_resource_name = 1;
|
|
}
|
|
|
|
// A request to get a Resource from a 'GetResource' call.
|
|
message GetResourceRequest {
|
|
// Required. The name of the Resource in the format:
|
|
// 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}/resource/{resource}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "config.googleapis.com/Resource" }
|
|
];
|
|
}
|
|
|
|
// A request to list Resources passed to a 'ListResources' call.
|
|
message ListResourcesRequest {
|
|
// Required. The parent in whose context the Resources are listed. The parent
|
|
// value is in the format:
|
|
// 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "config.googleapis.com/Revision" }
|
|
];
|
|
|
|
// When requesting a page of resources, 'page_size' specifies number of
|
|
// resources to return. If unspecified, at most 500 will be returned. The
|
|
// maximum value is 1000.
|
|
int32 page_size = 2;
|
|
|
|
// Token returned by previous call to 'ListResources' which specifies the
|
|
// position in the list from where to continue listing the resources.
|
|
string page_token = 3;
|
|
|
|
// Lists the Resources that match the filter expression. A filter
|
|
// expression filters the resources listed in the response. The expression
|
|
// must be of the form '{field} {operator} {value}' where operators: '<', '>',
|
|
// '<=',
|
|
// '>=',
|
|
// '!=', '=', ':' are supported (colon ':' represents a HAS operator which is
|
|
// roughly synonymous with equality). {field} can refer to a proto or JSON
|
|
// field, or a synthetic field. Field names can be camelCase or snake_case.
|
|
//
|
|
// Examples:
|
|
// - Filter by name:
|
|
// name =
|
|
// "projects/foo/locations/us-central1/deployments/dep/revisions/bar/resources/baz
|
|
string filter = 4;
|
|
|
|
// Field to use to sort the list.
|
|
string order_by = 5;
|
|
}
|
|
|
|
// A response to a 'ListResources' call. Contains a list of Resources.
|
|
message ListResourcesResponse {
|
|
// List of [Resources][google.cloud.config.v1.Resource].
|
|
repeated Resource resources = 1;
|
|
|
|
// A token to request the next page of resources from the 'ListResources'
|
|
// method. The value of an empty string means that there are no more resources
|
|
// to return.
|
|
string next_page_token = 2;
|
|
|
|
// Locations that could not be reached.
|
|
repeated string unreachable = 3;
|
|
}
|
|
|
|
// Contains info about a Terraform state file
|
|
message Statefile {
|
|
// Output only. Cloud Storage signed URI used for downloading or uploading the
|
|
// state file.
|
|
string signed_uri = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// A request to export a state file passed to a 'ExportDeploymentStatefile'
|
|
// call.
|
|
message ExportDeploymentStatefileRequest {
|
|
// Required. The parent in whose context the statefile is listed. The parent
|
|
// value is in the format:
|
|
// 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/Deployment"
|
|
}
|
|
];
|
|
|
|
// Optional. If this flag is set to true, the exported deployment state file
|
|
// will be the draft state. This will enable the draft file to be validated
|
|
// before copying it over to the working state on unlock.
|
|
bool draft = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// A request to export a state file passed to a 'ExportRevisionStatefile'
|
|
// call.
|
|
message ExportRevisionStatefileRequest {
|
|
// Required. The parent in whose context the statefile is listed. The parent
|
|
// value is in the format:
|
|
// 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "config.googleapis.com/Revision" }
|
|
];
|
|
}
|
|
|
|
// A request to import a state file passed to a 'ImportStatefile' call.
|
|
message ImportStatefileRequest {
|
|
// Required. The parent in whose context the statefile is listed. The parent
|
|
// value is in the format:
|
|
// 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/Deployment"
|
|
}
|
|
];
|
|
|
|
// Required. Lock ID of the lock file to verify that the user who is importing
|
|
// the state file previously locked the Deployment.
|
|
int64 lock_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional.
|
|
bool skip_draft = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// A request to delete a state file passed to a 'DeleteStatefile' call.
|
|
message DeleteStatefileRequest {
|
|
// Required. The name of the deployment in the format:
|
|
// 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/Deployment"
|
|
}
|
|
];
|
|
|
|
// Required. Lock ID of the lock file to verify that the user who is deleting
|
|
// the state file previously locked the Deployment.
|
|
int64 lock_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
// A request to lock a deployment passed to a 'LockDeployment' call.
|
|
message LockDeploymentRequest {
|
|
// Required. The name of the deployment in the format:
|
|
// 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/Deployment"
|
|
}
|
|
];
|
|
}
|
|
|
|
// A request to unlock a state file passed to a 'UnlockDeployment' call.
|
|
message UnlockDeploymentRequest {
|
|
// Required. The name of the deployment in the format:
|
|
// 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/Deployment"
|
|
}
|
|
];
|
|
|
|
// Required. Lock ID of the lock file to be unlocked.
|
|
int64 lock_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
// A request to get a state file lock info passed to a 'ExportLockInfo' call.
|
|
message ExportLockInfoRequest {
|
|
// Required. The name of the deployment in the format:
|
|
// 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/Deployment"
|
|
}
|
|
];
|
|
}
|
|
|
|
// Details about the lock which locked the deployment.
|
|
message LockInfo {
|
|
// Unique ID for the lock to be overridden with generation ID in the backend.
|
|
int64 lock_id = 1;
|
|
|
|
// Terraform operation, provided by the caller.
|
|
string operation = 2;
|
|
|
|
// Extra information to store with the lock, provided by the caller.
|
|
string info = 3;
|
|
|
|
// user@hostname when available
|
|
string who = 4;
|
|
|
|
// Terraform version
|
|
string version = 5;
|
|
|
|
// Time that the lock was taken.
|
|
google.protobuf.Timestamp create_time = 6;
|
|
}
|
|
|
|
// A preview represents a set of actions Infra Manager would perform
|
|
// to move the resources towards the desired state as specified in the
|
|
// configuration.
|
|
message Preview {
|
|
option (google.api.resource) = {
|
|
type: "config.googleapis.com/Preview"
|
|
pattern: "projects/{project}/locations/{location}/previews/{preview}"
|
|
plural: "previews"
|
|
singular: "preview"
|
|
};
|
|
|
|
// Possible states of a preview.
|
|
enum State {
|
|
// The default value. This value is used if the state is unknown.
|
|
STATE_UNSPECIFIED = 0;
|
|
|
|
// The preview is being created.
|
|
CREATING = 1;
|
|
|
|
// The preview has succeeded.
|
|
SUCCEEDED = 2;
|
|
|
|
// The preview is being applied.
|
|
APPLYING = 3;
|
|
|
|
// The preview is stale. A preview can become stale if a revision has been
|
|
// applied after this preview was created.
|
|
STALE = 4;
|
|
|
|
// The preview is being deleted.
|
|
DELETING = 5;
|
|
|
|
// The preview has encountered an unexpected error.
|
|
FAILED = 6;
|
|
|
|
// The preview has been deleted.
|
|
DELETED = 7;
|
|
}
|
|
|
|
// Preview mode provides options for customizing preview operations.
|
|
enum PreviewMode {
|
|
// Unspecified policy, default mode will be used.
|
|
PREVIEW_MODE_UNSPECIFIED = 0;
|
|
|
|
// DEFAULT mode generates an execution plan for reconciling current resource
|
|
// state into expected resource state.
|
|
DEFAULT = 1;
|
|
|
|
// DELETE mode generates as execution plan for destroying current resources.
|
|
DELETE = 2;
|
|
}
|
|
|
|
// Possible errors that can occur with previews.
|
|
enum ErrorCode {
|
|
// No error code was specified.
|
|
ERROR_CODE_UNSPECIFIED = 0;
|
|
|
|
// Cloud Build failed due to a permissions issue.
|
|
CLOUD_BUILD_PERMISSION_DENIED = 1;
|
|
|
|
// Cloud Storage bucket failed to create due to a permissions issue.
|
|
BUCKET_CREATION_PERMISSION_DENIED = 2;
|
|
|
|
// Cloud Storage bucket failed for a non-permissions-related issue.
|
|
BUCKET_CREATION_FAILED = 3;
|
|
|
|
// Acquiring lock on provided deployment reference failed.
|
|
DEPLOYMENT_LOCK_ACQUIRE_FAILED = 4;
|
|
|
|
// Preview encountered an error when trying to access Cloud Build API.
|
|
PREVIEW_BUILD_API_FAILED = 5;
|
|
|
|
// Preview created a build but build failed and logs were generated.
|
|
PREVIEW_BUILD_RUN_FAILED = 6;
|
|
|
|
// Failed to import values from an external source.
|
|
EXTERNAL_VALUE_SOURCE_IMPORT_FAILED = 7;
|
|
}
|
|
|
|
// Blueprint to preview.
|
|
oneof blueprint {
|
|
// The terraform blueprint to preview.
|
|
TerraformBlueprint terraform_blueprint = 6;
|
|
}
|
|
|
|
// Identifier. Resource name of the preview. Resource name can be user
|
|
// provided or server generated ID if unspecified. Format:
|
|
// `projects/{project}/locations/{location}/previews/{preview}`
|
|
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
|
|
// Output only. Time the preview was created.
|
|
google.protobuf.Timestamp create_time = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Optional. User-defined labels for the preview.
|
|
map<string, string> labels = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Output only. Current state of the preview.
|
|
State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Optional. Optional deployment reference. If specified, the preview will be
|
|
// performed using the provided deployment's current state and use any
|
|
// relevant fields from the deployment unless explicitly specified in the
|
|
// preview create request.
|
|
string deployment = 5 [
|
|
(google.api.field_behavior) = OPTIONAL,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/Deployment"
|
|
}
|
|
];
|
|
|
|
// Optional. Current mode of preview.
|
|
PreviewMode preview_mode = 15 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Required. User-specified Service Account (SA) credentials to be used when
|
|
// previewing resources.
|
|
// Format: `projects/{projectID}/serviceAccounts/{serviceAccount}`
|
|
string service_account = 7 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "iam.googleapis.com/ServiceAccount"
|
|
}
|
|
];
|
|
|
|
// Optional. User-defined location of Cloud Build logs, artifacts, and
|
|
// in Google Cloud Storage.
|
|
// Format: `gs://{bucket}/{folder}`
|
|
// A default bucket will be bootstrapped if the field is not set or empty
|
|
// Default Bucket Format: `gs://<project number>-<region>-blueprint-config`
|
|
// Constraints:
|
|
// - The bucket needs to be in the same project as the deployment
|
|
// - The path cannot be within the path of `gcs_source`
|
|
// If omitted and deployment resource ref provided has artifacts_gcs_bucket
|
|
// defined, that artifact bucket is used.
|
|
optional string artifacts_gcs_bucket = 8
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The user-specified Worker Pool resource in which the Cloud Build
|
|
// job will execute. Format
|
|
// projects/{project}/locations/{location}/workerPools/{workerPoolId} If this
|
|
// field is unspecified, the default Cloud Build worker pool will be used. If
|
|
// omitted and deployment resource ref provided has worker_pool defined, that
|
|
// worker pool is used.
|
|
optional string worker_pool = 9 [
|
|
(google.api.field_behavior) = OPTIONAL,
|
|
(google.api.resource_reference) = {
|
|
type: "cloudbuild.googleapis.com/WorkerPool"
|
|
}
|
|
];
|
|
|
|
// Output only. Code describing any errors that may have occurred.
|
|
ErrorCode error_code = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Additional information regarding the current state.
|
|
google.rpc.Status error_status = 11
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Cloud Build instance UUID associated with this preview.
|
|
string build = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Summary of errors encountered during Terraform preview.
|
|
// It has a size limit of 10, i.e. only top 10 errors will be summarized here.
|
|
repeated TerraformError tf_errors = 13
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Link to tf-error.ndjson file, which contains the full list of
|
|
// the errors encountered during a Terraform preview.
|
|
// Format: `gs://{bucket}/{object}`.
|
|
string error_logs = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Artifacts from preview.
|
|
PreviewArtifacts preview_artifacts = 16
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Location of preview logs in `gs://{bucket}/{object}` format.
|
|
string logs = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The current Terraform version set on the preview.
|
|
// It is in the format of "Major.Minor.Patch", for example, "1.3.10".
|
|
string tf_version = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Optional. The user-specified Terraform version constraint.
|
|
// Example: "=1.3.10".
|
|
optional string tf_version_constraint = 19
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Arbitrary key-value metadata storage e.g. to help client tools
|
|
// identify preview during automation. See
|
|
// https://google.aip.dev/148#annotations for details on format and size
|
|
// limitations.
|
|
map<string, string> annotations = 20 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. This field specifies the provider configurations.
|
|
ProviderConfig provider_config = 21 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Ephemeral metadata content describing the state of a preview operation.
|
|
message PreviewOperationMetadata {
|
|
// The possible steps a preview may be running.
|
|
enum PreviewStep {
|
|
// Unspecified preview step.
|
|
PREVIEW_STEP_UNSPECIFIED = 0;
|
|
|
|
// Infra Manager is creating a Google Cloud Storage bucket to store
|
|
// artifacts and metadata about the preview.
|
|
PREPARING_STORAGE_BUCKET = 1;
|
|
|
|
// Downloading the blueprint onto the Google Cloud Storage bucket.
|
|
DOWNLOADING_BLUEPRINT = 2;
|
|
|
|
// Initializing Terraform using `terraform init`.
|
|
RUNNING_TF_INIT = 3;
|
|
|
|
// Running `terraform plan`.
|
|
RUNNING_TF_PLAN = 4;
|
|
|
|
// Fetching a deployment.
|
|
FETCHING_DEPLOYMENT = 5;
|
|
|
|
// Locking a deployment.
|
|
LOCKING_DEPLOYMENT = 6;
|
|
|
|
// Unlocking a deployment.
|
|
UNLOCKING_DEPLOYMENT = 7;
|
|
|
|
// Operation was successful.
|
|
SUCCEEDED = 8;
|
|
|
|
// Operation failed.
|
|
FAILED = 9;
|
|
|
|
// Validating the provided repository.
|
|
VALIDATING_REPOSITORY = 10;
|
|
}
|
|
|
|
// The current step the preview operation is running.
|
|
PreviewStep step = 1;
|
|
|
|
// Artifacts from preview.
|
|
PreviewArtifacts preview_artifacts = 2;
|
|
|
|
// Output only. Location of preview logs in `gs://{bucket}/{object}` format.
|
|
string logs = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Cloud Build instance UUID associated with this preview.
|
|
string build = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Artifacts created by preview.
|
|
message PreviewArtifacts {
|
|
// Output only. Location of a blueprint copy and other content in Google Cloud
|
|
// Storage. Format: `gs://{bucket}/{object}`
|
|
string content = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Location of artifacts in Google Cloud Storage.
|
|
// Format: `gs://{bucket}/{object}`
|
|
string artifacts = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// A request to create a preview.
|
|
message CreatePreviewRequest {
|
|
// Required. The parent in whose context the Preview is created. The parent
|
|
// value is in the format: 'projects/{project_id}/locations/{location}'.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "locations.googleapis.com/Location"
|
|
}
|
|
];
|
|
|
|
// Optional. The preview ID.
|
|
string preview_id = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Required. [Preview][google.cloud.config.v1.Preview] resource to be created.
|
|
Preview preview = 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
|
|
];
|
|
}
|
|
|
|
// A request to get details about a preview.
|
|
message GetPreviewRequest {
|
|
// Required. The name of the preview. Format:
|
|
// 'projects/{project_id}/locations/{location}/previews/{preview}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "config.googleapis.com/Preview" }
|
|
];
|
|
}
|
|
|
|
// A request to list all previews for a given project and location.
|
|
message ListPreviewsRequest {
|
|
// Required. The parent in whose context the Previews are listed. The parent
|
|
// value is in the format: 'projects/{project_id}/locations/{location}'.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "locations.googleapis.com/Location"
|
|
}
|
|
];
|
|
|
|
// Optional. When requesting a page of resources, 'page_size' specifies number
|
|
// of resources to return. If unspecified, at most 500 will be returned. The
|
|
// maximum value is 1000.
|
|
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Token returned by previous call to 'ListDeployments' which
|
|
// specifies the position in the list from where to continue listing the
|
|
// resources.
|
|
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Lists the Deployments that match the filter expression. A filter
|
|
// expression filters the resources listed in the response. The expression
|
|
// must be of the form '{field} {operator} {value}' where operators: '<', '>',
|
|
// '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS
|
|
// operator which is roughly synonymous with equality). {field} can refer to a
|
|
// proto or JSON field, or a synthetic field. Field names can be camelCase or
|
|
// snake_case.
|
|
//
|
|
// Examples:
|
|
// - Filter by name:
|
|
// name = "projects/foo/locations/us-central1/deployments/bar
|
|
//
|
|
// - Filter by labels:
|
|
// - Resources that have a key called 'foo'
|
|
// labels.foo:*
|
|
// - Resources that have a key called 'foo' whose value is 'bar'
|
|
// labels.foo = bar
|
|
//
|
|
// - Filter by state:
|
|
// - Deployments in CREATING state.
|
|
// state=CREATING
|
|
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Field to use to sort the list.
|
|
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// A response to a `ListPreviews` call. Contains a list of Previews.
|
|
message ListPreviewsResponse {
|
|
// List of [Previews][google.cloud.config.v1.Preview].
|
|
repeated Preview previews = 1;
|
|
|
|
// Token to be supplied to the next ListPreviews request via `page_token`
|
|
// to obtain the next set of results.
|
|
string next_page_token = 2;
|
|
|
|
// Locations that could not be reached.
|
|
repeated string unreachable = 3;
|
|
}
|
|
|
|
// A request to delete a preview.
|
|
message DeletePreviewRequest {
|
|
// Required. The name of the Preview in the format:
|
|
// 'projects/{project_id}/locations/{location}/previews/{preview}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "config.googleapis.com/Preview" }
|
|
];
|
|
|
|
// 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
|
|
];
|
|
}
|
|
|
|
// A request to export preview results.
|
|
message ExportPreviewResultRequest {
|
|
// Required. The preview whose results should be exported. The preview value
|
|
// is in the format:
|
|
// 'projects/{project_id}/locations/{location}/previews/{preview}'.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "config.googleapis.com/Preview" }
|
|
];
|
|
}
|
|
|
|
// A response to `ExportPreviewResult` call. Contains preview results.
|
|
message ExportPreviewResultResponse {
|
|
// Output only. Signed URLs for accessing the plan files.
|
|
PreviewResult result = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Contains a signed Cloud Storage URLs.
|
|
message PreviewResult {
|
|
// Output only. Plan binary signed URL
|
|
string binary_signed_uri = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Plan JSON signed URL
|
|
string json_signed_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The request message for the GetTerraformVersion method.
|
|
message GetTerraformVersionRequest {
|
|
// Required. The name of the TerraformVersion. Format:
|
|
// 'projects/{project_id}/locations/{location}/terraformVersions/{terraform_version}'
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/TerraformVersion"
|
|
}
|
|
];
|
|
}
|
|
|
|
// The request message for the ListTerraformVersions method.
|
|
message ListTerraformVersionsRequest {
|
|
// Required. The parent in whose context the TerraformVersions are listed. The
|
|
// parent value is in the format:
|
|
// 'projects/{project_id}/locations/{location}'.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "locations.googleapis.com/Location"
|
|
}
|
|
];
|
|
|
|
// Optional. When requesting a page of terraform versions, 'page_size'
|
|
// specifies number of terraform versions to return. If unspecified, at most
|
|
// 500 will be returned. The maximum value is 1000.
|
|
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Token returned by previous call to 'ListTerraformVersions' which
|
|
// specifies the position in the list from where to continue listing the
|
|
// terraform versions.
|
|
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Lists the TerraformVersions that match the filter expression. A
|
|
// filter expression filters the resources listed in the response. The
|
|
// expression must be of the form '{field} {operator} {value}' where
|
|
// operators: '<', '>',
|
|
// '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS
|
|
// operator which is roughly synonymous with equality). {field} can refer to a
|
|
// proto or JSON field, or a synthetic field. Field names can be camelCase or
|
|
// snake_case.
|
|
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Field to use to sort the list.
|
|
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// The response message for the `ListTerraformVersions` method.
|
|
message ListTerraformVersionsResponse {
|
|
// List of [TerraformVersion][google.cloud.config.v1.TerraformVersion]s.
|
|
repeated TerraformVersion terraform_versions = 1;
|
|
|
|
// Token to be supplied to the next ListTerraformVersions request via
|
|
// `page_token` to obtain the next set of results.
|
|
string next_page_token = 2;
|
|
|
|
// Unreachable resources, if any.
|
|
repeated string unreachable = 3;
|
|
}
|
|
|
|
// A TerraformVersion represents the support state the corresponding
|
|
// Terraform version.
|
|
message TerraformVersion {
|
|
option (google.api.resource) = {
|
|
type: "config.googleapis.com/TerraformVersion"
|
|
pattern: "projects/{project}/locations/{location}/terraformVersions/{terraform_version}"
|
|
plural: "terraformVersions"
|
|
singular: "terraformVersion"
|
|
};
|
|
|
|
// Possible states of a TerraformVersion.
|
|
enum State {
|
|
// The default value. This value is used if the state is omitted.
|
|
STATE_UNSPECIFIED = 0;
|
|
|
|
// The version is actively supported.
|
|
ACTIVE = 1;
|
|
|
|
// The version is deprecated.
|
|
DEPRECATED = 2;
|
|
|
|
// The version is obsolete.
|
|
OBSOLETE = 3;
|
|
}
|
|
|
|
// Identifier. The version name is in the format:
|
|
// 'projects/{project_id}/locations/{location}/terraformVersions/{terraform_version}'.
|
|
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
|
|
// Output only. The state of the version, ACTIVE, DEPRECATED or OBSOLETE.
|
|
State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. When the version is supported.
|
|
google.protobuf.Timestamp support_time = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. When the version is deprecated.
|
|
optional google.protobuf.Timestamp deprecate_time = 4
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. When the version is obsolete.
|
|
optional google.protobuf.Timestamp obsolete_time = 5
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Terraform info of a ResourceChange.
|
|
message ResourceChangeTerraformInfo {
|
|
// Output only. TF resource address that uniquely identifies the resource.
|
|
string address = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. TF resource type.
|
|
string type = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. TF resource name.
|
|
string resource_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. TF resource provider.
|
|
string provider = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. TF resource actions.
|
|
repeated string actions = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// A resource change represents a change to a resource in the state file.
|
|
message ResourceChange {
|
|
option (google.api.resource) = {
|
|
type: "config.googleapis.com/ResourceChange"
|
|
pattern: "projects/{project}/locations/{location}/previews/{preview}/resourceChanges/{resource_change}"
|
|
plural: "resourceChanges"
|
|
singular: "resourceChange"
|
|
};
|
|
|
|
// Possible intent of the resource change.
|
|
enum Intent {
|
|
// The default value.
|
|
INTENT_UNSPECIFIED = 0;
|
|
|
|
// The resource will be created.
|
|
CREATE = 1;
|
|
|
|
// The resource will be updated.
|
|
UPDATE = 2;
|
|
|
|
// The resource will be deleted.
|
|
DELETE = 3;
|
|
|
|
// The resource will be recreated.
|
|
RECREATE = 4;
|
|
|
|
// The resource will be untouched.
|
|
UNCHANGED = 5;
|
|
}
|
|
|
|
// Identifier. The name of the resource change.
|
|
// Format:
|
|
// 'projects/{project_id}/locations/{location}/previews/{preview}/resourceChanges/{resource_change}'.
|
|
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
|
|
// Output only. Terraform info of the resource change.
|
|
ResourceChangeTerraformInfo terraform_info = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The intent of the resource change.
|
|
Intent intent = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The property changes of the resource change.
|
|
repeated PropertyChange property_changes = 4
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// A property change represents a change to a property in the state file.
|
|
message PropertyChange {
|
|
// Output only. The path of the property change.
|
|
string path = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The paths of sensitive fields in `before`. Paths are relative
|
|
// to `path`.
|
|
repeated string before_sensitive_paths = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Representations of the object value before the actions.
|
|
google.protobuf.Value before = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The paths of sensitive fields in `after`. Paths are relative
|
|
// to `path`.
|
|
repeated string after_sensitive_paths = 4
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Representations of the object value after the actions.
|
|
google.protobuf.Value after = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The request message for the ListResourceChanges method.
|
|
message ListResourceChangesRequest {
|
|
// Required. The parent in whose context the ResourceChanges are listed. The
|
|
// parent value is in the format:
|
|
// 'projects/{project_id}/locations/{location}/previews/{preview}'.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "config.googleapis.com/Preview" }
|
|
];
|
|
|
|
// Optional. When requesting a page of resource changes, 'page_size' specifies
|
|
// number of resource changes to return. If unspecified, at most 500 will be
|
|
// returned. The maximum value is 1000.
|
|
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Token returned by previous call to 'ListResourceChanges' which
|
|
// specifies the position in the list from where to continue listing the
|
|
// resource changes.
|
|
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Lists the resource changes that match the filter expression. A
|
|
// filter expression filters the resource changes listed in the response. The
|
|
// expression must be of the form '{field} {operator} {value}' where
|
|
// operators: '<', '>',
|
|
// '<=',
|
|
// '>=',
|
|
// '!=', '=', ':' are supported (colon ':' represents a HAS operator which is
|
|
// roughly synonymous with equality). {field} can refer to a proto or JSON
|
|
// field, or a synthetic field. Field names can be camelCase or snake_case.
|
|
//
|
|
// Examples:
|
|
// - Filter by name:
|
|
// name =
|
|
// "projects/foo/locations/us-central1/previews/dep/resourceChanges/baz
|
|
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Field to use to sort the list.
|
|
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// A response to a 'ListResourceChanges' call. Contains a list of
|
|
// ResourceChanges.
|
|
message ListResourceChangesResponse {
|
|
// List of ResourceChanges.
|
|
repeated ResourceChange resource_changes = 1;
|
|
|
|
// A token to request the next page of resources from the
|
|
// 'ListResourceChanges' method. The value of an empty string means that
|
|
// there are no more resources to return.
|
|
string next_page_token = 2;
|
|
|
|
// Unreachable resources, if any.
|
|
repeated string unreachable = 3;
|
|
}
|
|
|
|
// The request message for the GetResourceChange method.
|
|
message GetResourceChangeRequest {
|
|
// Required. The name of the resource change to retrieve.
|
|
// Format:
|
|
// 'projects/{project_id}/locations/{location}/previews/{preview}/resourceChanges/{resource_change}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/ResourceChange"
|
|
}
|
|
];
|
|
}
|
|
|
|
// Terraform info of a ResourceChange.
|
|
message ResourceDriftTerraformInfo {
|
|
// Output only. The address of the drifted resource.
|
|
string address = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The type of the drifted resource.
|
|
string type = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. TF resource name.
|
|
string resource_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The provider of the drifted resource.
|
|
string provider = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// A resource drift represents a drift to a resource in the state file.
|
|
message ResourceDrift {
|
|
option (google.api.resource) = {
|
|
type: "config.googleapis.com/ResourceDrift"
|
|
pattern: "projects/{project}/locations/{location}/previews/{preview}/resourceDrifts/{resource_drift}"
|
|
plural: "resourceDrifts"
|
|
singular: "resourceDrift"
|
|
};
|
|
|
|
// Identifier. The name of the resource drift.
|
|
// Format:
|
|
// 'projects/{project_id}/locations/{location}/previews/{preview}/resourceDrifts/{resource_drift}'.
|
|
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
|
|
// Output only. Terraform info of the resource drift.
|
|
ResourceDriftTerraformInfo terraform_info = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The property drifts of the resource drift.
|
|
repeated PropertyDrift property_drifts = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// A property drift represents a drift to a property in the state file.
|
|
message PropertyDrift {
|
|
// Output only. The path of the property drift.
|
|
string path = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The paths of sensitive fields in `before`. Paths are relative
|
|
// to `path`.
|
|
repeated string before_sensitive_paths = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Representations of the object value before the actions.
|
|
google.protobuf.Value before = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The paths of sensitive fields in `after`. Paths are relative
|
|
// to `path`.
|
|
repeated string after_sensitive_paths = 4
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Representations of the object value after the actions.
|
|
google.protobuf.Value after = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The request message for the ListResourceDrifts method.
|
|
message ListResourceDriftsRequest {
|
|
// Required. The parent in whose context the ResourceDrifts are listed. The
|
|
// parent value is in the format:
|
|
// 'projects/{project_id}/locations/{location}/previews/{preview}'.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "config.googleapis.com/Preview" }
|
|
];
|
|
|
|
// Optional. When requesting a page of resource drifts, 'page_size' specifies
|
|
// number of resource drifts to return. If unspecified, at most 500 will be
|
|
// returned. The maximum value is 1000.
|
|
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Token returned by previous call to 'ListResourceDrifts' which
|
|
// specifies the position in the list from where to continue listing the
|
|
// resource drifts.
|
|
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Lists the resource drifts that match the filter expression. A
|
|
// filter expression filters the resource drifts listed in the response. The
|
|
// expression must be of the form '{field} {operator} {value}' where
|
|
// operators: '<', '>',
|
|
// '<=',
|
|
// '>=',
|
|
// '!=', '=', ':' are supported (colon ':' represents a HAS operator which is
|
|
// roughly synonymous with equality). {field} can refer to a proto or JSON
|
|
// field, or a synthetic field. Field names can be camelCase or snake_case.
|
|
//
|
|
// Examples:
|
|
// - Filter by name:
|
|
// name =
|
|
// "projects/foo/locations/us-central1/previews/dep/resourceDrifts/baz
|
|
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Field to use to sort the list.
|
|
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// A response to a 'ListResourceDrifts' call. Contains a list of ResourceDrifts.
|
|
message ListResourceDriftsResponse {
|
|
// List of ResourceDrifts.
|
|
repeated ResourceDrift resource_drifts = 1;
|
|
|
|
// A token to request the next page of resources from the
|
|
// 'ListResourceDrifts' method. The value of an empty string means that
|
|
// there are no more resources to return.
|
|
string next_page_token = 2;
|
|
|
|
// Unreachable resources, if any.
|
|
repeated string unreachable = 3;
|
|
}
|
|
|
|
// The request message for the GetResourceDrift method.
|
|
message GetResourceDriftRequest {
|
|
// Required. The name of the resource drift to retrieve.
|
|
// Format:
|
|
// 'projects/{project_id}/locations/{location}/previews/{preview}/resourceDrifts/{resource_drift}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/ResourceDrift"
|
|
}
|
|
];
|
|
}
|
|
|
|
// ProviderConfig contains the provider configurations.
|
|
message ProviderConfig {
|
|
// ProviderSource represents the source type of the provider.
|
|
enum ProviderSource {
|
|
// Unspecified source type, default to public sources.
|
|
PROVIDER_SOURCE_UNSPECIFIED = 0;
|
|
|
|
// Service maintained provider source type.
|
|
SERVICE_MAINTAINED = 1;
|
|
}
|
|
|
|
// Optional. ProviderSource specifies the source type of the provider.
|
|
optional ProviderSource source_type = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// The request message for the GetAutoMigrationConfig method.
|
|
message GetAutoMigrationConfigRequest {
|
|
// Required. The name of the AutoMigrationConfig.
|
|
// Format:
|
|
// 'projects/{project_id}/locations/{location}/AutoMigrationConfig'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/AutoMigrationConfig"
|
|
}
|
|
];
|
|
}
|
|
|
|
// AutoMigrationConfig contains the automigration configuration for a project.
|
|
message AutoMigrationConfig {
|
|
option (google.api.resource) = {
|
|
type: "config.googleapis.com/AutoMigrationConfig"
|
|
pattern: "projects/{project}/locations/{location}/autoMigrationConfig"
|
|
plural: "autoMigrationConfigs"
|
|
singular: "autoMigrationConfig"
|
|
};
|
|
|
|
// Identifier. The name of the AutoMigrationConfig.
|
|
// Format:
|
|
// 'projects/{project_id}/locations/{location}/AutoMigrationConfig'.
|
|
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
|
|
// Output only. Time the AutoMigrationConfig was last updated.
|
|
google.protobuf.Timestamp update_time = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Optional. Whether the auto migration is enabled for the project.
|
|
bool auto_migration_enabled = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// The request message for the UpdateAutoMigrationConfig method.
|
|
message UpdateAutoMigrationConfigRequest {
|
|
// Optional. The update mask applies to the resource. See
|
|
// [google.protobuf.FieldMask][google.protobuf.FieldMask].
|
|
google.protobuf.FieldMask update_mask = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Required. The AutoMigrationConfig to update.
|
|
AutoMigrationConfig auto_migration_config = 2
|
|
[(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
// A DeploymentGroup is a collection of DeploymentUnits that in a DAG-like
|
|
// structure.
|
|
message DeploymentGroup {
|
|
option (google.api.resource) = {
|
|
type: "config.googleapis.com/DeploymentGroup"
|
|
pattern: "projects/{project}/locations/{location}/deploymentGroups/{deployment_group}"
|
|
plural: "deploymentGroups"
|
|
singular: "deploymentGroup"
|
|
};
|
|
|
|
// Possible states of a deployment group.
|
|
enum State {
|
|
// The default value. This value is used if the state is omitted.
|
|
STATE_UNSPECIFIED = 0;
|
|
|
|
// The deployment group is being created.
|
|
CREATING = 1;
|
|
|
|
// The deployment group is healthy.
|
|
ACTIVE = 2;
|
|
|
|
// The deployment group is being updated.
|
|
UPDATING = 3;
|
|
|
|
// The deployment group is being deleted.
|
|
DELETING = 4;
|
|
|
|
// The deployment group has encountered an unexpected error.
|
|
FAILED = 5;
|
|
|
|
// The deployment group is no longer being actively reconciled.
|
|
// This may be the result of recovering the project after deletion.
|
|
SUSPENDED = 6;
|
|
|
|
// The deployment group has been deleted.
|
|
DELETED = 7;
|
|
}
|
|
|
|
// Possible provisioning states of a deployment group.
|
|
enum ProvisioningState {
|
|
// Unspecified provisioning state.
|
|
PROVISIONING_STATE_UNSPECIFIED = 0;
|
|
|
|
// The deployment group is being provisioned.
|
|
PROVISIONING = 1;
|
|
|
|
// The deployment group is provisioned.
|
|
PROVISIONED = 2;
|
|
|
|
// The deployment group failed to be provisioned.
|
|
FAILED_TO_PROVISION = 3;
|
|
|
|
// The deployment group is being deprovisioned.
|
|
DEPROVISIONING = 4;
|
|
|
|
// The deployment group is deprovisioned.
|
|
DEPROVISIONED = 5;
|
|
|
|
// The deployment group failed to be deprovisioned.
|
|
FAILED_TO_DEPROVISION = 6;
|
|
}
|
|
|
|
// Identifier. The name of the deployment group.
|
|
// Format:
|
|
// 'projects/{project_id}/locations/{location}/deploymentGroups/{deployment_group}'.
|
|
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
|
|
// Output only. Time when the deployment group was created.
|
|
google.protobuf.Timestamp create_time = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Time when the deployment group was last updated.
|
|
google.protobuf.Timestamp update_time = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Optional. User-defined metadata for the deployment group.
|
|
map<string, string> labels = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Arbitrary key-value metadata storage e.g. to help client tools
|
|
// identify deployment group during automation. See
|
|
// https://google.aip.dev/148#annotations for details on format and size
|
|
// limitations.
|
|
map<string, string> annotations = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Output only. Current state of the deployment group.
|
|
State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Additional information regarding the current state.
|
|
string state_description = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// The deployment units of the deployment group in a DAG like structure.
|
|
// When a deployment group is being provisioned, the deployment units are
|
|
// deployed in a DAG order.
|
|
// The provided units must be in a DAG order, otherwise an error will be
|
|
// returned.
|
|
repeated DeploymentUnit deployment_units = 8;
|
|
|
|
// Output only. The provisioning state of the deployment group.
|
|
ProvisioningState provisioning_state = 9
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Additional information regarding the current provisioning
|
|
// state.
|
|
string provisioning_state_description = 10
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The error status of the deployment group provisioning or
|
|
// deprovisioning.
|
|
google.rpc.Status provisioning_error = 11
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// A DeploymentUnit is a container for a deployment and its dependencies.
|
|
// An existing deployment can be provided directly in the unit, or the unit
|
|
// can act as a placeholder to define the DAG, with the deployment specs
|
|
// supplied in a `provisionDeploymentRequest`.
|
|
message DeploymentUnit {
|
|
// The id of the deployment unit. Must be unique within the deployment group.
|
|
string id = 1;
|
|
|
|
// Optional. The name of the deployment to be provisioned.
|
|
// Format:
|
|
// 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
|
|
optional string deployment = 2 [
|
|
(google.api.field_behavior) = OPTIONAL,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/Deployment"
|
|
}
|
|
];
|
|
|
|
// Required. The IDs of the deployment units within the deployment group that
|
|
// this unit depends on.
|
|
repeated string dependencies = 3 [(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
// Spec for a deployment to be created.
|
|
message DeploymentSpec {
|
|
// Required. The id of the deployment to be created which doesn't include the
|
|
// project id and location.
|
|
string deployment_id = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The deployment to be created.
|
|
Deployment deployment = 2 [(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
// The request message for the GetDeploymentGroup method.
|
|
message GetDeploymentGroupRequest {
|
|
// Required. The name of the deployment group to retrieve.
|
|
// Format:
|
|
// 'projects/{project_id}/locations/{location}/deploymentGroups/{deployment_group}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/DeploymentGroup"
|
|
}
|
|
];
|
|
}
|
|
|
|
// The request message for the ListDeploymentGroups method.
|
|
message ListDeploymentGroupsRequest {
|
|
// Required. The parent, which owns this collection of deployment groups.
|
|
// Format: 'projects/{project_id}/locations/{location}'.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "locations.googleapis.com/Location"
|
|
}
|
|
];
|
|
|
|
// Optional. When requesting a page of resources, 'page_size' specifies number
|
|
// of resources to return. If unspecified, at most 500 will be returned. The
|
|
// maximum value is 1000.
|
|
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Token returned by previous call to 'ListDeploymentGroups' which
|
|
// specifies the position in the list from where to continue listing the
|
|
// deployment groups.
|
|
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Lists the DeploymentGroups that match the filter expression. A
|
|
// filter expression filters the deployment groups listed in the response. The
|
|
// expression must be of the form '{field} {operator} {value}' where
|
|
// operators: '<', '>',
|
|
// '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS
|
|
// operator which is roughly synonymous with equality). {field} can refer to a
|
|
// proto or JSON field, or a synthetic field. Field names can be camelCase or
|
|
// snake_case.
|
|
//
|
|
// Examples:
|
|
// - Filter by name:
|
|
// name = "projects/foo/locations/us-central1/deploymentGroups/bar"
|
|
//
|
|
// - Filter by labels:
|
|
// - Resources that have a key called 'foo'
|
|
// labels.foo:*
|
|
// - Resources that have a key called 'foo' whose value is 'bar'
|
|
// labels.foo = bar
|
|
//
|
|
// - Filter by state:
|
|
// - DeploymentGroups in CREATING state.
|
|
// state=CREATING
|
|
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Field to use to sort the list.
|
|
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// The response message for the ListDeploymentGroups method.
|
|
message ListDeploymentGroupsResponse {
|
|
// The deployment groups from the specified collection.
|
|
repeated DeploymentGroup deployment_groups = 1;
|
|
|
|
// Token to be supplied to the next ListDeploymentGroups request via
|
|
// `page_token` to obtain the next set of results.
|
|
string next_page_token = 2;
|
|
|
|
// Locations that could not be reached.
|
|
repeated string unreachable = 3;
|
|
}
|
|
|
|
// The request message for the ProvisionDeploymentGroup method.
|
|
message ProvisionDeploymentGroupRequest {
|
|
// Required. The name of the deployment group to provision.
|
|
// Format:
|
|
// 'projects/{project_id}/locations/{location}/deploymentGroups/{deployment_group}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/DeploymentGroup"
|
|
}
|
|
];
|
|
|
|
// Optional. The deployment specs of the deployment units to be created within
|
|
// the same project and location of the deployment group. The key is the unit
|
|
// ID, and the value is the `DeploymentSpec`. Provisioning will fail if a
|
|
// `deployment_spec` has a `deployment_id` that matches an existing deployment
|
|
// in the same project and location. If an existing deployment was part of the
|
|
// last successful revision but is no longer in the current DeploymentGroup's
|
|
// `deployment_units`, it will be recreated if included in `deployment_specs`.
|
|
map<string, DeploymentSpec> deployment_specs = 3
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// The request message for the DeprovisionDeploymentGroup method.
|
|
message DeprovisionDeploymentGroupRequest {
|
|
// Required. The name of the deployment group to deprovision.
|
|
// Format:
|
|
// 'projects/{project_id}/locations/{location}/deploymentGroups/{deployment_group}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/DeploymentGroup"
|
|
}
|
|
];
|
|
|
|
// Optional. If set to true, this option is propagated to the deletion of each
|
|
// deployment in the group. This corresponds to the 'force' field
|
|
// in DeleteDeploymentRequest.
|
|
bool force = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Policy on how resources within each deployment should be handled
|
|
// during deletion. This policy is applied globally to the deletion of all
|
|
// deployments in this group. This corresponds to the 'delete_policy' field
|
|
// in DeleteDeploymentRequest.
|
|
DeleteDeploymentRequest.DeletePolicy delete_policy = 3
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// The summary of the deployment operation.
|
|
message DeploymentOperationSummary {
|
|
// Output only. The current step the deployment operation is running.
|
|
DeploymentOperationMetadata.DeploymentStep deployment_step = 1
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Cloud Build instance UUID associated with this operation.
|
|
string build = 2 [
|
|
(google.api.field_info).format = UUID4,
|
|
(google.api.field_behavior) = OUTPUT_ONLY
|
|
];
|
|
|
|
// Output only. Location of Deployment operations logs in
|
|
// `gs://{bucket}/{object}` format.
|
|
string logs = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Location of Deployment operations content in
|
|
// `gs://{bucket}/{object}` format.
|
|
string content = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Location of Deployment operations artifacts in
|
|
// `gs://{bucket}/{object}` format.
|
|
string artifacts = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The progress of a deployment unit provisioning or deprovisioning.
|
|
message DeploymentUnitProgress {
|
|
// The possible steps a deployment unit provisioning may be running.
|
|
enum State {
|
|
// The default value. This value is unused.
|
|
STATE_UNSPECIFIED = 0;
|
|
|
|
// The deployment unit is queued for deployment creation or update.
|
|
QUEUED = 1;
|
|
|
|
// The underlying deployment of the unit is being created or updated.
|
|
APPLYING_DEPLOYMENT = 2;
|
|
|
|
// The underlying deployment operation of the unit has succeeded.
|
|
SUCCEEDED = 4;
|
|
|
|
// The underlying deployment operation of the unit has failed.
|
|
FAILED = 5;
|
|
|
|
// The deployment unit was aborted, likely due to failures in other
|
|
// dependent deployment units.
|
|
ABORTED = 6;
|
|
|
|
// The deployment unit was skipped because there were no changes to apply.
|
|
SKIPPED = 7;
|
|
|
|
// The deployment is being deleted.
|
|
DELETING_DEPLOYMENT = 8;
|
|
|
|
// The deployment is being previewed.
|
|
PREVIEWING_DEPLOYMENT = 9;
|
|
}
|
|
|
|
// The possible intents of a deployment unit.
|
|
enum Intent {
|
|
// Unspecified intent.
|
|
INTENT_UNSPECIFIED = 0;
|
|
|
|
// Create deployment in the unit from the deployment spec.
|
|
CREATE_DEPLOYMENT = 1;
|
|
|
|
// Update deployment in the unit.
|
|
UPDATE_DEPLOYMENT = 2;
|
|
|
|
// Delete deployment in the unit.
|
|
DELETE_DEPLOYMENT = 3;
|
|
|
|
// Recreate deployment in the unit.
|
|
RECREATE_DEPLOYMENT = 4;
|
|
|
|
// Delete deployment in latest successful revision while no longer
|
|
// referenced in any deployment unit in the current deployment group.
|
|
CLEAN_UP = 5;
|
|
|
|
// Expected to be unchanged.
|
|
UNCHANGED = 6;
|
|
}
|
|
|
|
// Output only. The unit id of the deployment unit to be provisioned.
|
|
string unit_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The name of the deployment to be provisioned.
|
|
// Format:
|
|
// 'projects/{project}/locations/{location}/deployments/{deployment}'.
|
|
string deployment = 2 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/Deployment"
|
|
}
|
|
];
|
|
|
|
// Output only. The current step of the deployment unit provisioning.
|
|
State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Additional information regarding the current state.
|
|
string state_description = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The summary of the deployment operation.
|
|
DeploymentOperationSummary deployment_operation_summary = 5
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Holds the error status of the deployment unit provisioning.
|
|
google.rpc.Status error = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The intent of the deployment unit.
|
|
Intent intent = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Operation metadata for `ProvisionDeploymentGroup` and
|
|
// `DeprovisionDeploymentGroup` long-running operations.
|
|
message ProvisionDeploymentGroupOperationMetadata {
|
|
// Possible steps during a deployment group provisioning or deprovisioning
|
|
// operation.
|
|
enum ProvisionDeploymentGroupStep {
|
|
// Unspecified step.
|
|
PROVISION_DEPLOYMENT_GROUP_STEP_UNSPECIFIED = 0;
|
|
|
|
// Validating the deployment group.
|
|
VALIDATING_DEPLOYMENT_GROUP = 1;
|
|
|
|
// Locking the deployments to the deployment group for atomic actuation.
|
|
ASSOCIATING_DEPLOYMENTS_TO_DEPLOYMENT_GROUP = 2;
|
|
|
|
// Provisioning the deployment units.
|
|
PROVISIONING_DEPLOYMENT_UNITS = 3;
|
|
|
|
// Unlocking the deployments from the deployment group after actuation.
|
|
DISASSOCIATING_DEPLOYMENTS_FROM_DEPLOYMENT_GROUP = 4;
|
|
|
|
// The operation has succeeded.
|
|
SUCCEEDED = 5;
|
|
|
|
// The operation has failed.
|
|
FAILED = 6;
|
|
|
|
// Deprovisioning the deployment units.
|
|
DEPROVISIONING_DEPLOYMENT_UNITS = 7;
|
|
}
|
|
|
|
// Output only. The current step of the deployment group operation.
|
|
ProvisionDeploymentGroupStep step = 1
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Progress information for each deployment unit within the
|
|
// operation.
|
|
repeated DeploymentUnitProgress deployment_unit_progresses = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// A DeploymentGroupRevision represents a snapshot of a
|
|
// [DeploymentGroup][google.cloud.config.v1.DeploymentGroup] at a given point in
|
|
// time, created when a DeploymentGroup is provisioned or deprovisioned.
|
|
message DeploymentGroupRevision {
|
|
option (google.api.resource) = {
|
|
type: "config.googleapis.com/DeploymentGroupRevision"
|
|
pattern: "projects/{project}/locations/{location}/deploymentGroups/{deployment_group}/revisions/{revision}"
|
|
plural: "deploymentGroupRevisions"
|
|
singular: "deploymentGroupRevision"
|
|
};
|
|
|
|
// Identifier. The name of the deployment group revision.
|
|
// Format:
|
|
// 'projects/{project_id}/locations/{location}/deploymentGroups/{deployment_group}/revisions/{revision}'.
|
|
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
|
|
// Output only. The snapshot of the deployment group at this revision.
|
|
DeploymentGroup snapshot = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Time when the deployment group revision was created.
|
|
google.protobuf.Timestamp create_time = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The alternative IDs of the deployment group revision.
|
|
repeated string alternative_ids = 4
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The request message for the GetDeploymentGroupRevision method.
|
|
message GetDeploymentGroupRevisionRequest {
|
|
// Required. The name of the deployment group revision to retrieve.
|
|
// Format:
|
|
// 'projects/{project_id}/locations/{location}/deploymentGroups/{deployment_group}/revisions/{revision}'.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/DeploymentGroupRevision"
|
|
}
|
|
];
|
|
}
|
|
|
|
// The request message for the ListDeploymentGroupRevisions method.
|
|
message ListDeploymentGroupRevisionsRequest {
|
|
// Required. The parent, which owns this collection of deployment group
|
|
// revisions. Format:
|
|
// 'projects/{project_id}/locations/{location}/deploymentGroups/{deployment_group}'.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "config.googleapis.com/DeploymentGroup"
|
|
}
|
|
];
|
|
|
|
// Optional. When requesting a page of resources, 'page_size' specifies number
|
|
// of resources to return. If unspecified, a sensible default will be used by
|
|
// the server. The maximum value is 1000; values above 1000 will be coerced to
|
|
// 1000.
|
|
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Token returned by previous call to 'ListDeploymentGroupRevisions'
|
|
// which specifies the position in the list from where to continue listing the
|
|
// deployment group revisions. All other parameters provided to
|
|
// `ListDeploymentGroupRevisions` must match the call that provided the page
|
|
// token.
|
|
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// The response message for the ListDeploymentGroupRevisions method.
|
|
message ListDeploymentGroupRevisionsResponse {
|
|
// The deployment group revisions from the specified collection.
|
|
repeated DeploymentGroupRevision deployment_group_revisions = 1;
|
|
|
|
// Token to be supplied to the next ListDeploymentGroupRevisions request via
|
|
// `page_token` to obtain the next set of results.
|
|
string next_page_token = 2;
|
|
|
|
// Unordered list. Locations that could not be reached.
|
|
repeated string unreachable = 3
|
|
[(google.api.field_behavior) = UNORDERED_LIST];
|
|
}
|