python/proto/gkehub/feature_membership.proto (227 lines of code) (raw):
// Copyright 2025 Google LLC. All Rights Reserved.
//
// 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.
edition = "2023";
// All generated protos should be opaque, with "xxx_hidden_" prepended to their field names.
option features.field_presence = IMPLICIT;
package dcl;
import "proto/connector/sdk.proto";
import "proto/empty.proto";
enum GkehubFeatureMembershipMeshManagementEnum {
GkehubFeatureMembershipMeshManagementEnumNO_VALUE_DO_NOT_USE = 0;
GkehubFeatureMembershipMeshManagementEnumMANAGEMENT_UNSPECIFIED = 1;
GkehubFeatureMembershipMeshManagementEnumMANAGEMENT_AUTOMATIC = 2;
GkehubFeatureMembershipMeshManagementEnumMANAGEMENT_MANUAL = 3;
}
enum GkehubFeatureMembershipMeshControlPlaneEnum {
GkehubFeatureMembershipMeshControlPlaneEnumNO_VALUE_DO_NOT_USE = 0;
GkehubFeatureMembershipMeshControlPlaneEnumCONTROL_PLANE_MANAGEMENT_UNSPECIFIED = 1;
GkehubFeatureMembershipMeshControlPlaneEnumAUTOMATIC = 2;
GkehubFeatureMembershipMeshControlPlaneEnumMANUAL = 3;
}
enum GkehubFeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum {
GkehubFeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnumNO_VALUE_DO_NOT_USE = 0;
GkehubFeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnumMONITORING_BACKEND_UNSPECIFIED = 1;
GkehubFeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnumPROMETHEUS = 2;
GkehubFeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnumCLOUD_MONITORING = 3;
}
enum GkehubFeatureMembershipConfigmanagementManagementEnum {
GkehubFeatureMembershipConfigmanagementManagementEnumNO_VALUE_DO_NOT_USE = 0;
GkehubFeatureMembershipConfigmanagementManagementEnumMANAGEMENT_UNSPECIFIED = 1;
GkehubFeatureMembershipConfigmanagementManagementEnumMANAGEMENT_AUTOMATIC = 2;
GkehubFeatureMembershipConfigmanagementManagementEnumMANAGEMENT_MANUAL = 3;
}
enum GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum {
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnumNO_VALUE_DO_NOT_USE = 0;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnumINSTALL_SPEC_UNSPECIFIED = 1;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnumINSTALL_SPEC_NOT_INSTALLED = 2;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnumINSTALL_SPEC_ENABLED = 3;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnumINSTALL_SPEC_SUSPENDED = 4;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnumINSTALL_SPEC_DETACHED = 5;
}
enum GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum {
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnumNO_VALUE_DO_NOT_USE = 0;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnumMONITORING_BACKEND_UNSPECIFIED = 1;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnumPROMETHEUS = 2;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnumCLOUD_MONITORING = 3;
}
enum GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum {
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnumNO_VALUE_DO_NOT_USE = 0;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnumINSTALLATION_UNSPECIFIED = 1;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnumNOT_INSTALLED = 2;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnumALL = 3;
}
enum GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum {
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnumNO_VALUE_DO_NOT_USE = 0;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnumAFFINITY_UNSPECIFIED = 1;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnumNO_AFFINITY = 2;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnumANTI_AFFINITY = 3;
}
message GkehubFeatureMembership {
GkehubFeatureMembershipMesh mesh = 1;
GkehubFeatureMembershipConfigmanagement configmanagement = 2;
GkehubFeatureMembershipPolicycontroller policycontroller = 3;
string project = 4;
string location = 5;
string feature = 6;
string membership = 7;
string membership_location = 8;
}
message GkehubFeatureMembershipMesh {
GkehubFeatureMembershipMeshManagementEnum management = 1;
GkehubFeatureMembershipMeshControlPlaneEnum control_plane = 2;
}
message GkehubFeatureMembershipConfigmanagement {
GkehubFeatureMembershipConfigmanagementConfigSync config_sync = 1;
GkehubFeatureMembershipConfigmanagementPolicyController policy_controller = 2;
GkehubFeatureMembershipConfigmanagementBinauthz binauthz = 3;
GkehubFeatureMembershipConfigmanagementHierarchyController hierarchy_controller = 4;
string version = 5;
GkehubFeatureMembershipConfigmanagementManagementEnum management = 6;
}
message GkehubFeatureMembershipConfigmanagementConfigSync {
repeated GkehubFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides deployment_overrides = 1;
GkehubFeatureMembershipConfigmanagementConfigSyncGit git = 2;
string source_format = 3;
bool enabled = 4;
bool stop_syncing = 5;
bool prevent_drift = 6;
string metrics_gcp_service_account_email = 7;
GkehubFeatureMembershipConfigmanagementConfigSyncOci oci = 8;
}
message GkehubFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides {
string deployment_name = 1;
string deployment_namespace = 2;
repeated GkehubFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers containers = 3;
}
message GkehubFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers {
string container_name = 1;
string cpu_request = 2;
string memory_request = 3;
string cpu_limit = 4;
string memory_limit = 5;
}
message GkehubFeatureMembershipConfigmanagementConfigSyncGit {
string sync_repo = 1;
string sync_branch = 2;
string policy_dir = 3;
string sync_wait_secs = 4;
string sync_rev = 5;
string secret_type = 6;
string https_proxy = 7;
string gcp_service_account_email = 8;
}
message GkehubFeatureMembershipConfigmanagementConfigSyncOci {
string sync_repo = 1;
string policy_dir = 2;
string sync_wait_secs = 3;
string secret_type = 4;
string gcp_service_account_email = 5;
}
message GkehubFeatureMembershipConfigmanagementPolicyController {
bool enabled = 1;
repeated string exemptable_namespaces = 2;
bool referential_rules_enabled = 3;
bool log_denies_enabled = 4;
bool mutation_enabled = 5;
GkehubFeatureMembershipConfigmanagementPolicyControllerMonitoring monitoring = 6;
bool template_library_installed = 7;
string audit_interval_seconds = 8;
}
message GkehubFeatureMembershipConfigmanagementPolicyControllerMonitoring {
repeated GkehubFeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum backends = 1;
}
message GkehubFeatureMembershipConfigmanagementBinauthz {
bool enabled = 1;
}
message GkehubFeatureMembershipConfigmanagementHierarchyController {
bool enabled = 1;
bool enable_pod_tree_labels = 2;
bool enable_hierarchical_resource_quota = 3;
}
message GkehubFeatureMembershipPolicycontroller {
string version = 1;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfig policy_controller_hub_config = 2;
}
message GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfig {
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum install_spec = 1;
repeated string exemptable_namespaces = 2;
bool referential_rules_enabled = 3;
bool log_denies_enabled = 4;
bool mutation_enabled = 5;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring monitoring = 6;
int64 audit_interval_seconds = 7;
int64 constraint_violation_limit = 8;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent policy_content = 9;
map<string, GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs> deployment_configs = 10;
}
message GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring {
repeated GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum backends = 1;
}
message GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent {
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary template_library = 1;
map<string, GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles> bundles = 2;
}
message GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary {
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum installation = 1;
}
message GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles {
repeated string exempted_namespaces = 1;
}
message GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs {
int64 replica_count = 1;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources container_resources = 2;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum pod_affinity = 3;
repeated GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations pod_tolerations = 4;
}
message GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources {
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits limits = 1;
GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests requests = 2;
}
message GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits {
string memory = 1;
string cpu = 2;
}
message GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests {
string memory = 1;
string cpu = 2;
}
message GkehubFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations {
string key = 1;
string operator = 2;
string value = 3;
string effect = 4;
}
message ApplyGkehubFeatureMembershipRequest {
GkehubFeatureMembership resource = 1;
repeated LifecycleDirective lifecycle_directives = 2;
string service_account_file = 3;
}
message DeleteGkehubFeatureMembershipRequest {
string service_account_file = 1;
GkehubFeatureMembership resource = 2;
}
message ListGkehubFeatureMembershipRequest {
string service_account_file = 1;
string Project = 2;
string Location = 3;
string Feature = 4;
}
message ListGkehubFeatureMembershipResponse {
repeated GkehubFeatureMembership items = 1;
}
service GkehubFeatureMembershipService {
rpc ApplyGkehubFeatureMembership(ApplyGkehubFeatureMembershipRequest) returns (GkehubFeatureMembership);
rpc DeleteGkehubFeatureMembership(DeleteGkehubFeatureMembershipRequest) returns (google.protobuf.Empty);
rpc ListGkehubFeatureMembership(ListGkehubFeatureMembershipRequest) returns (ListGkehubFeatureMembershipResponse);
}