python/services/appengine/version_server.go (1,016 lines of code) (raw):
// Copyright 2021 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.
package server
import (
"context"
"github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
appenginepb "github.com/GoogleCloudPlatform/declarative-resource-client-library/python/proto/appengine/appengine_go_proto"
emptypb "github.com/GoogleCloudPlatform/declarative-resource-client-library/python/proto/empty_go_proto"
"github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/appengine"
)
// Server implements the gRPC interface for Version.
type VersionServer struct{}
// ProtoToVersionInboundServicesEnum converts a VersionInboundServicesEnum enum from its proto representation.
func ProtoToAppengineVersionInboundServicesEnum(e appenginepb.AppengineVersionInboundServicesEnum) *appengine.VersionInboundServicesEnum {
if e == 0 {
return nil
}
if n, ok := appenginepb.AppengineVersionInboundServicesEnum_name[int32(e)]; ok {
e := appengine.VersionInboundServicesEnum(n[len("AppengineVersionInboundServicesEnum"):])
return &e
}
return nil
}
// ProtoToVersionServingStatusEnum converts a VersionServingStatusEnum enum from its proto representation.
func ProtoToAppengineVersionServingStatusEnum(e appenginepb.AppengineVersionServingStatusEnum) *appengine.VersionServingStatusEnum {
if e == 0 {
return nil
}
if n, ok := appenginepb.AppengineVersionServingStatusEnum_name[int32(e)]; ok {
e := appengine.VersionServingStatusEnum(n[len("AppengineVersionServingStatusEnum"):])
return &e
}
return nil
}
// ProtoToVersionHandlersSecurityLevelEnum converts a VersionHandlersSecurityLevelEnum enum from its proto representation.
func ProtoToAppengineVersionHandlersSecurityLevelEnum(e appenginepb.AppengineVersionHandlersSecurityLevelEnum) *appengine.VersionHandlersSecurityLevelEnum {
if e == 0 {
return nil
}
if n, ok := appenginepb.AppengineVersionHandlersSecurityLevelEnum_name[int32(e)]; ok {
e := appengine.VersionHandlersSecurityLevelEnum(n[len("AppengineVersionHandlersSecurityLevelEnum"):])
return &e
}
return nil
}
// ProtoToVersionHandlersLoginEnum converts a VersionHandlersLoginEnum enum from its proto representation.
func ProtoToAppengineVersionHandlersLoginEnum(e appenginepb.AppengineVersionHandlersLoginEnum) *appengine.VersionHandlersLoginEnum {
if e == 0 {
return nil
}
if n, ok := appenginepb.AppengineVersionHandlersLoginEnum_name[int32(e)]; ok {
e := appengine.VersionHandlersLoginEnum(n[len("AppengineVersionHandlersLoginEnum"):])
return &e
}
return nil
}
// ProtoToVersionHandlersAuthFailActionEnum converts a VersionHandlersAuthFailActionEnum enum from its proto representation.
func ProtoToAppengineVersionHandlersAuthFailActionEnum(e appenginepb.AppengineVersionHandlersAuthFailActionEnum) *appengine.VersionHandlersAuthFailActionEnum {
if e == 0 {
return nil
}
if n, ok := appenginepb.AppengineVersionHandlersAuthFailActionEnum_name[int32(e)]; ok {
e := appengine.VersionHandlersAuthFailActionEnum(n[len("AppengineVersionHandlersAuthFailActionEnum"):])
return &e
}
return nil
}
// ProtoToVersionHandlersRedirectHttpResponseCodeEnum converts a VersionHandlersRedirectHttpResponseCodeEnum enum from its proto representation.
func ProtoToAppengineVersionHandlersRedirectHttpResponseCodeEnum(e appenginepb.AppengineVersionHandlersRedirectHttpResponseCodeEnum) *appengine.VersionHandlersRedirectHttpResponseCodeEnum {
if e == 0 {
return nil
}
if n, ok := appenginepb.AppengineVersionHandlersRedirectHttpResponseCodeEnum_name[int32(e)]; ok {
e := appengine.VersionHandlersRedirectHttpResponseCodeEnum(n[len("AppengineVersionHandlersRedirectHttpResponseCodeEnum"):])
return &e
}
return nil
}
// ProtoToVersionErrorHandlersErrorCodeEnum converts a VersionErrorHandlersErrorCodeEnum enum from its proto representation.
func ProtoToAppengineVersionErrorHandlersErrorCodeEnum(e appenginepb.AppengineVersionErrorHandlersErrorCodeEnum) *appengine.VersionErrorHandlersErrorCodeEnum {
if e == 0 {
return nil
}
if n, ok := appenginepb.AppengineVersionErrorHandlersErrorCodeEnum_name[int32(e)]; ok {
e := appengine.VersionErrorHandlersErrorCodeEnum(n[len("AppengineVersionErrorHandlersErrorCodeEnum"):])
return &e
}
return nil
}
// ProtoToVersionApiConfigAuthFailActionEnum converts a VersionApiConfigAuthFailActionEnum enum from its proto representation.
func ProtoToAppengineVersionApiConfigAuthFailActionEnum(e appenginepb.AppengineVersionApiConfigAuthFailActionEnum) *appengine.VersionApiConfigAuthFailActionEnum {
if e == 0 {
return nil
}
if n, ok := appenginepb.AppengineVersionApiConfigAuthFailActionEnum_name[int32(e)]; ok {
e := appengine.VersionApiConfigAuthFailActionEnum(n[len("AppengineVersionApiConfigAuthFailActionEnum"):])
return &e
}
return nil
}
// ProtoToVersionApiConfigLoginEnum converts a VersionApiConfigLoginEnum enum from its proto representation.
func ProtoToAppengineVersionApiConfigLoginEnum(e appenginepb.AppengineVersionApiConfigLoginEnum) *appengine.VersionApiConfigLoginEnum {
if e == 0 {
return nil
}
if n, ok := appenginepb.AppengineVersionApiConfigLoginEnum_name[int32(e)]; ok {
e := appengine.VersionApiConfigLoginEnum(n[len("AppengineVersionApiConfigLoginEnum"):])
return &e
}
return nil
}
// ProtoToVersionApiConfigSecurityLevelEnum converts a VersionApiConfigSecurityLevelEnum enum from its proto representation.
func ProtoToAppengineVersionApiConfigSecurityLevelEnum(e appenginepb.AppengineVersionApiConfigSecurityLevelEnum) *appengine.VersionApiConfigSecurityLevelEnum {
if e == 0 {
return nil
}
if n, ok := appenginepb.AppengineVersionApiConfigSecurityLevelEnum_name[int32(e)]; ok {
e := appengine.VersionApiConfigSecurityLevelEnum(n[len("AppengineVersionApiConfigSecurityLevelEnum"):])
return &e
}
return nil
}
// ProtoToVersionAutomaticScaling converts a VersionAutomaticScaling resource from its proto representation.
func ProtoToAppengineVersionAutomaticScaling(p *appenginepb.AppengineVersionAutomaticScaling) *appengine.VersionAutomaticScaling {
if p == nil {
return nil
}
obj := &appengine.VersionAutomaticScaling{
CoolDownPeriod: dcl.StringOrNil(p.CoolDownPeriod),
CpuUtilization: ProtoToAppengineVersionAutomaticScalingCpuUtilization(p.GetCpuUtilization()),
MaxConcurrentRequests: dcl.Int64OrNil(p.MaxConcurrentRequests),
MaxIdleInstances: dcl.Int64OrNil(p.MaxIdleInstances),
MaxTotalInstances: dcl.Int64OrNil(p.MaxTotalInstances),
MaxPendingLatency: dcl.StringOrNil(p.MaxPendingLatency),
MinIdleInstances: dcl.Int64OrNil(p.MinIdleInstances),
MinTotalInstances: dcl.Int64OrNil(p.MinTotalInstances),
MinPendingLatency: dcl.StringOrNil(p.MinPendingLatency),
RequestUtilization: ProtoToAppengineVersionAutomaticScalingRequestUtilization(p.GetRequestUtilization()),
DiskUtilization: ProtoToAppengineVersionAutomaticScalingDiskUtilization(p.GetDiskUtilization()),
NetworkUtilization: ProtoToAppengineVersionAutomaticScalingNetworkUtilization(p.GetNetworkUtilization()),
StandardSchedulerSettings: ProtoToAppengineVersionAutomaticScalingStandardSchedulerSettings(p.GetStandardSchedulerSettings()),
}
return obj
}
// ProtoToVersionAutomaticScalingCpuUtilization converts a VersionAutomaticScalingCpuUtilization resource from its proto representation.
func ProtoToAppengineVersionAutomaticScalingCpuUtilization(p *appenginepb.AppengineVersionAutomaticScalingCpuUtilization) *appengine.VersionAutomaticScalingCpuUtilization {
if p == nil {
return nil
}
obj := &appengine.VersionAutomaticScalingCpuUtilization{
AggregationWindowLength: dcl.StringOrNil(p.AggregationWindowLength),
TargetUtilization: dcl.Float64OrNil(p.TargetUtilization),
}
return obj
}
// ProtoToVersionAutomaticScalingRequestUtilization converts a VersionAutomaticScalingRequestUtilization resource from its proto representation.
func ProtoToAppengineVersionAutomaticScalingRequestUtilization(p *appenginepb.AppengineVersionAutomaticScalingRequestUtilization) *appengine.VersionAutomaticScalingRequestUtilization {
if p == nil {
return nil
}
obj := &appengine.VersionAutomaticScalingRequestUtilization{
TargetRequestCountPerSecond: dcl.Int64OrNil(p.TargetRequestCountPerSecond),
TargetConcurrentRequests: dcl.Int64OrNil(p.TargetConcurrentRequests),
}
return obj
}
// ProtoToVersionAutomaticScalingDiskUtilization converts a VersionAutomaticScalingDiskUtilization resource from its proto representation.
func ProtoToAppengineVersionAutomaticScalingDiskUtilization(p *appenginepb.AppengineVersionAutomaticScalingDiskUtilization) *appengine.VersionAutomaticScalingDiskUtilization {
if p == nil {
return nil
}
obj := &appengine.VersionAutomaticScalingDiskUtilization{
TargetWriteBytesPerSecond: dcl.Int64OrNil(p.TargetWriteBytesPerSecond),
TargetWriteOpsPerSecond: dcl.Int64OrNil(p.TargetWriteOpsPerSecond),
TargetReadBytesPerSecond: dcl.Int64OrNil(p.TargetReadBytesPerSecond),
TargetReadOpsPerSecond: dcl.Int64OrNil(p.TargetReadOpsPerSecond),
}
return obj
}
// ProtoToVersionAutomaticScalingNetworkUtilization converts a VersionAutomaticScalingNetworkUtilization resource from its proto representation.
func ProtoToAppengineVersionAutomaticScalingNetworkUtilization(p *appenginepb.AppengineVersionAutomaticScalingNetworkUtilization) *appengine.VersionAutomaticScalingNetworkUtilization {
if p == nil {
return nil
}
obj := &appengine.VersionAutomaticScalingNetworkUtilization{
TargetSentBytesPerSecond: dcl.Int64OrNil(p.TargetSentBytesPerSecond),
TargetSentPacketsPerSecond: dcl.Int64OrNil(p.TargetSentPacketsPerSecond),
TargetReceivedBytesPerSecond: dcl.Int64OrNil(p.TargetReceivedBytesPerSecond),
TargetReceivedPacketsPerSecond: dcl.Int64OrNil(p.TargetReceivedPacketsPerSecond),
}
return obj
}
// ProtoToVersionAutomaticScalingStandardSchedulerSettings converts a VersionAutomaticScalingStandardSchedulerSettings resource from its proto representation.
func ProtoToAppengineVersionAutomaticScalingStandardSchedulerSettings(p *appenginepb.AppengineVersionAutomaticScalingStandardSchedulerSettings) *appengine.VersionAutomaticScalingStandardSchedulerSettings {
if p == nil {
return nil
}
obj := &appengine.VersionAutomaticScalingStandardSchedulerSettings{
TargetCpuUtilization: dcl.Float64OrNil(p.TargetCpuUtilization),
TargetThroughputUtilization: dcl.Float64OrNil(p.TargetThroughputUtilization),
MinInstances: dcl.Int64OrNil(p.MinInstances),
MaxInstances: dcl.Int64OrNil(p.MaxInstances),
}
return obj
}
// ProtoToVersionBasicScaling converts a VersionBasicScaling resource from its proto representation.
func ProtoToAppengineVersionBasicScaling(p *appenginepb.AppengineVersionBasicScaling) *appengine.VersionBasicScaling {
if p == nil {
return nil
}
obj := &appengine.VersionBasicScaling{
IdleTimeout: dcl.StringOrNil(p.IdleTimeout),
MaxInstances: dcl.Int64OrNil(p.MaxInstances),
}
return obj
}
// ProtoToVersionManualScaling converts a VersionManualScaling resource from its proto representation.
func ProtoToAppengineVersionManualScaling(p *appenginepb.AppengineVersionManualScaling) *appengine.VersionManualScaling {
if p == nil {
return nil
}
obj := &appengine.VersionManualScaling{
Instances: dcl.Int64OrNil(p.Instances),
}
return obj
}
// ProtoToVersionNetwork converts a VersionNetwork resource from its proto representation.
func ProtoToAppengineVersionNetwork(p *appenginepb.AppengineVersionNetwork) *appengine.VersionNetwork {
if p == nil {
return nil
}
obj := &appengine.VersionNetwork{
InstanceTag: dcl.StringOrNil(p.InstanceTag),
Name: dcl.StringOrNil(p.Name),
SubnetworkName: dcl.StringOrNil(p.SubnetworkName),
SessionAffinity: dcl.Bool(p.SessionAffinity),
}
for _, r := range p.GetForwardedPorts() {
obj.ForwardedPorts = append(obj.ForwardedPorts, r)
}
return obj
}
// ProtoToVersionResources converts a VersionResources resource from its proto representation.
func ProtoToAppengineVersionResources(p *appenginepb.AppengineVersionResources) *appengine.VersionResources {
if p == nil {
return nil
}
obj := &appengine.VersionResources{
Cpu: dcl.Float64OrNil(p.Cpu),
DiskGb: dcl.Float64OrNil(p.DiskGb),
MemoryGb: dcl.Float64OrNil(p.MemoryGb),
}
for _, r := range p.GetVolumes() {
obj.Volumes = append(obj.Volumes, *ProtoToAppengineVersionResourcesVolumes(r))
}
return obj
}
// ProtoToVersionResourcesVolumes converts a VersionResourcesVolumes resource from its proto representation.
func ProtoToAppengineVersionResourcesVolumes(p *appenginepb.AppengineVersionResourcesVolumes) *appengine.VersionResourcesVolumes {
if p == nil {
return nil
}
obj := &appengine.VersionResourcesVolumes{
Name: dcl.StringOrNil(p.Name),
VolumeType: dcl.StringOrNil(p.VolumeType),
SizeGb: dcl.Float64OrNil(p.SizeGb),
}
return obj
}
// ProtoToVersionHandlers converts a VersionHandlers resource from its proto representation.
func ProtoToAppengineVersionHandlers(p *appenginepb.AppengineVersionHandlers) *appengine.VersionHandlers {
if p == nil {
return nil
}
obj := &appengine.VersionHandlers{
UrlRegex: dcl.StringOrNil(p.UrlRegex),
StaticFiles: ProtoToAppengineVersionHandlersStaticFiles(p.GetStaticFiles()),
Script: ProtoToAppengineVersionHandlersScript(p.GetScript()),
ApiEndpoint: ProtoToAppengineVersionHandlersApiEndpoint(p.GetApiEndpoint()),
SecurityLevel: ProtoToAppengineVersionHandlersSecurityLevelEnum(p.GetSecurityLevel()),
Login: ProtoToAppengineVersionHandlersLoginEnum(p.GetLogin()),
AuthFailAction: ProtoToAppengineVersionHandlersAuthFailActionEnum(p.GetAuthFailAction()),
RedirectHttpResponseCode: ProtoToAppengineVersionHandlersRedirectHttpResponseCodeEnum(p.GetRedirectHttpResponseCode()),
}
return obj
}
// ProtoToVersionHandlersStaticFiles converts a VersionHandlersStaticFiles resource from its proto representation.
func ProtoToAppengineVersionHandlersStaticFiles(p *appenginepb.AppengineVersionHandlersStaticFiles) *appengine.VersionHandlersStaticFiles {
if p == nil {
return nil
}
obj := &appengine.VersionHandlersStaticFiles{
Path: dcl.StringOrNil(p.Path),
UploadPathRegex: dcl.StringOrNil(p.UploadPathRegex),
MimeType: dcl.StringOrNil(p.MimeType),
Expiration: dcl.StringOrNil(p.Expiration),
RequireMatchingFile: dcl.Bool(p.RequireMatchingFile),
ApplicationReadable: dcl.Bool(p.ApplicationReadable),
}
return obj
}
// ProtoToVersionHandlersScript converts a VersionHandlersScript resource from its proto representation.
func ProtoToAppengineVersionHandlersScript(p *appenginepb.AppengineVersionHandlersScript) *appengine.VersionHandlersScript {
if p == nil {
return nil
}
obj := &appengine.VersionHandlersScript{
ScriptPath: dcl.StringOrNil(p.ScriptPath),
}
return obj
}
// ProtoToVersionHandlersApiEndpoint converts a VersionHandlersApiEndpoint resource from its proto representation.
func ProtoToAppengineVersionHandlersApiEndpoint(p *appenginepb.AppengineVersionHandlersApiEndpoint) *appengine.VersionHandlersApiEndpoint {
if p == nil {
return nil
}
obj := &appengine.VersionHandlersApiEndpoint{
ScriptPath: dcl.StringOrNil(p.ScriptPath),
}
return obj
}
// ProtoToVersionErrorHandlers converts a VersionErrorHandlers resource from its proto representation.
func ProtoToAppengineVersionErrorHandlers(p *appenginepb.AppengineVersionErrorHandlers) *appengine.VersionErrorHandlers {
if p == nil {
return nil
}
obj := &appengine.VersionErrorHandlers{
ErrorCode: ProtoToAppengineVersionErrorHandlersErrorCodeEnum(p.GetErrorCode()),
StaticFile: dcl.StringOrNil(p.StaticFile),
MimeType: dcl.StringOrNil(p.MimeType),
}
return obj
}
// ProtoToVersionLibraries converts a VersionLibraries resource from its proto representation.
func ProtoToAppengineVersionLibraries(p *appenginepb.AppengineVersionLibraries) *appengine.VersionLibraries {
if p == nil {
return nil
}
obj := &appengine.VersionLibraries{
Name: dcl.StringOrNil(p.Name),
Version: dcl.StringOrNil(p.Version),
}
return obj
}
// ProtoToVersionApiConfig converts a VersionApiConfig resource from its proto representation.
func ProtoToAppengineVersionApiConfig(p *appenginepb.AppengineVersionApiConfig) *appengine.VersionApiConfig {
if p == nil {
return nil
}
obj := &appengine.VersionApiConfig{
AuthFailAction: ProtoToAppengineVersionApiConfigAuthFailActionEnum(p.GetAuthFailAction()),
Login: ProtoToAppengineVersionApiConfigLoginEnum(p.GetLogin()),
Script: dcl.StringOrNil(p.Script),
SecurityLevel: ProtoToAppengineVersionApiConfigSecurityLevelEnum(p.GetSecurityLevel()),
Url: dcl.StringOrNil(p.Url),
}
return obj
}
// ProtoToVersionDeployment converts a VersionDeployment resource from its proto representation.
func ProtoToAppengineVersionDeployment(p *appenginepb.AppengineVersionDeployment) *appengine.VersionDeployment {
if p == nil {
return nil
}
obj := &appengine.VersionDeployment{
Container: ProtoToAppengineVersionDeploymentContainer(p.GetContainer()),
Zip: ProtoToAppengineVersionDeploymentZip(p.GetZip()),
CloudBuildOptions: ProtoToAppengineVersionDeploymentCloudBuildOptions(p.GetCloudBuildOptions()),
}
return obj
}
// ProtoToVersionDeploymentFiles converts a VersionDeploymentFiles resource from its proto representation.
func ProtoToAppengineVersionDeploymentFiles(p *appenginepb.AppengineVersionDeploymentFiles) *appengine.VersionDeploymentFiles {
if p == nil {
return nil
}
obj := &appengine.VersionDeploymentFiles{
SourceUrl: dcl.StringOrNil(p.SourceUrl),
Sha1Sum: dcl.StringOrNil(p.Sha1Sum),
MimeType: dcl.StringOrNil(p.MimeType),
}
return obj
}
// ProtoToVersionDeploymentContainer converts a VersionDeploymentContainer resource from its proto representation.
func ProtoToAppengineVersionDeploymentContainer(p *appenginepb.AppengineVersionDeploymentContainer) *appengine.VersionDeploymentContainer {
if p == nil {
return nil
}
obj := &appengine.VersionDeploymentContainer{
Image: dcl.StringOrNil(p.Image),
}
return obj
}
// ProtoToVersionDeploymentZip converts a VersionDeploymentZip resource from its proto representation.
func ProtoToAppengineVersionDeploymentZip(p *appenginepb.AppengineVersionDeploymentZip) *appengine.VersionDeploymentZip {
if p == nil {
return nil
}
obj := &appengine.VersionDeploymentZip{
SourceUrl: dcl.StringOrNil(p.SourceUrl),
FilesCount: dcl.Int64OrNil(p.FilesCount),
}
return obj
}
// ProtoToVersionDeploymentCloudBuildOptions converts a VersionDeploymentCloudBuildOptions resource from its proto representation.
func ProtoToAppengineVersionDeploymentCloudBuildOptions(p *appenginepb.AppengineVersionDeploymentCloudBuildOptions) *appengine.VersionDeploymentCloudBuildOptions {
if p == nil {
return nil
}
obj := &appengine.VersionDeploymentCloudBuildOptions{
AppYamlPath: dcl.StringOrNil(p.AppYamlPath),
CloudBuildTimeout: dcl.StringOrNil(p.CloudBuildTimeout),
}
return obj
}
// ProtoToVersionHealthCheck converts a VersionHealthCheck resource from its proto representation.
func ProtoToAppengineVersionHealthCheck(p *appenginepb.AppengineVersionHealthCheck) *appengine.VersionHealthCheck {
if p == nil {
return nil
}
obj := &appengine.VersionHealthCheck{
DisableHealthCheck: dcl.Bool(p.DisableHealthCheck),
Host: dcl.StringOrNil(p.Host),
HealthyThreshold: dcl.Int64OrNil(p.HealthyThreshold),
UnhealthyThreshold: dcl.Int64OrNil(p.UnhealthyThreshold),
RestartThreshold: dcl.Int64OrNil(p.RestartThreshold),
CheckInterval: dcl.StringOrNil(p.CheckInterval),
Timeout: dcl.StringOrNil(p.Timeout),
}
return obj
}
// ProtoToVersionReadinessCheck converts a VersionReadinessCheck resource from its proto representation.
func ProtoToAppengineVersionReadinessCheck(p *appenginepb.AppengineVersionReadinessCheck) *appengine.VersionReadinessCheck {
if p == nil {
return nil
}
obj := &appengine.VersionReadinessCheck{
Path: dcl.StringOrNil(p.Path),
Host: dcl.StringOrNil(p.Host),
FailureThreshold: dcl.Int64OrNil(p.FailureThreshold),
SuccessThreshold: dcl.Int64OrNil(p.SuccessThreshold),
CheckInterval: dcl.StringOrNil(p.CheckInterval),
Timeout: dcl.StringOrNil(p.Timeout),
AppStartTimeout: dcl.StringOrNil(p.AppStartTimeout),
}
return obj
}
// ProtoToVersionLivenessCheck converts a VersionLivenessCheck resource from its proto representation.
func ProtoToAppengineVersionLivenessCheck(p *appenginepb.AppengineVersionLivenessCheck) *appengine.VersionLivenessCheck {
if p == nil {
return nil
}
obj := &appengine.VersionLivenessCheck{
Path: dcl.StringOrNil(p.Path),
Host: dcl.StringOrNil(p.Host),
FailureThreshold: dcl.Int64OrNil(p.FailureThreshold),
SuccessThreshold: dcl.Int64OrNil(p.SuccessThreshold),
CheckInterval: dcl.StringOrNil(p.CheckInterval),
Timeout: dcl.StringOrNil(p.Timeout),
InitialDelay: dcl.StringOrNil(p.InitialDelay),
}
return obj
}
// ProtoToVersionEntrypoint converts a VersionEntrypoint resource from its proto representation.
func ProtoToAppengineVersionEntrypoint(p *appenginepb.AppengineVersionEntrypoint) *appengine.VersionEntrypoint {
if p == nil {
return nil
}
obj := &appengine.VersionEntrypoint{
Shell: dcl.StringOrNil(p.Shell),
}
return obj
}
// ProtoToVersionVPCAccessConnector converts a VersionVPCAccessConnector resource from its proto representation.
func ProtoToAppengineVersionVPCAccessConnector(p *appenginepb.AppengineVersionVPCAccessConnector) *appengine.VersionVPCAccessConnector {
if p == nil {
return nil
}
obj := &appengine.VersionVPCAccessConnector{
Name: dcl.StringOrNil(p.Name),
}
return obj
}
// ProtoToVersion converts a Version resource from its proto representation.
func ProtoToVersion(p *appenginepb.AppengineVersion) *appengine.Version {
obj := &appengine.Version{
ConsumerName: dcl.StringOrNil(p.ConsumerName),
Name: dcl.StringOrNil(p.Name),
AutomaticScaling: ProtoToAppengineVersionAutomaticScaling(p.GetAutomaticScaling()),
BasicScaling: ProtoToAppengineVersionBasicScaling(p.GetBasicScaling()),
ManualScaling: ProtoToAppengineVersionManualScaling(p.GetManualScaling()),
InstanceClass: dcl.StringOrNil(p.InstanceClass),
Network: ProtoToAppengineVersionNetwork(p.GetNetwork()),
Resources: ProtoToAppengineVersionResources(p.GetResources()),
Runtime: dcl.StringOrNil(p.Runtime),
RuntimeChannel: dcl.StringOrNil(p.RuntimeChannel),
Threadsafe: dcl.Bool(p.Threadsafe),
Vm: dcl.Bool(p.Vm),
Env: dcl.StringOrNil(p.Env),
ServingStatus: ProtoToAppengineVersionServingStatusEnum(p.GetServingStatus()),
CreatedBy: dcl.StringOrNil(p.CreatedBy),
CreateTime: dcl.StringOrNil(p.GetCreateTime()),
DiskUsageBytes: dcl.Int64OrNil(p.DiskUsageBytes),
RuntimeApiVersion: dcl.StringOrNil(p.RuntimeApiVersion),
RuntimeMainExecutablePath: dcl.StringOrNil(p.RuntimeMainExecutablePath),
ApiConfig: ProtoToAppengineVersionApiConfig(p.GetApiConfig()),
DefaultExpiration: dcl.StringOrNil(p.DefaultExpiration),
Deployment: ProtoToAppengineVersionDeployment(p.GetDeployment()),
HealthCheck: ProtoToAppengineVersionHealthCheck(p.GetHealthCheck()),
ReadinessCheck: ProtoToAppengineVersionReadinessCheck(p.GetReadinessCheck()),
LivenessCheck: ProtoToAppengineVersionLivenessCheck(p.GetLivenessCheck()),
NobuildFilesRegex: dcl.StringOrNil(p.NobuildFilesRegex),
VersionUrl: dcl.StringOrNil(p.VersionUrl),
Entrypoint: ProtoToAppengineVersionEntrypoint(p.GetEntrypoint()),
VPCAccessConnector: ProtoToAppengineVersionVPCAccessConnector(p.GetVpcAccessConnector()),
App: dcl.StringOrNil(p.App),
Service: dcl.StringOrNil(p.Service),
}
for _, r := range p.GetInboundServices() {
obj.InboundServices = append(obj.InboundServices, *ProtoToAppengineVersionInboundServicesEnum(r))
}
for _, r := range p.GetZones() {
obj.Zones = append(obj.Zones, r)
}
for _, r := range p.GetHandlers() {
obj.Handlers = append(obj.Handlers, *ProtoToAppengineVersionHandlers(r))
}
for _, r := range p.GetErrorHandlers() {
obj.ErrorHandlers = append(obj.ErrorHandlers, *ProtoToAppengineVersionErrorHandlers(r))
}
for _, r := range p.GetLibraries() {
obj.Libraries = append(obj.Libraries, *ProtoToAppengineVersionLibraries(r))
}
return obj
}
// VersionInboundServicesEnumToProto converts a VersionInboundServicesEnum enum to its proto representation.
func AppengineVersionInboundServicesEnumToProto(e *appengine.VersionInboundServicesEnum) appenginepb.AppengineVersionInboundServicesEnum {
if e == nil {
return appenginepb.AppengineVersionInboundServicesEnum(0)
}
if v, ok := appenginepb.AppengineVersionInboundServicesEnum_value["VersionInboundServicesEnum"+string(*e)]; ok {
return appenginepb.AppengineVersionInboundServicesEnum(v)
}
return appenginepb.AppengineVersionInboundServicesEnum(0)
}
// VersionServingStatusEnumToProto converts a VersionServingStatusEnum enum to its proto representation.
func AppengineVersionServingStatusEnumToProto(e *appengine.VersionServingStatusEnum) appenginepb.AppengineVersionServingStatusEnum {
if e == nil {
return appenginepb.AppengineVersionServingStatusEnum(0)
}
if v, ok := appenginepb.AppengineVersionServingStatusEnum_value["VersionServingStatusEnum"+string(*e)]; ok {
return appenginepb.AppengineVersionServingStatusEnum(v)
}
return appenginepb.AppengineVersionServingStatusEnum(0)
}
// VersionHandlersSecurityLevelEnumToProto converts a VersionHandlersSecurityLevelEnum enum to its proto representation.
func AppengineVersionHandlersSecurityLevelEnumToProto(e *appengine.VersionHandlersSecurityLevelEnum) appenginepb.AppengineVersionHandlersSecurityLevelEnum {
if e == nil {
return appenginepb.AppengineVersionHandlersSecurityLevelEnum(0)
}
if v, ok := appenginepb.AppengineVersionHandlersSecurityLevelEnum_value["VersionHandlersSecurityLevelEnum"+string(*e)]; ok {
return appenginepb.AppengineVersionHandlersSecurityLevelEnum(v)
}
return appenginepb.AppengineVersionHandlersSecurityLevelEnum(0)
}
// VersionHandlersLoginEnumToProto converts a VersionHandlersLoginEnum enum to its proto representation.
func AppengineVersionHandlersLoginEnumToProto(e *appengine.VersionHandlersLoginEnum) appenginepb.AppengineVersionHandlersLoginEnum {
if e == nil {
return appenginepb.AppengineVersionHandlersLoginEnum(0)
}
if v, ok := appenginepb.AppengineVersionHandlersLoginEnum_value["VersionHandlersLoginEnum"+string(*e)]; ok {
return appenginepb.AppengineVersionHandlersLoginEnum(v)
}
return appenginepb.AppengineVersionHandlersLoginEnum(0)
}
// VersionHandlersAuthFailActionEnumToProto converts a VersionHandlersAuthFailActionEnum enum to its proto representation.
func AppengineVersionHandlersAuthFailActionEnumToProto(e *appengine.VersionHandlersAuthFailActionEnum) appenginepb.AppengineVersionHandlersAuthFailActionEnum {
if e == nil {
return appenginepb.AppengineVersionHandlersAuthFailActionEnum(0)
}
if v, ok := appenginepb.AppengineVersionHandlersAuthFailActionEnum_value["VersionHandlersAuthFailActionEnum"+string(*e)]; ok {
return appenginepb.AppengineVersionHandlersAuthFailActionEnum(v)
}
return appenginepb.AppengineVersionHandlersAuthFailActionEnum(0)
}
// VersionHandlersRedirectHttpResponseCodeEnumToProto converts a VersionHandlersRedirectHttpResponseCodeEnum enum to its proto representation.
func AppengineVersionHandlersRedirectHttpResponseCodeEnumToProto(e *appengine.VersionHandlersRedirectHttpResponseCodeEnum) appenginepb.AppengineVersionHandlersRedirectHttpResponseCodeEnum {
if e == nil {
return appenginepb.AppengineVersionHandlersRedirectHttpResponseCodeEnum(0)
}
if v, ok := appenginepb.AppengineVersionHandlersRedirectHttpResponseCodeEnum_value["VersionHandlersRedirectHttpResponseCodeEnum"+string(*e)]; ok {
return appenginepb.AppengineVersionHandlersRedirectHttpResponseCodeEnum(v)
}
return appenginepb.AppengineVersionHandlersRedirectHttpResponseCodeEnum(0)
}
// VersionErrorHandlersErrorCodeEnumToProto converts a VersionErrorHandlersErrorCodeEnum enum to its proto representation.
func AppengineVersionErrorHandlersErrorCodeEnumToProto(e *appengine.VersionErrorHandlersErrorCodeEnum) appenginepb.AppengineVersionErrorHandlersErrorCodeEnum {
if e == nil {
return appenginepb.AppengineVersionErrorHandlersErrorCodeEnum(0)
}
if v, ok := appenginepb.AppengineVersionErrorHandlersErrorCodeEnum_value["VersionErrorHandlersErrorCodeEnum"+string(*e)]; ok {
return appenginepb.AppengineVersionErrorHandlersErrorCodeEnum(v)
}
return appenginepb.AppengineVersionErrorHandlersErrorCodeEnum(0)
}
// VersionApiConfigAuthFailActionEnumToProto converts a VersionApiConfigAuthFailActionEnum enum to its proto representation.
func AppengineVersionApiConfigAuthFailActionEnumToProto(e *appengine.VersionApiConfigAuthFailActionEnum) appenginepb.AppengineVersionApiConfigAuthFailActionEnum {
if e == nil {
return appenginepb.AppengineVersionApiConfigAuthFailActionEnum(0)
}
if v, ok := appenginepb.AppengineVersionApiConfigAuthFailActionEnum_value["VersionApiConfigAuthFailActionEnum"+string(*e)]; ok {
return appenginepb.AppengineVersionApiConfigAuthFailActionEnum(v)
}
return appenginepb.AppengineVersionApiConfigAuthFailActionEnum(0)
}
// VersionApiConfigLoginEnumToProto converts a VersionApiConfigLoginEnum enum to its proto representation.
func AppengineVersionApiConfigLoginEnumToProto(e *appengine.VersionApiConfigLoginEnum) appenginepb.AppengineVersionApiConfigLoginEnum {
if e == nil {
return appenginepb.AppengineVersionApiConfigLoginEnum(0)
}
if v, ok := appenginepb.AppengineVersionApiConfigLoginEnum_value["VersionApiConfigLoginEnum"+string(*e)]; ok {
return appenginepb.AppengineVersionApiConfigLoginEnum(v)
}
return appenginepb.AppengineVersionApiConfigLoginEnum(0)
}
// VersionApiConfigSecurityLevelEnumToProto converts a VersionApiConfigSecurityLevelEnum enum to its proto representation.
func AppengineVersionApiConfigSecurityLevelEnumToProto(e *appengine.VersionApiConfigSecurityLevelEnum) appenginepb.AppengineVersionApiConfigSecurityLevelEnum {
if e == nil {
return appenginepb.AppengineVersionApiConfigSecurityLevelEnum(0)
}
if v, ok := appenginepb.AppengineVersionApiConfigSecurityLevelEnum_value["VersionApiConfigSecurityLevelEnum"+string(*e)]; ok {
return appenginepb.AppengineVersionApiConfigSecurityLevelEnum(v)
}
return appenginepb.AppengineVersionApiConfigSecurityLevelEnum(0)
}
// VersionAutomaticScalingToProto converts a VersionAutomaticScaling resource to its proto representation.
func AppengineVersionAutomaticScalingToProto(o *appengine.VersionAutomaticScaling) *appenginepb.AppengineVersionAutomaticScaling {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionAutomaticScaling{
CoolDownPeriod: dcl.ValueOrEmptyString(o.CoolDownPeriod),
CpuUtilization: AppengineVersionAutomaticScalingCpuUtilizationToProto(o.CpuUtilization),
MaxConcurrentRequests: dcl.ValueOrEmptyInt64(o.MaxConcurrentRequests),
MaxIdleInstances: dcl.ValueOrEmptyInt64(o.MaxIdleInstances),
MaxTotalInstances: dcl.ValueOrEmptyInt64(o.MaxTotalInstances),
MaxPendingLatency: dcl.ValueOrEmptyString(o.MaxPendingLatency),
MinIdleInstances: dcl.ValueOrEmptyInt64(o.MinIdleInstances),
MinTotalInstances: dcl.ValueOrEmptyInt64(o.MinTotalInstances),
MinPendingLatency: dcl.ValueOrEmptyString(o.MinPendingLatency),
RequestUtilization: AppengineVersionAutomaticScalingRequestUtilizationToProto(o.RequestUtilization),
DiskUtilization: AppengineVersionAutomaticScalingDiskUtilizationToProto(o.DiskUtilization),
NetworkUtilization: AppengineVersionAutomaticScalingNetworkUtilizationToProto(o.NetworkUtilization),
StandardSchedulerSettings: AppengineVersionAutomaticScalingStandardSchedulerSettingsToProto(o.StandardSchedulerSettings),
}
return p
}
// VersionAutomaticScalingCpuUtilizationToProto converts a VersionAutomaticScalingCpuUtilization resource to its proto representation.
func AppengineVersionAutomaticScalingCpuUtilizationToProto(o *appengine.VersionAutomaticScalingCpuUtilization) *appenginepb.AppengineVersionAutomaticScalingCpuUtilization {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionAutomaticScalingCpuUtilization{
AggregationWindowLength: dcl.ValueOrEmptyString(o.AggregationWindowLength),
TargetUtilization: dcl.ValueOrEmptyDouble(o.TargetUtilization),
}
return p
}
// VersionAutomaticScalingRequestUtilizationToProto converts a VersionAutomaticScalingRequestUtilization resource to its proto representation.
func AppengineVersionAutomaticScalingRequestUtilizationToProto(o *appengine.VersionAutomaticScalingRequestUtilization) *appenginepb.AppengineVersionAutomaticScalingRequestUtilization {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionAutomaticScalingRequestUtilization{
TargetRequestCountPerSecond: dcl.ValueOrEmptyInt64(o.TargetRequestCountPerSecond),
TargetConcurrentRequests: dcl.ValueOrEmptyInt64(o.TargetConcurrentRequests),
}
return p
}
// VersionAutomaticScalingDiskUtilizationToProto converts a VersionAutomaticScalingDiskUtilization resource to its proto representation.
func AppengineVersionAutomaticScalingDiskUtilizationToProto(o *appengine.VersionAutomaticScalingDiskUtilization) *appenginepb.AppengineVersionAutomaticScalingDiskUtilization {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionAutomaticScalingDiskUtilization{
TargetWriteBytesPerSecond: dcl.ValueOrEmptyInt64(o.TargetWriteBytesPerSecond),
TargetWriteOpsPerSecond: dcl.ValueOrEmptyInt64(o.TargetWriteOpsPerSecond),
TargetReadBytesPerSecond: dcl.ValueOrEmptyInt64(o.TargetReadBytesPerSecond),
TargetReadOpsPerSecond: dcl.ValueOrEmptyInt64(o.TargetReadOpsPerSecond),
}
return p
}
// VersionAutomaticScalingNetworkUtilizationToProto converts a VersionAutomaticScalingNetworkUtilization resource to its proto representation.
func AppengineVersionAutomaticScalingNetworkUtilizationToProto(o *appengine.VersionAutomaticScalingNetworkUtilization) *appenginepb.AppengineVersionAutomaticScalingNetworkUtilization {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionAutomaticScalingNetworkUtilization{
TargetSentBytesPerSecond: dcl.ValueOrEmptyInt64(o.TargetSentBytesPerSecond),
TargetSentPacketsPerSecond: dcl.ValueOrEmptyInt64(o.TargetSentPacketsPerSecond),
TargetReceivedBytesPerSecond: dcl.ValueOrEmptyInt64(o.TargetReceivedBytesPerSecond),
TargetReceivedPacketsPerSecond: dcl.ValueOrEmptyInt64(o.TargetReceivedPacketsPerSecond),
}
return p
}
// VersionAutomaticScalingStandardSchedulerSettingsToProto converts a VersionAutomaticScalingStandardSchedulerSettings resource to its proto representation.
func AppengineVersionAutomaticScalingStandardSchedulerSettingsToProto(o *appengine.VersionAutomaticScalingStandardSchedulerSettings) *appenginepb.AppengineVersionAutomaticScalingStandardSchedulerSettings {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionAutomaticScalingStandardSchedulerSettings{
TargetCpuUtilization: dcl.ValueOrEmptyDouble(o.TargetCpuUtilization),
TargetThroughputUtilization: dcl.ValueOrEmptyDouble(o.TargetThroughputUtilization),
MinInstances: dcl.ValueOrEmptyInt64(o.MinInstances),
MaxInstances: dcl.ValueOrEmptyInt64(o.MaxInstances),
}
return p
}
// VersionBasicScalingToProto converts a VersionBasicScaling resource to its proto representation.
func AppengineVersionBasicScalingToProto(o *appengine.VersionBasicScaling) *appenginepb.AppengineVersionBasicScaling {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionBasicScaling{
IdleTimeout: dcl.ValueOrEmptyString(o.IdleTimeout),
MaxInstances: dcl.ValueOrEmptyInt64(o.MaxInstances),
}
return p
}
// VersionManualScalingToProto converts a VersionManualScaling resource to its proto representation.
func AppengineVersionManualScalingToProto(o *appengine.VersionManualScaling) *appenginepb.AppengineVersionManualScaling {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionManualScaling{
Instances: dcl.ValueOrEmptyInt64(o.Instances),
}
return p
}
// VersionNetworkToProto converts a VersionNetwork resource to its proto representation.
func AppengineVersionNetworkToProto(o *appengine.VersionNetwork) *appenginepb.AppengineVersionNetwork {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionNetwork{
InstanceTag: dcl.ValueOrEmptyString(o.InstanceTag),
Name: dcl.ValueOrEmptyString(o.Name),
SubnetworkName: dcl.ValueOrEmptyString(o.SubnetworkName),
SessionAffinity: dcl.ValueOrEmptyBool(o.SessionAffinity),
}
for _, r := range o.ForwardedPorts {
p.ForwardedPorts = append(p.ForwardedPorts, r)
}
return p
}
// VersionResourcesToProto converts a VersionResources resource to its proto representation.
func AppengineVersionResourcesToProto(o *appengine.VersionResources) *appenginepb.AppengineVersionResources {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionResources{
Cpu: dcl.ValueOrEmptyDouble(o.Cpu),
DiskGb: dcl.ValueOrEmptyDouble(o.DiskGb),
MemoryGb: dcl.ValueOrEmptyDouble(o.MemoryGb),
}
for _, r := range o.Volumes {
p.Volumes = append(p.Volumes, AppengineVersionResourcesVolumesToProto(&r))
}
return p
}
// VersionResourcesVolumesToProto converts a VersionResourcesVolumes resource to its proto representation.
func AppengineVersionResourcesVolumesToProto(o *appengine.VersionResourcesVolumes) *appenginepb.AppengineVersionResourcesVolumes {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionResourcesVolumes{
Name: dcl.ValueOrEmptyString(o.Name),
VolumeType: dcl.ValueOrEmptyString(o.VolumeType),
SizeGb: dcl.ValueOrEmptyDouble(o.SizeGb),
}
return p
}
// VersionHandlersToProto converts a VersionHandlers resource to its proto representation.
func AppengineVersionHandlersToProto(o *appengine.VersionHandlers) *appenginepb.AppengineVersionHandlers {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionHandlers{
UrlRegex: dcl.ValueOrEmptyString(o.UrlRegex),
StaticFiles: AppengineVersionHandlersStaticFilesToProto(o.StaticFiles),
Script: AppengineVersionHandlersScriptToProto(o.Script),
ApiEndpoint: AppengineVersionHandlersApiEndpointToProto(o.ApiEndpoint),
SecurityLevel: AppengineVersionHandlersSecurityLevelEnumToProto(o.SecurityLevel),
Login: AppengineVersionHandlersLoginEnumToProto(o.Login),
AuthFailAction: AppengineVersionHandlersAuthFailActionEnumToProto(o.AuthFailAction),
RedirectHttpResponseCode: AppengineVersionHandlersRedirectHttpResponseCodeEnumToProto(o.RedirectHttpResponseCode),
}
return p
}
// VersionHandlersStaticFilesToProto converts a VersionHandlersStaticFiles resource to its proto representation.
func AppengineVersionHandlersStaticFilesToProto(o *appengine.VersionHandlersStaticFiles) *appenginepb.AppengineVersionHandlersStaticFiles {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionHandlersStaticFiles{
Path: dcl.ValueOrEmptyString(o.Path),
UploadPathRegex: dcl.ValueOrEmptyString(o.UploadPathRegex),
MimeType: dcl.ValueOrEmptyString(o.MimeType),
Expiration: dcl.ValueOrEmptyString(o.Expiration),
RequireMatchingFile: dcl.ValueOrEmptyBool(o.RequireMatchingFile),
ApplicationReadable: dcl.ValueOrEmptyBool(o.ApplicationReadable),
}
p.HttpHeaders = make(map[string]string)
for k, r := range o.HttpHeaders {
p.HttpHeaders[k] = r
}
return p
}
// VersionHandlersScriptToProto converts a VersionHandlersScript resource to its proto representation.
func AppengineVersionHandlersScriptToProto(o *appengine.VersionHandlersScript) *appenginepb.AppengineVersionHandlersScript {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionHandlersScript{
ScriptPath: dcl.ValueOrEmptyString(o.ScriptPath),
}
return p
}
// VersionHandlersApiEndpointToProto converts a VersionHandlersApiEndpoint resource to its proto representation.
func AppengineVersionHandlersApiEndpointToProto(o *appengine.VersionHandlersApiEndpoint) *appenginepb.AppengineVersionHandlersApiEndpoint {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionHandlersApiEndpoint{
ScriptPath: dcl.ValueOrEmptyString(o.ScriptPath),
}
return p
}
// VersionErrorHandlersToProto converts a VersionErrorHandlers resource to its proto representation.
func AppengineVersionErrorHandlersToProto(o *appengine.VersionErrorHandlers) *appenginepb.AppengineVersionErrorHandlers {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionErrorHandlers{
ErrorCode: AppengineVersionErrorHandlersErrorCodeEnumToProto(o.ErrorCode),
StaticFile: dcl.ValueOrEmptyString(o.StaticFile),
MimeType: dcl.ValueOrEmptyString(o.MimeType),
}
return p
}
// VersionLibrariesToProto converts a VersionLibraries resource to its proto representation.
func AppengineVersionLibrariesToProto(o *appengine.VersionLibraries) *appenginepb.AppengineVersionLibraries {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionLibraries{
Name: dcl.ValueOrEmptyString(o.Name),
Version: dcl.ValueOrEmptyString(o.Version),
}
return p
}
// VersionApiConfigToProto converts a VersionApiConfig resource to its proto representation.
func AppengineVersionApiConfigToProto(o *appengine.VersionApiConfig) *appenginepb.AppengineVersionApiConfig {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionApiConfig{
AuthFailAction: AppengineVersionApiConfigAuthFailActionEnumToProto(o.AuthFailAction),
Login: AppengineVersionApiConfigLoginEnumToProto(o.Login),
Script: dcl.ValueOrEmptyString(o.Script),
SecurityLevel: AppengineVersionApiConfigSecurityLevelEnumToProto(o.SecurityLevel),
Url: dcl.ValueOrEmptyString(o.Url),
}
return p
}
// VersionDeploymentToProto converts a VersionDeployment resource to its proto representation.
func AppengineVersionDeploymentToProto(o *appengine.VersionDeployment) *appenginepb.AppengineVersionDeployment {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionDeployment{
Container: AppengineVersionDeploymentContainerToProto(o.Container),
Zip: AppengineVersionDeploymentZipToProto(o.Zip),
CloudBuildOptions: AppengineVersionDeploymentCloudBuildOptionsToProto(o.CloudBuildOptions),
}
p.Files = make(map[string]*appenginepb.AppengineVersionDeploymentFiles)
for k, r := range o.Files {
p.Files[k] = AppengineVersionDeploymentFilesToProto(&r)
}
return p
}
// VersionDeploymentFilesToProto converts a VersionDeploymentFiles resource to its proto representation.
func AppengineVersionDeploymentFilesToProto(o *appengine.VersionDeploymentFiles) *appenginepb.AppengineVersionDeploymentFiles {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionDeploymentFiles{
SourceUrl: dcl.ValueOrEmptyString(o.SourceUrl),
Sha1Sum: dcl.ValueOrEmptyString(o.Sha1Sum),
MimeType: dcl.ValueOrEmptyString(o.MimeType),
}
return p
}
// VersionDeploymentContainerToProto converts a VersionDeploymentContainer resource to its proto representation.
func AppengineVersionDeploymentContainerToProto(o *appengine.VersionDeploymentContainer) *appenginepb.AppengineVersionDeploymentContainer {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionDeploymentContainer{
Image: dcl.ValueOrEmptyString(o.Image),
}
return p
}
// VersionDeploymentZipToProto converts a VersionDeploymentZip resource to its proto representation.
func AppengineVersionDeploymentZipToProto(o *appengine.VersionDeploymentZip) *appenginepb.AppengineVersionDeploymentZip {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionDeploymentZip{
SourceUrl: dcl.ValueOrEmptyString(o.SourceUrl),
FilesCount: dcl.ValueOrEmptyInt64(o.FilesCount),
}
return p
}
// VersionDeploymentCloudBuildOptionsToProto converts a VersionDeploymentCloudBuildOptions resource to its proto representation.
func AppengineVersionDeploymentCloudBuildOptionsToProto(o *appengine.VersionDeploymentCloudBuildOptions) *appenginepb.AppengineVersionDeploymentCloudBuildOptions {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionDeploymentCloudBuildOptions{
AppYamlPath: dcl.ValueOrEmptyString(o.AppYamlPath),
CloudBuildTimeout: dcl.ValueOrEmptyString(o.CloudBuildTimeout),
}
return p
}
// VersionHealthCheckToProto converts a VersionHealthCheck resource to its proto representation.
func AppengineVersionHealthCheckToProto(o *appengine.VersionHealthCheck) *appenginepb.AppengineVersionHealthCheck {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionHealthCheck{
DisableHealthCheck: dcl.ValueOrEmptyBool(o.DisableHealthCheck),
Host: dcl.ValueOrEmptyString(o.Host),
HealthyThreshold: dcl.ValueOrEmptyInt64(o.HealthyThreshold),
UnhealthyThreshold: dcl.ValueOrEmptyInt64(o.UnhealthyThreshold),
RestartThreshold: dcl.ValueOrEmptyInt64(o.RestartThreshold),
CheckInterval: dcl.ValueOrEmptyString(o.CheckInterval),
Timeout: dcl.ValueOrEmptyString(o.Timeout),
}
return p
}
// VersionReadinessCheckToProto converts a VersionReadinessCheck resource to its proto representation.
func AppengineVersionReadinessCheckToProto(o *appengine.VersionReadinessCheck) *appenginepb.AppengineVersionReadinessCheck {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionReadinessCheck{
Path: dcl.ValueOrEmptyString(o.Path),
Host: dcl.ValueOrEmptyString(o.Host),
FailureThreshold: dcl.ValueOrEmptyInt64(o.FailureThreshold),
SuccessThreshold: dcl.ValueOrEmptyInt64(o.SuccessThreshold),
CheckInterval: dcl.ValueOrEmptyString(o.CheckInterval),
Timeout: dcl.ValueOrEmptyString(o.Timeout),
AppStartTimeout: dcl.ValueOrEmptyString(o.AppStartTimeout),
}
return p
}
// VersionLivenessCheckToProto converts a VersionLivenessCheck resource to its proto representation.
func AppengineVersionLivenessCheckToProto(o *appengine.VersionLivenessCheck) *appenginepb.AppengineVersionLivenessCheck {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionLivenessCheck{
Path: dcl.ValueOrEmptyString(o.Path),
Host: dcl.ValueOrEmptyString(o.Host),
FailureThreshold: dcl.ValueOrEmptyInt64(o.FailureThreshold),
SuccessThreshold: dcl.ValueOrEmptyInt64(o.SuccessThreshold),
CheckInterval: dcl.ValueOrEmptyString(o.CheckInterval),
Timeout: dcl.ValueOrEmptyString(o.Timeout),
InitialDelay: dcl.ValueOrEmptyString(o.InitialDelay),
}
return p
}
// VersionEntrypointToProto converts a VersionEntrypoint resource to its proto representation.
func AppengineVersionEntrypointToProto(o *appengine.VersionEntrypoint) *appenginepb.AppengineVersionEntrypoint {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionEntrypoint{
Shell: dcl.ValueOrEmptyString(o.Shell),
}
return p
}
// VersionVPCAccessConnectorToProto converts a VersionVPCAccessConnector resource to its proto representation.
func AppengineVersionVPCAccessConnectorToProto(o *appengine.VersionVPCAccessConnector) *appenginepb.AppengineVersionVPCAccessConnector {
if o == nil {
return nil
}
p := &appenginepb.AppengineVersionVPCAccessConnector{
Name: dcl.ValueOrEmptyString(o.Name),
}
return p
}
// VersionToProto converts a Version resource to its proto representation.
func VersionToProto(resource *appengine.Version) *appenginepb.AppengineVersion {
p := &appenginepb.AppengineVersion{
ConsumerName: dcl.ValueOrEmptyString(resource.ConsumerName),
Name: dcl.ValueOrEmptyString(resource.Name),
AutomaticScaling: AppengineVersionAutomaticScalingToProto(resource.AutomaticScaling),
BasicScaling: AppengineVersionBasicScalingToProto(resource.BasicScaling),
ManualScaling: AppengineVersionManualScalingToProto(resource.ManualScaling),
InstanceClass: dcl.ValueOrEmptyString(resource.InstanceClass),
Network: AppengineVersionNetworkToProto(resource.Network),
Resources: AppengineVersionResourcesToProto(resource.Resources),
Runtime: dcl.ValueOrEmptyString(resource.Runtime),
RuntimeChannel: dcl.ValueOrEmptyString(resource.RuntimeChannel),
Threadsafe: dcl.ValueOrEmptyBool(resource.Threadsafe),
Vm: dcl.ValueOrEmptyBool(resource.Vm),
Env: dcl.ValueOrEmptyString(resource.Env),
ServingStatus: AppengineVersionServingStatusEnumToProto(resource.ServingStatus),
CreatedBy: dcl.ValueOrEmptyString(resource.CreatedBy),
CreateTime: dcl.ValueOrEmptyString(resource.CreateTime),
DiskUsageBytes: dcl.ValueOrEmptyInt64(resource.DiskUsageBytes),
RuntimeApiVersion: dcl.ValueOrEmptyString(resource.RuntimeApiVersion),
RuntimeMainExecutablePath: dcl.ValueOrEmptyString(resource.RuntimeMainExecutablePath),
ApiConfig: AppengineVersionApiConfigToProto(resource.ApiConfig),
DefaultExpiration: dcl.ValueOrEmptyString(resource.DefaultExpiration),
Deployment: AppengineVersionDeploymentToProto(resource.Deployment),
HealthCheck: AppengineVersionHealthCheckToProto(resource.HealthCheck),
ReadinessCheck: AppengineVersionReadinessCheckToProto(resource.ReadinessCheck),
LivenessCheck: AppengineVersionLivenessCheckToProto(resource.LivenessCheck),
NobuildFilesRegex: dcl.ValueOrEmptyString(resource.NobuildFilesRegex),
VersionUrl: dcl.ValueOrEmptyString(resource.VersionUrl),
Entrypoint: AppengineVersionEntrypointToProto(resource.Entrypoint),
VpcAccessConnector: AppengineVersionVPCAccessConnectorToProto(resource.VPCAccessConnector),
App: dcl.ValueOrEmptyString(resource.App),
Service: dcl.ValueOrEmptyString(resource.Service),
}
for _, r := range resource.InboundServices {
p.InboundServices = append(p.InboundServices, appenginepb.AppengineVersionInboundServicesEnum(appenginepb.AppengineVersionInboundServicesEnum_value[string(r)]))
}
for _, r := range resource.Zones {
p.Zones = append(p.Zones, r)
}
for _, r := range resource.Handlers {
p.Handlers = append(p.Handlers, AppengineVersionHandlersToProto(&r))
}
for _, r := range resource.ErrorHandlers {
p.ErrorHandlers = append(p.ErrorHandlers, AppengineVersionErrorHandlersToProto(&r))
}
for _, r := range resource.Libraries {
p.Libraries = append(p.Libraries, AppengineVersionLibrariesToProto(&r))
}
return p
}
// ApplyVersion handles the gRPC request by passing it to the underlying Version Apply() method.
func (s *VersionServer) applyVersion(ctx context.Context, c *appengine.Client, request *appenginepb.ApplyAppengineVersionRequest) (*appenginepb.AppengineVersion, error) {
p := ProtoToVersion(request.GetResource())
res, err := c.ApplyVersion(ctx, p)
if err != nil {
return nil, err
}
r := VersionToProto(res)
return r, nil
}
// ApplyVersion handles the gRPC request by passing it to the underlying Version Apply() method.
func (s *VersionServer) ApplyAppengineVersion(ctx context.Context, request *appenginepb.ApplyAppengineVersionRequest) (*appenginepb.AppengineVersion, error) {
cl, err := createConfigVersion(ctx, request.ServiceAccountFile)
if err != nil {
return nil, err
}
return s.applyVersion(ctx, cl, request)
}
// DeleteVersion handles the gRPC request by passing it to the underlying Version Delete() method.
func (s *VersionServer) DeleteAppengineVersion(ctx context.Context, request *appenginepb.DeleteAppengineVersionRequest) (*emptypb.Empty, error) {
cl, err := createConfigVersion(ctx, request.ServiceAccountFile)
if err != nil {
return nil, err
}
return &emptypb.Empty{}, cl.DeleteVersion(ctx, ProtoToVersion(request.GetResource()))
}
// ListAppengineVersion handles the gRPC request by passing it to the underlying VersionList() method.
func (s *VersionServer) ListAppengineVersion(ctx context.Context, request *appenginepb.ListAppengineVersionRequest) (*appenginepb.ListAppengineVersionResponse, error) {
cl, err := createConfigVersion(ctx, request.ServiceAccountFile)
if err != nil {
return nil, err
}
resources, err := cl.ListVersion(ctx, request.App, request.Service)
if err != nil {
return nil, err
}
var protos []*appenginepb.AppengineVersion
for _, r := range resources.Items {
rp := VersionToProto(r)
protos = append(protos, rp)
}
return &appenginepb.ListAppengineVersionResponse{Items: protos}, nil
}
func createConfigVersion(ctx context.Context, service_account_file string) (*appengine.Client, error) {
conf := dcl.NewConfig(dcl.WithUserAgent("dcl-test"), dcl.WithCredentialsFile(service_account_file))
return appengine.NewClient(conf), nil
}