python/services/compute/url_map_server.go (1,577 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"
computepb "github.com/GoogleCloudPlatform/declarative-resource-client-library/python/proto/compute/compute_go_proto"
emptypb "github.com/GoogleCloudPlatform/declarative-resource-client-library/python/proto/empty_go_proto"
"github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute"
)
// Server implements the gRPC interface for UrlMap.
type UrlMapServer struct{}
// ProtoToUrlMapDefaultUrlRedirectRedirectResponseCodeEnum converts a UrlMapDefaultUrlRedirectRedirectResponseCodeEnum enum from its proto representation.
func ProtoToComputeUrlMapDefaultUrlRedirectRedirectResponseCodeEnum(e computepb.ComputeUrlMapDefaultUrlRedirectRedirectResponseCodeEnum) *compute.UrlMapDefaultUrlRedirectRedirectResponseCodeEnum {
if e == 0 {
return nil
}
if n, ok := computepb.ComputeUrlMapDefaultUrlRedirectRedirectResponseCodeEnum_name[int32(e)]; ok {
e := compute.UrlMapDefaultUrlRedirectRedirectResponseCodeEnum(n[len("ComputeUrlMapDefaultUrlRedirectRedirectResponseCodeEnum"):])
return &e
}
return nil
}
// ProtoToUrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum converts a UrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum enum from its proto representation.
func ProtoToComputeUrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum(e computepb.ComputeUrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum) *compute.UrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum {
if e == 0 {
return nil
}
if n, ok := computepb.ComputeUrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum_name[int32(e)]; ok {
e := compute.UrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum(n[len("ComputeUrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum"):])
return &e
}
return nil
}
// ProtoToUrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum converts a UrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum enum from its proto representation.
func ProtoToComputeUrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum(e computepb.ComputeUrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum) *compute.UrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum {
if e == 0 {
return nil
}
if n, ok := computepb.ComputeUrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum_name[int32(e)]; ok {
e := compute.UrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum(n[len("ComputeUrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum"):])
return &e
}
return nil
}
// ProtoToUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum converts a UrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum enum from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum(e computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum) *compute.UrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum {
if e == 0 {
return nil
}
if n, ok := computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum_name[int32(e)]; ok {
e := compute.UrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum(n[len("ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum"):])
return &e
}
return nil
}
// ProtoToUrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum converts a UrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum enum from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum(e computepb.ComputeUrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum) *compute.UrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum {
if e == 0 {
return nil
}
if n, ok := computepb.ComputeUrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum_name[int32(e)]; ok {
e := compute.UrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum(n[len("ComputeUrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum"):])
return &e
}
return nil
}
// ProtoToUrlMapDefaultRouteAction converts a UrlMapDefaultRouteAction resource from its proto representation.
func ProtoToComputeUrlMapDefaultRouteAction(p *computepb.ComputeUrlMapDefaultRouteAction) *compute.UrlMapDefaultRouteAction {
if p == nil {
return nil
}
obj := &compute.UrlMapDefaultRouteAction{
UrlRewrite: ProtoToComputeUrlMapDefaultRouteActionUrlRewrite(p.GetUrlRewrite()),
Timeout: ProtoToComputeUrlMapDefaultRouteActionTimeout(p.GetTimeout()),
RetryPolicy: ProtoToComputeUrlMapDefaultRouteActionRetryPolicy(p.GetRetryPolicy()),
RequestMirrorPolicy: ProtoToComputeUrlMapDefaultRouteActionRequestMirrorPolicy(p.GetRequestMirrorPolicy()),
CorsPolicy: ProtoToComputeUrlMapDefaultRouteActionCorsPolicy(p.GetCorsPolicy()),
FaultInjectionPolicy: ProtoToComputeUrlMapDefaultRouteActionFaultInjectionPolicy(p.GetFaultInjectionPolicy()),
}
for _, r := range p.GetWeightedBackendService() {
obj.WeightedBackendService = append(obj.WeightedBackendService, *ProtoToComputeUrlMapDefaultRouteActionWeightedBackendService(r))
}
return obj
}
// ProtoToUrlMapDefaultRouteActionWeightedBackendService converts a UrlMapDefaultRouteActionWeightedBackendService resource from its proto representation.
func ProtoToComputeUrlMapDefaultRouteActionWeightedBackendService(p *computepb.ComputeUrlMapDefaultRouteActionWeightedBackendService) *compute.UrlMapDefaultRouteActionWeightedBackendService {
if p == nil {
return nil
}
obj := &compute.UrlMapDefaultRouteActionWeightedBackendService{
BackendService: dcl.StringOrNil(p.BackendService),
Weight: dcl.Int64OrNil(p.Weight),
HeaderAction: ProtoToComputeUrlMapHeaderAction(p.GetHeaderAction()),
}
return obj
}
// ProtoToUrlMapHeaderAction converts a UrlMapHeaderAction resource from its proto representation.
func ProtoToComputeUrlMapHeaderAction(p *computepb.ComputeUrlMapHeaderAction) *compute.UrlMapHeaderAction {
if p == nil {
return nil
}
obj := &compute.UrlMapHeaderAction{}
for _, r := range p.GetRequestHeadersToRemove() {
obj.RequestHeadersToRemove = append(obj.RequestHeadersToRemove, r)
}
for _, r := range p.GetRequestHeadersToAdd() {
obj.RequestHeadersToAdd = append(obj.RequestHeadersToAdd, *ProtoToComputeUrlMapHeaderActionRequestHeadersToAdd(r))
}
for _, r := range p.GetResponseHeadersToRemove() {
obj.ResponseHeadersToRemove = append(obj.ResponseHeadersToRemove, r)
}
for _, r := range p.GetResponseHeadersToAdd() {
obj.ResponseHeadersToAdd = append(obj.ResponseHeadersToAdd, *ProtoToComputeUrlMapHeaderActionResponseHeadersToAdd(r))
}
return obj
}
// ProtoToUrlMapHeaderActionRequestHeadersToAdd converts a UrlMapHeaderActionRequestHeadersToAdd resource from its proto representation.
func ProtoToComputeUrlMapHeaderActionRequestHeadersToAdd(p *computepb.ComputeUrlMapHeaderActionRequestHeadersToAdd) *compute.UrlMapHeaderActionRequestHeadersToAdd {
if p == nil {
return nil
}
obj := &compute.UrlMapHeaderActionRequestHeadersToAdd{
HeaderName: dcl.StringOrNil(p.HeaderName),
HeaderValue: dcl.StringOrNil(p.HeaderValue),
Replace: dcl.Bool(p.Replace),
}
return obj
}
// ProtoToUrlMapHeaderActionResponseHeadersToAdd converts a UrlMapHeaderActionResponseHeadersToAdd resource from its proto representation.
func ProtoToComputeUrlMapHeaderActionResponseHeadersToAdd(p *computepb.ComputeUrlMapHeaderActionResponseHeadersToAdd) *compute.UrlMapHeaderActionResponseHeadersToAdd {
if p == nil {
return nil
}
obj := &compute.UrlMapHeaderActionResponseHeadersToAdd{
HeaderName: dcl.StringOrNil(p.HeaderName),
HeaderValue: dcl.StringOrNil(p.HeaderValue),
Replace: dcl.Bool(p.Replace),
}
return obj
}
// ProtoToUrlMapDefaultRouteActionUrlRewrite converts a UrlMapDefaultRouteActionUrlRewrite resource from its proto representation.
func ProtoToComputeUrlMapDefaultRouteActionUrlRewrite(p *computepb.ComputeUrlMapDefaultRouteActionUrlRewrite) *compute.UrlMapDefaultRouteActionUrlRewrite {
if p == nil {
return nil
}
obj := &compute.UrlMapDefaultRouteActionUrlRewrite{
PathPrefixRewrite: dcl.StringOrNil(p.PathPrefixRewrite),
HostRewrite: dcl.StringOrNil(p.HostRewrite),
}
return obj
}
// ProtoToUrlMapDefaultRouteActionTimeout converts a UrlMapDefaultRouteActionTimeout resource from its proto representation.
func ProtoToComputeUrlMapDefaultRouteActionTimeout(p *computepb.ComputeUrlMapDefaultRouteActionTimeout) *compute.UrlMapDefaultRouteActionTimeout {
if p == nil {
return nil
}
obj := &compute.UrlMapDefaultRouteActionTimeout{
Seconds: dcl.Int64OrNil(p.Seconds),
Nanos: dcl.Int64OrNil(p.Nanos),
}
return obj
}
// ProtoToUrlMapDefaultRouteActionRetryPolicy converts a UrlMapDefaultRouteActionRetryPolicy resource from its proto representation.
func ProtoToComputeUrlMapDefaultRouteActionRetryPolicy(p *computepb.ComputeUrlMapDefaultRouteActionRetryPolicy) *compute.UrlMapDefaultRouteActionRetryPolicy {
if p == nil {
return nil
}
obj := &compute.UrlMapDefaultRouteActionRetryPolicy{
NumRetries: dcl.Int64OrNil(p.NumRetries),
PerTryTimeout: ProtoToComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout(p.GetPerTryTimeout()),
}
for _, r := range p.GetRetryCondition() {
obj.RetryCondition = append(obj.RetryCondition, r)
}
return obj
}
// ProtoToUrlMapDefaultRouteActionRetryPolicyPerTryTimeout converts a UrlMapDefaultRouteActionRetryPolicyPerTryTimeout resource from its proto representation.
func ProtoToComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout(p *computepb.ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout) *compute.UrlMapDefaultRouteActionRetryPolicyPerTryTimeout {
if p == nil {
return nil
}
obj := &compute.UrlMapDefaultRouteActionRetryPolicyPerTryTimeout{
Seconds: dcl.Int64OrNil(p.Seconds),
Nanos: dcl.Int64OrNil(p.Nanos),
}
return obj
}
// ProtoToUrlMapDefaultRouteActionRequestMirrorPolicy converts a UrlMapDefaultRouteActionRequestMirrorPolicy resource from its proto representation.
func ProtoToComputeUrlMapDefaultRouteActionRequestMirrorPolicy(p *computepb.ComputeUrlMapDefaultRouteActionRequestMirrorPolicy) *compute.UrlMapDefaultRouteActionRequestMirrorPolicy {
if p == nil {
return nil
}
obj := &compute.UrlMapDefaultRouteActionRequestMirrorPolicy{
BackendService: dcl.StringOrNil(p.BackendService),
}
return obj
}
// ProtoToUrlMapDefaultRouteActionCorsPolicy converts a UrlMapDefaultRouteActionCorsPolicy resource from its proto representation.
func ProtoToComputeUrlMapDefaultRouteActionCorsPolicy(p *computepb.ComputeUrlMapDefaultRouteActionCorsPolicy) *compute.UrlMapDefaultRouteActionCorsPolicy {
if p == nil {
return nil
}
obj := &compute.UrlMapDefaultRouteActionCorsPolicy{
MaxAge: dcl.Int64OrNil(p.MaxAge),
AllowCredentials: dcl.Bool(p.AllowCredentials),
Disabled: dcl.Bool(p.Disabled),
}
for _, r := range p.GetAllowOrigin() {
obj.AllowOrigin = append(obj.AllowOrigin, r)
}
for _, r := range p.GetAllowOriginRegex() {
obj.AllowOriginRegex = append(obj.AllowOriginRegex, r)
}
for _, r := range p.GetAllowMethod() {
obj.AllowMethod = append(obj.AllowMethod, r)
}
for _, r := range p.GetAllowHeader() {
obj.AllowHeader = append(obj.AllowHeader, r)
}
for _, r := range p.GetExposeHeader() {
obj.ExposeHeader = append(obj.ExposeHeader, r)
}
return obj
}
// ProtoToUrlMapDefaultRouteActionFaultInjectionPolicy converts a UrlMapDefaultRouteActionFaultInjectionPolicy resource from its proto representation.
func ProtoToComputeUrlMapDefaultRouteActionFaultInjectionPolicy(p *computepb.ComputeUrlMapDefaultRouteActionFaultInjectionPolicy) *compute.UrlMapDefaultRouteActionFaultInjectionPolicy {
if p == nil {
return nil
}
obj := &compute.UrlMapDefaultRouteActionFaultInjectionPolicy{
Delay: ProtoToComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay(p.GetDelay()),
Abort: ProtoToComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort(p.GetAbort()),
}
return obj
}
// ProtoToUrlMapDefaultRouteActionFaultInjectionPolicyDelay converts a UrlMapDefaultRouteActionFaultInjectionPolicyDelay resource from its proto representation.
func ProtoToComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay(p *computepb.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay) *compute.UrlMapDefaultRouteActionFaultInjectionPolicyDelay {
if p == nil {
return nil
}
obj := &compute.UrlMapDefaultRouteActionFaultInjectionPolicyDelay{
FixedDelay: ProtoToComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay(p.GetFixedDelay()),
Percentage: dcl.Float64OrNil(p.Percentage),
}
return obj
}
// ProtoToUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay converts a UrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay resource from its proto representation.
func ProtoToComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay(p *computepb.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay) *compute.UrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay {
if p == nil {
return nil
}
obj := &compute.UrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay{
Seconds: dcl.Int64OrNil(p.Seconds),
Nanos: dcl.Int64OrNil(p.Nanos),
}
return obj
}
// ProtoToUrlMapDefaultRouteActionFaultInjectionPolicyAbort converts a UrlMapDefaultRouteActionFaultInjectionPolicyAbort resource from its proto representation.
func ProtoToComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort(p *computepb.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort) *compute.UrlMapDefaultRouteActionFaultInjectionPolicyAbort {
if p == nil {
return nil
}
obj := &compute.UrlMapDefaultRouteActionFaultInjectionPolicyAbort{
HttpStatus: dcl.Int64OrNil(p.HttpStatus),
Percentage: dcl.Float64OrNil(p.Percentage),
}
return obj
}
// ProtoToUrlMapDefaultUrlRedirect converts a UrlMapDefaultUrlRedirect resource from its proto representation.
func ProtoToComputeUrlMapDefaultUrlRedirect(p *computepb.ComputeUrlMapDefaultUrlRedirect) *compute.UrlMapDefaultUrlRedirect {
if p == nil {
return nil
}
obj := &compute.UrlMapDefaultUrlRedirect{
HostRedirect: dcl.StringOrNil(p.HostRedirect),
PathRedirect: dcl.StringOrNil(p.PathRedirect),
PrefixRedirect: dcl.StringOrNil(p.PrefixRedirect),
RedirectResponseCode: ProtoToComputeUrlMapDefaultUrlRedirectRedirectResponseCodeEnum(p.GetRedirectResponseCode()),
HttpsRedirect: dcl.Bool(p.HttpsRedirect),
StripQuery: dcl.Bool(p.StripQuery),
}
return obj
}
// ProtoToUrlMapHostRule converts a UrlMapHostRule resource from its proto representation.
func ProtoToComputeUrlMapHostRule(p *computepb.ComputeUrlMapHostRule) *compute.UrlMapHostRule {
if p == nil {
return nil
}
obj := &compute.UrlMapHostRule{
Description: dcl.StringOrNil(p.Description),
PathMatcher: dcl.StringOrNil(p.PathMatcher),
}
for _, r := range p.GetHost() {
obj.Host = append(obj.Host, r)
}
return obj
}
// ProtoToUrlMapPathMatcher converts a UrlMapPathMatcher resource from its proto representation.
func ProtoToComputeUrlMapPathMatcher(p *computepb.ComputeUrlMapPathMatcher) *compute.UrlMapPathMatcher {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcher{
Name: dcl.StringOrNil(p.Name),
Description: dcl.StringOrNil(p.Description),
DefaultService: dcl.StringOrNil(p.DefaultService),
DefaultRouteAction: ProtoToComputeUrlMapDefaultRouteAction(p.GetDefaultRouteAction()),
DefaultUrlRedirect: ProtoToComputeUrlMapPathMatcherDefaultUrlRedirect(p.GetDefaultUrlRedirect()),
HeaderAction: ProtoToComputeUrlMapHeaderAction(p.GetHeaderAction()),
}
for _, r := range p.GetPathRule() {
obj.PathRule = append(obj.PathRule, *ProtoToComputeUrlMapPathMatcherPathRule(r))
}
for _, r := range p.GetRouteRule() {
obj.RouteRule = append(obj.RouteRule, *ProtoToComputeUrlMapPathMatcherRouteRule(r))
}
return obj
}
// ProtoToUrlMapPathMatcherDefaultUrlRedirect converts a UrlMapPathMatcherDefaultUrlRedirect resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherDefaultUrlRedirect(p *computepb.ComputeUrlMapPathMatcherDefaultUrlRedirect) *compute.UrlMapPathMatcherDefaultUrlRedirect {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherDefaultUrlRedirect{
HostRedirect: dcl.StringOrNil(p.HostRedirect),
PathRedirect: dcl.StringOrNil(p.PathRedirect),
PrefixRedirect: dcl.StringOrNil(p.PrefixRedirect),
RedirectResponseCode: ProtoToComputeUrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum(p.GetRedirectResponseCode()),
HttpsRedirect: dcl.Bool(p.HttpsRedirect),
StripQuery: dcl.Bool(p.StripQuery),
}
return obj
}
// ProtoToUrlMapPathMatcherPathRule converts a UrlMapPathMatcherPathRule resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherPathRule(p *computepb.ComputeUrlMapPathMatcherPathRule) *compute.UrlMapPathMatcherPathRule {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherPathRule{
BackendService: dcl.StringOrNil(p.BackendService),
RouteAction: ProtoToComputeUrlMapPathMatcherPathRuleRouteAction(p.GetRouteAction()),
UrlRedirect: ProtoToComputeUrlMapPathMatcherPathRuleUrlRedirect(p.GetUrlRedirect()),
}
for _, r := range p.GetPath() {
obj.Path = append(obj.Path, r)
}
return obj
}
// ProtoToUrlMapPathMatcherPathRuleRouteAction converts a UrlMapPathMatcherPathRuleRouteAction resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherPathRuleRouteAction(p *computepb.ComputeUrlMapPathMatcherPathRuleRouteAction) *compute.UrlMapPathMatcherPathRuleRouteAction {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherPathRuleRouteAction{
UrlRewrite: ProtoToComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite(p.GetUrlRewrite()),
Timeout: ProtoToComputeUrlMapPathMatcherPathRuleRouteActionTimeout(p.GetTimeout()),
RetryPolicy: ProtoToComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy(p.GetRetryPolicy()),
RequestMirrorPolicy: ProtoToComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy(p.GetRequestMirrorPolicy()),
CorsPolicy: ProtoToComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy(p.GetCorsPolicy()),
FaultInjectionPolicy: ProtoToComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy(p.GetFaultInjectionPolicy()),
}
for _, r := range p.GetWeightedBackendService() {
obj.WeightedBackendService = append(obj.WeightedBackendService, *ProtoToComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendService(r))
}
return obj
}
// ProtoToUrlMapPathMatcherPathRuleRouteActionWeightedBackendService converts a UrlMapPathMatcherPathRuleRouteActionWeightedBackendService resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendService(p *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendService) *compute.UrlMapPathMatcherPathRuleRouteActionWeightedBackendService {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherPathRuleRouteActionWeightedBackendService{
BackendService: dcl.StringOrNil(p.BackendService),
Weight: dcl.Int64OrNil(p.Weight),
HeaderAction: ProtoToComputeUrlMapHeaderAction(p.GetHeaderAction()),
}
return obj
}
// ProtoToUrlMapPathMatcherPathRuleRouteActionUrlRewrite converts a UrlMapPathMatcherPathRuleRouteActionUrlRewrite resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite(p *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite) *compute.UrlMapPathMatcherPathRuleRouteActionUrlRewrite {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherPathRuleRouteActionUrlRewrite{
PathPrefixRewrite: dcl.StringOrNil(p.PathPrefixRewrite),
HostRewrite: dcl.StringOrNil(p.HostRewrite),
}
return obj
}
// ProtoToUrlMapPathMatcherPathRuleRouteActionTimeout converts a UrlMapPathMatcherPathRuleRouteActionTimeout resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherPathRuleRouteActionTimeout(p *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionTimeout) *compute.UrlMapPathMatcherPathRuleRouteActionTimeout {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherPathRuleRouteActionTimeout{
Seconds: dcl.Int64OrNil(p.Seconds),
Nanos: dcl.Int64OrNil(p.Nanos),
}
return obj
}
// ProtoToUrlMapPathMatcherPathRuleRouteActionRetryPolicy converts a UrlMapPathMatcherPathRuleRouteActionRetryPolicy resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy(p *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy) *compute.UrlMapPathMatcherPathRuleRouteActionRetryPolicy {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherPathRuleRouteActionRetryPolicy{
NumRetries: dcl.Int64OrNil(p.NumRetries),
PerTryTimeout: ProtoToComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout(p.GetPerTryTimeout()),
}
for _, r := range p.GetRetryCondition() {
obj.RetryCondition = append(obj.RetryCondition, r)
}
return obj
}
// ProtoToUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout converts a UrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout(p *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout) *compute.UrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout{
Seconds: dcl.Int64OrNil(p.Seconds),
Nanos: dcl.Int64OrNil(p.Nanos),
}
return obj
}
// ProtoToUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy converts a UrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy(p *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy) *compute.UrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy{
BackendService: dcl.StringOrNil(p.BackendService),
}
return obj
}
// ProtoToUrlMapPathMatcherPathRuleRouteActionCorsPolicy converts a UrlMapPathMatcherPathRuleRouteActionCorsPolicy resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy(p *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy) *compute.UrlMapPathMatcherPathRuleRouteActionCorsPolicy {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherPathRuleRouteActionCorsPolicy{
MaxAge: dcl.Int64OrNil(p.MaxAge),
AllowCredentials: dcl.Bool(p.AllowCredentials),
Disabled: dcl.Bool(p.Disabled),
}
for _, r := range p.GetAllowOrigin() {
obj.AllowOrigin = append(obj.AllowOrigin, r)
}
for _, r := range p.GetAllowOriginRegex() {
obj.AllowOriginRegex = append(obj.AllowOriginRegex, r)
}
for _, r := range p.GetAllowMethod() {
obj.AllowMethod = append(obj.AllowMethod, r)
}
for _, r := range p.GetAllowHeader() {
obj.AllowHeader = append(obj.AllowHeader, r)
}
for _, r := range p.GetExposeHeader() {
obj.ExposeHeader = append(obj.ExposeHeader, r)
}
return obj
}
// ProtoToUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy converts a UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy(p *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy) *compute.UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy{
Delay: ProtoToComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay(p.GetDelay()),
Abort: ProtoToComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort(p.GetAbort()),
}
return obj
}
// ProtoToUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay converts a UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay(p *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay) *compute.UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay{
FixedDelay: ProtoToComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay(p.GetFixedDelay()),
Percentage: dcl.Float64OrNil(p.Percentage),
}
return obj
}
// ProtoToUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay converts a UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay(p *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay) *compute.UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay{
Seconds: dcl.Int64OrNil(p.Seconds),
Nanos: dcl.Int64OrNil(p.Nanos),
}
return obj
}
// ProtoToUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort converts a UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort(p *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort) *compute.UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort{
HttpStatus: dcl.Int64OrNil(p.HttpStatus),
Percentage: dcl.Float64OrNil(p.Percentage),
}
return obj
}
// ProtoToUrlMapPathMatcherPathRuleUrlRedirect converts a UrlMapPathMatcherPathRuleUrlRedirect resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherPathRuleUrlRedirect(p *computepb.ComputeUrlMapPathMatcherPathRuleUrlRedirect) *compute.UrlMapPathMatcherPathRuleUrlRedirect {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherPathRuleUrlRedirect{
HostRedirect: dcl.StringOrNil(p.HostRedirect),
PathRedirect: dcl.StringOrNil(p.PathRedirect),
PrefixRedirect: dcl.StringOrNil(p.PrefixRedirect),
RedirectResponseCode: ProtoToComputeUrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum(p.GetRedirectResponseCode()),
HttpsRedirect: dcl.Bool(p.HttpsRedirect),
StripQuery: dcl.Bool(p.StripQuery),
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRule converts a UrlMapPathMatcherRouteRule resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRule(p *computepb.ComputeUrlMapPathMatcherRouteRule) *compute.UrlMapPathMatcherRouteRule {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRule{
Priority: dcl.Int64OrNil(p.Priority),
Description: dcl.StringOrNil(p.Description),
BackendService: dcl.StringOrNil(p.BackendService),
RouteAction: ProtoToComputeUrlMapPathMatcherRouteRuleRouteAction(p.GetRouteAction()),
UrlRedirect: ProtoToComputeUrlMapPathMatcherRouteRuleUrlRedirect(p.GetUrlRedirect()),
HeaderAction: ProtoToComputeUrlMapHeaderAction(p.GetHeaderAction()),
}
for _, r := range p.GetMatchRule() {
obj.MatchRule = append(obj.MatchRule, *ProtoToComputeUrlMapPathMatcherRouteRuleMatchRule(r))
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleMatchRule converts a UrlMapPathMatcherRouteRuleMatchRule resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleMatchRule(p *computepb.ComputeUrlMapPathMatcherRouteRuleMatchRule) *compute.UrlMapPathMatcherRouteRuleMatchRule {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleMatchRule{
PrefixMatch: dcl.StringOrNil(p.PrefixMatch),
FullPathMatch: dcl.StringOrNil(p.FullPathMatch),
RegexMatch: dcl.StringOrNil(p.RegexMatch),
IgnoreCase: dcl.Bool(p.IgnoreCase),
}
for _, r := range p.GetHeaderMatch() {
obj.HeaderMatch = append(obj.HeaderMatch, *ProtoToComputeUrlMapPathMatcherRouteRuleMatchRuleHeaderMatch(r))
}
for _, r := range p.GetQueryParameterMatch() {
obj.QueryParameterMatch = append(obj.QueryParameterMatch, *ProtoToComputeUrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatch(r))
}
for _, r := range p.GetMetadataFilter() {
obj.MetadataFilter = append(obj.MetadataFilter, *ProtoToComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilter(r))
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleMatchRuleHeaderMatch converts a UrlMapPathMatcherRouteRuleMatchRuleHeaderMatch resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleMatchRuleHeaderMatch(p *computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleHeaderMatch) *compute.UrlMapPathMatcherRouteRuleMatchRuleHeaderMatch {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleMatchRuleHeaderMatch{
HeaderName: dcl.StringOrNil(p.HeaderName),
ExactMatch: dcl.StringOrNil(p.ExactMatch),
RegexMatch: dcl.StringOrNil(p.RegexMatch),
RangeMatch: ProtoToComputeUrlMapPathMatcherRouteRuleMatchRuleHeaderMatchRangeMatch(p.GetRangeMatch()),
PresentMatch: dcl.Bool(p.PresentMatch),
PrefixMatch: dcl.StringOrNil(p.PrefixMatch),
SuffixMatch: dcl.StringOrNil(p.SuffixMatch),
InvertMatch: dcl.Bool(p.InvertMatch),
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleMatchRuleHeaderMatchRangeMatch converts a UrlMapPathMatcherRouteRuleMatchRuleHeaderMatchRangeMatch resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleMatchRuleHeaderMatchRangeMatch(p *computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleHeaderMatchRangeMatch) *compute.UrlMapPathMatcherRouteRuleMatchRuleHeaderMatchRangeMatch {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleMatchRuleHeaderMatchRangeMatch{
RangeStart: dcl.Int64OrNil(p.RangeStart),
RangeEnd: dcl.Int64OrNil(p.RangeEnd),
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatch converts a UrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatch resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatch(p *computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatch) *compute.UrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatch {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatch{
Name: dcl.StringOrNil(p.Name),
PresentMatch: dcl.Bool(p.PresentMatch),
ExactMatch: dcl.StringOrNil(p.ExactMatch),
RegexMatch: dcl.StringOrNil(p.RegexMatch),
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleMatchRuleMetadataFilter converts a UrlMapPathMatcherRouteRuleMatchRuleMetadataFilter resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilter(p *computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilter) *compute.UrlMapPathMatcherRouteRuleMatchRuleMetadataFilter {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleMatchRuleMetadataFilter{
FilterMatchCriteria: ProtoToComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum(p.GetFilterMatchCriteria()),
}
for _, r := range p.GetFilterLabel() {
obj.FilterLabel = append(obj.FilterLabel, *ProtoToComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabel(r))
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabel converts a UrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabel resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabel(p *computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabel) *compute.UrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabel {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabel{
Name: dcl.StringOrNil(p.Name),
Value: dcl.StringOrNil(p.Value),
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleRouteAction converts a UrlMapPathMatcherRouteRuleRouteAction resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleRouteAction(p *computepb.ComputeUrlMapPathMatcherRouteRuleRouteAction) *compute.UrlMapPathMatcherRouteRuleRouteAction {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleRouteAction{
UrlRewrite: ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionUrlRewrite(p.GetUrlRewrite()),
Timeout: ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionTimeout(p.GetTimeout()),
RetryPolicy: ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionRetryPolicy(p.GetRetryPolicy()),
RequestMirrorPolicy: ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicy(p.GetRequestMirrorPolicy()),
CorsPolicy: ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionCorsPolicy(p.GetCorsPolicy()),
FaultInjectionPolicy: ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicy(p.GetFaultInjectionPolicy()),
}
for _, r := range p.GetWeightedBackendService() {
obj.WeightedBackendService = append(obj.WeightedBackendService, *ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionWeightedBackendService(r))
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleRouteActionWeightedBackendService converts a UrlMapPathMatcherRouteRuleRouteActionWeightedBackendService resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionWeightedBackendService(p *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionWeightedBackendService) *compute.UrlMapPathMatcherRouteRuleRouteActionWeightedBackendService {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleRouteActionWeightedBackendService{
BackendService: dcl.StringOrNil(p.BackendService),
Weight: dcl.Int64OrNil(p.Weight),
HeaderAction: ProtoToComputeUrlMapHeaderAction(p.GetHeaderAction()),
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleRouteActionUrlRewrite converts a UrlMapPathMatcherRouteRuleRouteActionUrlRewrite resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionUrlRewrite(p *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionUrlRewrite) *compute.UrlMapPathMatcherRouteRuleRouteActionUrlRewrite {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleRouteActionUrlRewrite{
PathPrefixRewrite: dcl.StringOrNil(p.PathPrefixRewrite),
HostRewrite: dcl.StringOrNil(p.HostRewrite),
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleRouteActionTimeout converts a UrlMapPathMatcherRouteRuleRouteActionTimeout resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionTimeout(p *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionTimeout) *compute.UrlMapPathMatcherRouteRuleRouteActionTimeout {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleRouteActionTimeout{
Seconds: dcl.Int64OrNil(p.Seconds),
Nanos: dcl.Int64OrNil(p.Nanos),
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleRouteActionRetryPolicy converts a UrlMapPathMatcherRouteRuleRouteActionRetryPolicy resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionRetryPolicy(p *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionRetryPolicy) *compute.UrlMapPathMatcherRouteRuleRouteActionRetryPolicy {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleRouteActionRetryPolicy{
NumRetries: dcl.Int64OrNil(p.NumRetries),
PerTryTimeout: ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionRetryPolicyPerTryTimeout(p.GetPerTryTimeout()),
}
for _, r := range p.GetRetryCondition() {
obj.RetryCondition = append(obj.RetryCondition, r)
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleRouteActionRetryPolicyPerTryTimeout converts a UrlMapPathMatcherRouteRuleRouteActionRetryPolicyPerTryTimeout resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionRetryPolicyPerTryTimeout(p *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionRetryPolicyPerTryTimeout) *compute.UrlMapPathMatcherRouteRuleRouteActionRetryPolicyPerTryTimeout {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleRouteActionRetryPolicyPerTryTimeout{
Seconds: dcl.Int64OrNil(p.Seconds),
Nanos: dcl.Int64OrNil(p.Nanos),
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicy converts a UrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicy resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicy(p *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicy) *compute.UrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicy {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicy{
BackendService: dcl.StringOrNil(p.BackendService),
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleRouteActionCorsPolicy converts a UrlMapPathMatcherRouteRuleRouteActionCorsPolicy resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionCorsPolicy(p *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionCorsPolicy) *compute.UrlMapPathMatcherRouteRuleRouteActionCorsPolicy {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleRouteActionCorsPolicy{
MaxAge: dcl.Int64OrNil(p.MaxAge),
AllowCredentials: dcl.Bool(p.AllowCredentials),
Disabled: dcl.Bool(p.Disabled),
}
for _, r := range p.GetAllowOrigin() {
obj.AllowOrigin = append(obj.AllowOrigin, r)
}
for _, r := range p.GetAllowOriginRegex() {
obj.AllowOriginRegex = append(obj.AllowOriginRegex, r)
}
for _, r := range p.GetAllowMethod() {
obj.AllowMethod = append(obj.AllowMethod, r)
}
for _, r := range p.GetAllowHeader() {
obj.AllowHeader = append(obj.AllowHeader, r)
}
for _, r := range p.GetExposeHeader() {
obj.ExposeHeader = append(obj.ExposeHeader, r)
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicy converts a UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicy resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicy(p *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicy) *compute.UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicy {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicy{
Delay: ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelay(p.GetDelay()),
Abort: ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyAbort(p.GetAbort()),
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelay converts a UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelay resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelay(p *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelay) *compute.UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelay {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelay{
FixedDelay: ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelay(p.GetFixedDelay()),
Percentage: dcl.Float64OrNil(p.Percentage),
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelay converts a UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelay resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelay(p *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelay) *compute.UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelay {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelay{
Seconds: dcl.Int64OrNil(p.Seconds),
Nanos: dcl.Int64OrNil(p.Nanos),
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyAbort converts a UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyAbort resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyAbort(p *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyAbort) *compute.UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyAbort {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyAbort{
HttpStatus: dcl.Int64OrNil(p.HttpStatus),
Percentage: dcl.Float64OrNil(p.Percentage),
}
return obj
}
// ProtoToUrlMapPathMatcherRouteRuleUrlRedirect converts a UrlMapPathMatcherRouteRuleUrlRedirect resource from its proto representation.
func ProtoToComputeUrlMapPathMatcherRouteRuleUrlRedirect(p *computepb.ComputeUrlMapPathMatcherRouteRuleUrlRedirect) *compute.UrlMapPathMatcherRouteRuleUrlRedirect {
if p == nil {
return nil
}
obj := &compute.UrlMapPathMatcherRouteRuleUrlRedirect{
HostRedirect: dcl.StringOrNil(p.HostRedirect),
PathRedirect: dcl.StringOrNil(p.PathRedirect),
PrefixRedirect: dcl.StringOrNil(p.PrefixRedirect),
RedirectResponseCode: ProtoToComputeUrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum(p.GetRedirectResponseCode()),
HttpsRedirect: dcl.Bool(p.HttpsRedirect),
StripQuery: dcl.Bool(p.StripQuery),
}
return obj
}
// ProtoToUrlMapTest converts a UrlMapTest resource from its proto representation.
func ProtoToComputeUrlMapTest(p *computepb.ComputeUrlMapTest) *compute.UrlMapTest {
if p == nil {
return nil
}
obj := &compute.UrlMapTest{
Description: dcl.StringOrNil(p.Description),
Host: dcl.StringOrNil(p.Host),
Path: dcl.StringOrNil(p.Path),
ExpectedBackendService: dcl.StringOrNil(p.ExpectedBackendService),
}
return obj
}
// ProtoToUrlMap converts a UrlMap resource from its proto representation.
func ProtoToUrlMap(p *computepb.ComputeUrlMap) *compute.UrlMap {
obj := &compute.UrlMap{
DefaultRouteAction: ProtoToComputeUrlMapDefaultRouteAction(p.GetDefaultRouteAction()),
DefaultService: dcl.StringOrNil(p.DefaultService),
DefaultUrlRedirect: ProtoToComputeUrlMapDefaultUrlRedirect(p.GetDefaultUrlRedirect()),
Description: dcl.StringOrNil(p.Description),
SelfLink: dcl.StringOrNil(p.SelfLink),
HeaderAction: ProtoToComputeUrlMapHeaderAction(p.GetHeaderAction()),
Name: dcl.StringOrNil(p.Name),
Region: dcl.StringOrNil(p.Region),
Project: dcl.StringOrNil(p.Project),
}
for _, r := range p.GetHostRule() {
obj.HostRule = append(obj.HostRule, *ProtoToComputeUrlMapHostRule(r))
}
for _, r := range p.GetPathMatcher() {
obj.PathMatcher = append(obj.PathMatcher, *ProtoToComputeUrlMapPathMatcher(r))
}
for _, r := range p.GetTest() {
obj.Test = append(obj.Test, *ProtoToComputeUrlMapTest(r))
}
return obj
}
// UrlMapDefaultUrlRedirectRedirectResponseCodeEnumToProto converts a UrlMapDefaultUrlRedirectRedirectResponseCodeEnum enum to its proto representation.
func ComputeUrlMapDefaultUrlRedirectRedirectResponseCodeEnumToProto(e *compute.UrlMapDefaultUrlRedirectRedirectResponseCodeEnum) computepb.ComputeUrlMapDefaultUrlRedirectRedirectResponseCodeEnum {
if e == nil {
return computepb.ComputeUrlMapDefaultUrlRedirectRedirectResponseCodeEnum(0)
}
if v, ok := computepb.ComputeUrlMapDefaultUrlRedirectRedirectResponseCodeEnum_value["UrlMapDefaultUrlRedirectRedirectResponseCodeEnum"+string(*e)]; ok {
return computepb.ComputeUrlMapDefaultUrlRedirectRedirectResponseCodeEnum(v)
}
return computepb.ComputeUrlMapDefaultUrlRedirectRedirectResponseCodeEnum(0)
}
// UrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnumToProto converts a UrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum enum to its proto representation.
func ComputeUrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnumToProto(e *compute.UrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum) computepb.ComputeUrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum {
if e == nil {
return computepb.ComputeUrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum(0)
}
if v, ok := computepb.ComputeUrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum_value["UrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum"+string(*e)]; ok {
return computepb.ComputeUrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum(v)
}
return computepb.ComputeUrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnum(0)
}
// UrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnumToProto converts a UrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum enum to its proto representation.
func ComputeUrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnumToProto(e *compute.UrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum) computepb.ComputeUrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum {
if e == nil {
return computepb.ComputeUrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum(0)
}
if v, ok := computepb.ComputeUrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum_value["UrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum"+string(*e)]; ok {
return computepb.ComputeUrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum(v)
}
return computepb.ComputeUrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnum(0)
}
// UrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnumToProto converts a UrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum enum to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnumToProto(e *compute.UrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum) computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum {
if e == nil {
return computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum(0)
}
if v, ok := computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum_value["UrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum"+string(*e)]; ok {
return computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum(v)
}
return computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnum(0)
}
// UrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnumToProto converts a UrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum enum to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnumToProto(e *compute.UrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum) computepb.ComputeUrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum {
if e == nil {
return computepb.ComputeUrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum(0)
}
if v, ok := computepb.ComputeUrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum_value["UrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum"+string(*e)]; ok {
return computepb.ComputeUrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum(v)
}
return computepb.ComputeUrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnum(0)
}
// UrlMapDefaultRouteActionToProto converts a UrlMapDefaultRouteAction resource to its proto representation.
func ComputeUrlMapDefaultRouteActionToProto(o *compute.UrlMapDefaultRouteAction) *computepb.ComputeUrlMapDefaultRouteAction {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapDefaultRouteAction{
UrlRewrite: ComputeUrlMapDefaultRouteActionUrlRewriteToProto(o.UrlRewrite),
Timeout: ComputeUrlMapDefaultRouteActionTimeoutToProto(o.Timeout),
RetryPolicy: ComputeUrlMapDefaultRouteActionRetryPolicyToProto(o.RetryPolicy),
RequestMirrorPolicy: ComputeUrlMapDefaultRouteActionRequestMirrorPolicyToProto(o.RequestMirrorPolicy),
CorsPolicy: ComputeUrlMapDefaultRouteActionCorsPolicyToProto(o.CorsPolicy),
FaultInjectionPolicy: ComputeUrlMapDefaultRouteActionFaultInjectionPolicyToProto(o.FaultInjectionPolicy),
}
for _, r := range o.WeightedBackendService {
p.WeightedBackendService = append(p.WeightedBackendService, ComputeUrlMapDefaultRouteActionWeightedBackendServiceToProto(&r))
}
return p
}
// UrlMapDefaultRouteActionWeightedBackendServiceToProto converts a UrlMapDefaultRouteActionWeightedBackendService resource to its proto representation.
func ComputeUrlMapDefaultRouteActionWeightedBackendServiceToProto(o *compute.UrlMapDefaultRouteActionWeightedBackendService) *computepb.ComputeUrlMapDefaultRouteActionWeightedBackendService {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapDefaultRouteActionWeightedBackendService{
BackendService: dcl.ValueOrEmptyString(o.BackendService),
Weight: dcl.ValueOrEmptyInt64(o.Weight),
HeaderAction: ComputeUrlMapHeaderActionToProto(o.HeaderAction),
}
return p
}
// UrlMapHeaderActionToProto converts a UrlMapHeaderAction resource to its proto representation.
func ComputeUrlMapHeaderActionToProto(o *compute.UrlMapHeaderAction) *computepb.ComputeUrlMapHeaderAction {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapHeaderAction{}
for _, r := range o.RequestHeadersToRemove {
p.RequestHeadersToRemove = append(p.RequestHeadersToRemove, r)
}
for _, r := range o.RequestHeadersToAdd {
p.RequestHeadersToAdd = append(p.RequestHeadersToAdd, ComputeUrlMapHeaderActionRequestHeadersToAddToProto(&r))
}
for _, r := range o.ResponseHeadersToRemove {
p.ResponseHeadersToRemove = append(p.ResponseHeadersToRemove, r)
}
for _, r := range o.ResponseHeadersToAdd {
p.ResponseHeadersToAdd = append(p.ResponseHeadersToAdd, ComputeUrlMapHeaderActionResponseHeadersToAddToProto(&r))
}
return p
}
// UrlMapHeaderActionRequestHeadersToAddToProto converts a UrlMapHeaderActionRequestHeadersToAdd resource to its proto representation.
func ComputeUrlMapHeaderActionRequestHeadersToAddToProto(o *compute.UrlMapHeaderActionRequestHeadersToAdd) *computepb.ComputeUrlMapHeaderActionRequestHeadersToAdd {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapHeaderActionRequestHeadersToAdd{
HeaderName: dcl.ValueOrEmptyString(o.HeaderName),
HeaderValue: dcl.ValueOrEmptyString(o.HeaderValue),
Replace: dcl.ValueOrEmptyBool(o.Replace),
}
return p
}
// UrlMapHeaderActionResponseHeadersToAddToProto converts a UrlMapHeaderActionResponseHeadersToAdd resource to its proto representation.
func ComputeUrlMapHeaderActionResponseHeadersToAddToProto(o *compute.UrlMapHeaderActionResponseHeadersToAdd) *computepb.ComputeUrlMapHeaderActionResponseHeadersToAdd {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapHeaderActionResponseHeadersToAdd{
HeaderName: dcl.ValueOrEmptyString(o.HeaderName),
HeaderValue: dcl.ValueOrEmptyString(o.HeaderValue),
Replace: dcl.ValueOrEmptyBool(o.Replace),
}
return p
}
// UrlMapDefaultRouteActionUrlRewriteToProto converts a UrlMapDefaultRouteActionUrlRewrite resource to its proto representation.
func ComputeUrlMapDefaultRouteActionUrlRewriteToProto(o *compute.UrlMapDefaultRouteActionUrlRewrite) *computepb.ComputeUrlMapDefaultRouteActionUrlRewrite {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapDefaultRouteActionUrlRewrite{
PathPrefixRewrite: dcl.ValueOrEmptyString(o.PathPrefixRewrite),
HostRewrite: dcl.ValueOrEmptyString(o.HostRewrite),
}
return p
}
// UrlMapDefaultRouteActionTimeoutToProto converts a UrlMapDefaultRouteActionTimeout resource to its proto representation.
func ComputeUrlMapDefaultRouteActionTimeoutToProto(o *compute.UrlMapDefaultRouteActionTimeout) *computepb.ComputeUrlMapDefaultRouteActionTimeout {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapDefaultRouteActionTimeout{
Seconds: dcl.ValueOrEmptyInt64(o.Seconds),
Nanos: dcl.ValueOrEmptyInt64(o.Nanos),
}
return p
}
// UrlMapDefaultRouteActionRetryPolicyToProto converts a UrlMapDefaultRouteActionRetryPolicy resource to its proto representation.
func ComputeUrlMapDefaultRouteActionRetryPolicyToProto(o *compute.UrlMapDefaultRouteActionRetryPolicy) *computepb.ComputeUrlMapDefaultRouteActionRetryPolicy {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapDefaultRouteActionRetryPolicy{
NumRetries: dcl.ValueOrEmptyInt64(o.NumRetries),
PerTryTimeout: ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeoutToProto(o.PerTryTimeout),
}
for _, r := range o.RetryCondition {
p.RetryCondition = append(p.RetryCondition, r)
}
return p
}
// UrlMapDefaultRouteActionRetryPolicyPerTryTimeoutToProto converts a UrlMapDefaultRouteActionRetryPolicyPerTryTimeout resource to its proto representation.
func ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeoutToProto(o *compute.UrlMapDefaultRouteActionRetryPolicyPerTryTimeout) *computepb.ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout{
Seconds: dcl.ValueOrEmptyInt64(o.Seconds),
Nanos: dcl.ValueOrEmptyInt64(o.Nanos),
}
return p
}
// UrlMapDefaultRouteActionRequestMirrorPolicyToProto converts a UrlMapDefaultRouteActionRequestMirrorPolicy resource to its proto representation.
func ComputeUrlMapDefaultRouteActionRequestMirrorPolicyToProto(o *compute.UrlMapDefaultRouteActionRequestMirrorPolicy) *computepb.ComputeUrlMapDefaultRouteActionRequestMirrorPolicy {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapDefaultRouteActionRequestMirrorPolicy{
BackendService: dcl.ValueOrEmptyString(o.BackendService),
}
return p
}
// UrlMapDefaultRouteActionCorsPolicyToProto converts a UrlMapDefaultRouteActionCorsPolicy resource to its proto representation.
func ComputeUrlMapDefaultRouteActionCorsPolicyToProto(o *compute.UrlMapDefaultRouteActionCorsPolicy) *computepb.ComputeUrlMapDefaultRouteActionCorsPolicy {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapDefaultRouteActionCorsPolicy{
MaxAge: dcl.ValueOrEmptyInt64(o.MaxAge),
AllowCredentials: dcl.ValueOrEmptyBool(o.AllowCredentials),
Disabled: dcl.ValueOrEmptyBool(o.Disabled),
}
for _, r := range o.AllowOrigin {
p.AllowOrigin = append(p.AllowOrigin, r)
}
for _, r := range o.AllowOriginRegex {
p.AllowOriginRegex = append(p.AllowOriginRegex, r)
}
for _, r := range o.AllowMethod {
p.AllowMethod = append(p.AllowMethod, r)
}
for _, r := range o.AllowHeader {
p.AllowHeader = append(p.AllowHeader, r)
}
for _, r := range o.ExposeHeader {
p.ExposeHeader = append(p.ExposeHeader, r)
}
return p
}
// UrlMapDefaultRouteActionFaultInjectionPolicyToProto converts a UrlMapDefaultRouteActionFaultInjectionPolicy resource to its proto representation.
func ComputeUrlMapDefaultRouteActionFaultInjectionPolicyToProto(o *compute.UrlMapDefaultRouteActionFaultInjectionPolicy) *computepb.ComputeUrlMapDefaultRouteActionFaultInjectionPolicy {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapDefaultRouteActionFaultInjectionPolicy{
Delay: ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayToProto(o.Delay),
Abort: ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbortToProto(o.Abort),
}
return p
}
// UrlMapDefaultRouteActionFaultInjectionPolicyDelayToProto converts a UrlMapDefaultRouteActionFaultInjectionPolicyDelay resource to its proto representation.
func ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayToProto(o *compute.UrlMapDefaultRouteActionFaultInjectionPolicyDelay) *computepb.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay{
FixedDelay: ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelayToProto(o.FixedDelay),
Percentage: dcl.ValueOrEmptyDouble(o.Percentage),
}
return p
}
// UrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelayToProto converts a UrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay resource to its proto representation.
func ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelayToProto(o *compute.UrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay) *computepb.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay{
Seconds: dcl.ValueOrEmptyInt64(o.Seconds),
Nanos: dcl.ValueOrEmptyInt64(o.Nanos),
}
return p
}
// UrlMapDefaultRouteActionFaultInjectionPolicyAbortToProto converts a UrlMapDefaultRouteActionFaultInjectionPolicyAbort resource to its proto representation.
func ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbortToProto(o *compute.UrlMapDefaultRouteActionFaultInjectionPolicyAbort) *computepb.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort{
HttpStatus: dcl.ValueOrEmptyInt64(o.HttpStatus),
Percentage: dcl.ValueOrEmptyDouble(o.Percentage),
}
return p
}
// UrlMapDefaultUrlRedirectToProto converts a UrlMapDefaultUrlRedirect resource to its proto representation.
func ComputeUrlMapDefaultUrlRedirectToProto(o *compute.UrlMapDefaultUrlRedirect) *computepb.ComputeUrlMapDefaultUrlRedirect {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapDefaultUrlRedirect{
HostRedirect: dcl.ValueOrEmptyString(o.HostRedirect),
PathRedirect: dcl.ValueOrEmptyString(o.PathRedirect),
PrefixRedirect: dcl.ValueOrEmptyString(o.PrefixRedirect),
RedirectResponseCode: ComputeUrlMapDefaultUrlRedirectRedirectResponseCodeEnumToProto(o.RedirectResponseCode),
HttpsRedirect: dcl.ValueOrEmptyBool(o.HttpsRedirect),
StripQuery: dcl.ValueOrEmptyBool(o.StripQuery),
}
return p
}
// UrlMapHostRuleToProto converts a UrlMapHostRule resource to its proto representation.
func ComputeUrlMapHostRuleToProto(o *compute.UrlMapHostRule) *computepb.ComputeUrlMapHostRule {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapHostRule{
Description: dcl.ValueOrEmptyString(o.Description),
PathMatcher: dcl.ValueOrEmptyString(o.PathMatcher),
}
for _, r := range o.Host {
p.Host = append(p.Host, r)
}
return p
}
// UrlMapPathMatcherToProto converts a UrlMapPathMatcher resource to its proto representation.
func ComputeUrlMapPathMatcherToProto(o *compute.UrlMapPathMatcher) *computepb.ComputeUrlMapPathMatcher {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcher{
Name: dcl.ValueOrEmptyString(o.Name),
Description: dcl.ValueOrEmptyString(o.Description),
DefaultService: dcl.ValueOrEmptyString(o.DefaultService),
DefaultRouteAction: ComputeUrlMapDefaultRouteActionToProto(o.DefaultRouteAction),
DefaultUrlRedirect: ComputeUrlMapPathMatcherDefaultUrlRedirectToProto(o.DefaultUrlRedirect),
HeaderAction: ComputeUrlMapHeaderActionToProto(o.HeaderAction),
}
for _, r := range o.PathRule {
p.PathRule = append(p.PathRule, ComputeUrlMapPathMatcherPathRuleToProto(&r))
}
for _, r := range o.RouteRule {
p.RouteRule = append(p.RouteRule, ComputeUrlMapPathMatcherRouteRuleToProto(&r))
}
return p
}
// UrlMapPathMatcherDefaultUrlRedirectToProto converts a UrlMapPathMatcherDefaultUrlRedirect resource to its proto representation.
func ComputeUrlMapPathMatcherDefaultUrlRedirectToProto(o *compute.UrlMapPathMatcherDefaultUrlRedirect) *computepb.ComputeUrlMapPathMatcherDefaultUrlRedirect {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherDefaultUrlRedirect{
HostRedirect: dcl.ValueOrEmptyString(o.HostRedirect),
PathRedirect: dcl.ValueOrEmptyString(o.PathRedirect),
PrefixRedirect: dcl.ValueOrEmptyString(o.PrefixRedirect),
RedirectResponseCode: ComputeUrlMapPathMatcherDefaultUrlRedirectRedirectResponseCodeEnumToProto(o.RedirectResponseCode),
HttpsRedirect: dcl.ValueOrEmptyBool(o.HttpsRedirect),
StripQuery: dcl.ValueOrEmptyBool(o.StripQuery),
}
return p
}
// UrlMapPathMatcherPathRuleToProto converts a UrlMapPathMatcherPathRule resource to its proto representation.
func ComputeUrlMapPathMatcherPathRuleToProto(o *compute.UrlMapPathMatcherPathRule) *computepb.ComputeUrlMapPathMatcherPathRule {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherPathRule{
BackendService: dcl.ValueOrEmptyString(o.BackendService),
RouteAction: ComputeUrlMapPathMatcherPathRuleRouteActionToProto(o.RouteAction),
UrlRedirect: ComputeUrlMapPathMatcherPathRuleUrlRedirectToProto(o.UrlRedirect),
}
for _, r := range o.Path {
p.Path = append(p.Path, r)
}
return p
}
// UrlMapPathMatcherPathRuleRouteActionToProto converts a UrlMapPathMatcherPathRuleRouteAction resource to its proto representation.
func ComputeUrlMapPathMatcherPathRuleRouteActionToProto(o *compute.UrlMapPathMatcherPathRuleRouteAction) *computepb.ComputeUrlMapPathMatcherPathRuleRouteAction {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherPathRuleRouteAction{
UrlRewrite: ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewriteToProto(o.UrlRewrite),
Timeout: ComputeUrlMapPathMatcherPathRuleRouteActionTimeoutToProto(o.Timeout),
RetryPolicy: ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyToProto(o.RetryPolicy),
RequestMirrorPolicy: ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicyToProto(o.RequestMirrorPolicy),
CorsPolicy: ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicyToProto(o.CorsPolicy),
FaultInjectionPolicy: ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyToProto(o.FaultInjectionPolicy),
}
for _, r := range o.WeightedBackendService {
p.WeightedBackendService = append(p.WeightedBackendService, ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServiceToProto(&r))
}
return p
}
// UrlMapPathMatcherPathRuleRouteActionWeightedBackendServiceToProto converts a UrlMapPathMatcherPathRuleRouteActionWeightedBackendService resource to its proto representation.
func ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServiceToProto(o *compute.UrlMapPathMatcherPathRuleRouteActionWeightedBackendService) *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendService {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendService{
BackendService: dcl.ValueOrEmptyString(o.BackendService),
Weight: dcl.ValueOrEmptyInt64(o.Weight),
HeaderAction: ComputeUrlMapHeaderActionToProto(o.HeaderAction),
}
return p
}
// UrlMapPathMatcherPathRuleRouteActionUrlRewriteToProto converts a UrlMapPathMatcherPathRuleRouteActionUrlRewrite resource to its proto representation.
func ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewriteToProto(o *compute.UrlMapPathMatcherPathRuleRouteActionUrlRewrite) *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite{
PathPrefixRewrite: dcl.ValueOrEmptyString(o.PathPrefixRewrite),
HostRewrite: dcl.ValueOrEmptyString(o.HostRewrite),
}
return p
}
// UrlMapPathMatcherPathRuleRouteActionTimeoutToProto converts a UrlMapPathMatcherPathRuleRouteActionTimeout resource to its proto representation.
func ComputeUrlMapPathMatcherPathRuleRouteActionTimeoutToProto(o *compute.UrlMapPathMatcherPathRuleRouteActionTimeout) *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionTimeout {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherPathRuleRouteActionTimeout{
Seconds: dcl.ValueOrEmptyInt64(o.Seconds),
Nanos: dcl.ValueOrEmptyInt64(o.Nanos),
}
return p
}
// UrlMapPathMatcherPathRuleRouteActionRetryPolicyToProto converts a UrlMapPathMatcherPathRuleRouteActionRetryPolicy resource to its proto representation.
func ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyToProto(o *compute.UrlMapPathMatcherPathRuleRouteActionRetryPolicy) *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy{
NumRetries: dcl.ValueOrEmptyInt64(o.NumRetries),
PerTryTimeout: ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeoutToProto(o.PerTryTimeout),
}
for _, r := range o.RetryCondition {
p.RetryCondition = append(p.RetryCondition, r)
}
return p
}
// UrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeoutToProto converts a UrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout resource to its proto representation.
func ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeoutToProto(o *compute.UrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout) *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout{
Seconds: dcl.ValueOrEmptyInt64(o.Seconds),
Nanos: dcl.ValueOrEmptyInt64(o.Nanos),
}
return p
}
// UrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicyToProto converts a UrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy resource to its proto representation.
func ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicyToProto(o *compute.UrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy) *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy{
BackendService: dcl.ValueOrEmptyString(o.BackendService),
}
return p
}
// UrlMapPathMatcherPathRuleRouteActionCorsPolicyToProto converts a UrlMapPathMatcherPathRuleRouteActionCorsPolicy resource to its proto representation.
func ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicyToProto(o *compute.UrlMapPathMatcherPathRuleRouteActionCorsPolicy) *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy{
MaxAge: dcl.ValueOrEmptyInt64(o.MaxAge),
AllowCredentials: dcl.ValueOrEmptyBool(o.AllowCredentials),
Disabled: dcl.ValueOrEmptyBool(o.Disabled),
}
for _, r := range o.AllowOrigin {
p.AllowOrigin = append(p.AllowOrigin, r)
}
for _, r := range o.AllowOriginRegex {
p.AllowOriginRegex = append(p.AllowOriginRegex, r)
}
for _, r := range o.AllowMethod {
p.AllowMethod = append(p.AllowMethod, r)
}
for _, r := range o.AllowHeader {
p.AllowHeader = append(p.AllowHeader, r)
}
for _, r := range o.ExposeHeader {
p.ExposeHeader = append(p.ExposeHeader, r)
}
return p
}
// UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyToProto converts a UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy resource to its proto representation.
func ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyToProto(o *compute.UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy) *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy{
Delay: ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayToProto(o.Delay),
Abort: ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbortToProto(o.Abort),
}
return p
}
// UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayToProto converts a UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay resource to its proto representation.
func ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayToProto(o *compute.UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay) *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay{
FixedDelay: ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelayToProto(o.FixedDelay),
Percentage: dcl.ValueOrEmptyDouble(o.Percentage),
}
return p
}
// UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelayToProto converts a UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay resource to its proto representation.
func ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelayToProto(o *compute.UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay) *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay{
Seconds: dcl.ValueOrEmptyInt64(o.Seconds),
Nanos: dcl.ValueOrEmptyInt64(o.Nanos),
}
return p
}
// UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbortToProto converts a UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort resource to its proto representation.
func ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbortToProto(o *compute.UrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort) *computepb.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort{
HttpStatus: dcl.ValueOrEmptyInt64(o.HttpStatus),
Percentage: dcl.ValueOrEmptyDouble(o.Percentage),
}
return p
}
// UrlMapPathMatcherPathRuleUrlRedirectToProto converts a UrlMapPathMatcherPathRuleUrlRedirect resource to its proto representation.
func ComputeUrlMapPathMatcherPathRuleUrlRedirectToProto(o *compute.UrlMapPathMatcherPathRuleUrlRedirect) *computepb.ComputeUrlMapPathMatcherPathRuleUrlRedirect {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherPathRuleUrlRedirect{
HostRedirect: dcl.ValueOrEmptyString(o.HostRedirect),
PathRedirect: dcl.ValueOrEmptyString(o.PathRedirect),
PrefixRedirect: dcl.ValueOrEmptyString(o.PrefixRedirect),
RedirectResponseCode: ComputeUrlMapPathMatcherPathRuleUrlRedirectRedirectResponseCodeEnumToProto(o.RedirectResponseCode),
HttpsRedirect: dcl.ValueOrEmptyBool(o.HttpsRedirect),
StripQuery: dcl.ValueOrEmptyBool(o.StripQuery),
}
return p
}
// UrlMapPathMatcherRouteRuleToProto converts a UrlMapPathMatcherRouteRule resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleToProto(o *compute.UrlMapPathMatcherRouteRule) *computepb.ComputeUrlMapPathMatcherRouteRule {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRule{
Priority: dcl.ValueOrEmptyInt64(o.Priority),
Description: dcl.ValueOrEmptyString(o.Description),
BackendService: dcl.ValueOrEmptyString(o.BackendService),
RouteAction: ComputeUrlMapPathMatcherRouteRuleRouteActionToProto(o.RouteAction),
UrlRedirect: ComputeUrlMapPathMatcherRouteRuleUrlRedirectToProto(o.UrlRedirect),
HeaderAction: ComputeUrlMapHeaderActionToProto(o.HeaderAction),
}
for _, r := range o.MatchRule {
p.MatchRule = append(p.MatchRule, ComputeUrlMapPathMatcherRouteRuleMatchRuleToProto(&r))
}
return p
}
// UrlMapPathMatcherRouteRuleMatchRuleToProto converts a UrlMapPathMatcherRouteRuleMatchRule resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleMatchRuleToProto(o *compute.UrlMapPathMatcherRouteRuleMatchRule) *computepb.ComputeUrlMapPathMatcherRouteRuleMatchRule {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleMatchRule{
PrefixMatch: dcl.ValueOrEmptyString(o.PrefixMatch),
FullPathMatch: dcl.ValueOrEmptyString(o.FullPathMatch),
RegexMatch: dcl.ValueOrEmptyString(o.RegexMatch),
IgnoreCase: dcl.ValueOrEmptyBool(o.IgnoreCase),
}
for _, r := range o.HeaderMatch {
p.HeaderMatch = append(p.HeaderMatch, ComputeUrlMapPathMatcherRouteRuleMatchRuleHeaderMatchToProto(&r))
}
for _, r := range o.QueryParameterMatch {
p.QueryParameterMatch = append(p.QueryParameterMatch, ComputeUrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatchToProto(&r))
}
for _, r := range o.MetadataFilter {
p.MetadataFilter = append(p.MetadataFilter, ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterToProto(&r))
}
return p
}
// UrlMapPathMatcherRouteRuleMatchRuleHeaderMatchToProto converts a UrlMapPathMatcherRouteRuleMatchRuleHeaderMatch resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleMatchRuleHeaderMatchToProto(o *compute.UrlMapPathMatcherRouteRuleMatchRuleHeaderMatch) *computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleHeaderMatch {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleHeaderMatch{
HeaderName: dcl.ValueOrEmptyString(o.HeaderName),
ExactMatch: dcl.ValueOrEmptyString(o.ExactMatch),
RegexMatch: dcl.ValueOrEmptyString(o.RegexMatch),
RangeMatch: ComputeUrlMapPathMatcherRouteRuleMatchRuleHeaderMatchRangeMatchToProto(o.RangeMatch),
PresentMatch: dcl.ValueOrEmptyBool(o.PresentMatch),
PrefixMatch: dcl.ValueOrEmptyString(o.PrefixMatch),
SuffixMatch: dcl.ValueOrEmptyString(o.SuffixMatch),
InvertMatch: dcl.ValueOrEmptyBool(o.InvertMatch),
}
return p
}
// UrlMapPathMatcherRouteRuleMatchRuleHeaderMatchRangeMatchToProto converts a UrlMapPathMatcherRouteRuleMatchRuleHeaderMatchRangeMatch resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleMatchRuleHeaderMatchRangeMatchToProto(o *compute.UrlMapPathMatcherRouteRuleMatchRuleHeaderMatchRangeMatch) *computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleHeaderMatchRangeMatch {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleHeaderMatchRangeMatch{
RangeStart: dcl.ValueOrEmptyInt64(o.RangeStart),
RangeEnd: dcl.ValueOrEmptyInt64(o.RangeEnd),
}
return p
}
// UrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatchToProto converts a UrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatch resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatchToProto(o *compute.UrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatch) *computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatch {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatch{
Name: dcl.ValueOrEmptyString(o.Name),
PresentMatch: dcl.ValueOrEmptyBool(o.PresentMatch),
ExactMatch: dcl.ValueOrEmptyString(o.ExactMatch),
RegexMatch: dcl.ValueOrEmptyString(o.RegexMatch),
}
return p
}
// UrlMapPathMatcherRouteRuleMatchRuleMetadataFilterToProto converts a UrlMapPathMatcherRouteRuleMatchRuleMetadataFilter resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterToProto(o *compute.UrlMapPathMatcherRouteRuleMatchRuleMetadataFilter) *computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilter {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilter{
FilterMatchCriteria: ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterMatchCriteriaEnumToProto(o.FilterMatchCriteria),
}
for _, r := range o.FilterLabel {
p.FilterLabel = append(p.FilterLabel, ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabelToProto(&r))
}
return p
}
// UrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabelToProto converts a UrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabel resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabelToProto(o *compute.UrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabel) *computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabel {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabel{
Name: dcl.ValueOrEmptyString(o.Name),
Value: dcl.ValueOrEmptyString(o.Value),
}
return p
}
// UrlMapPathMatcherRouteRuleRouteActionToProto converts a UrlMapPathMatcherRouteRuleRouteAction resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleRouteActionToProto(o *compute.UrlMapPathMatcherRouteRuleRouteAction) *computepb.ComputeUrlMapPathMatcherRouteRuleRouteAction {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleRouteAction{
UrlRewrite: ComputeUrlMapPathMatcherRouteRuleRouteActionUrlRewriteToProto(o.UrlRewrite),
Timeout: ComputeUrlMapPathMatcherRouteRuleRouteActionTimeoutToProto(o.Timeout),
RetryPolicy: ComputeUrlMapPathMatcherRouteRuleRouteActionRetryPolicyToProto(o.RetryPolicy),
RequestMirrorPolicy: ComputeUrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicyToProto(o.RequestMirrorPolicy),
CorsPolicy: ComputeUrlMapPathMatcherRouteRuleRouteActionCorsPolicyToProto(o.CorsPolicy),
FaultInjectionPolicy: ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyToProto(o.FaultInjectionPolicy),
}
for _, r := range o.WeightedBackendService {
p.WeightedBackendService = append(p.WeightedBackendService, ComputeUrlMapPathMatcherRouteRuleRouteActionWeightedBackendServiceToProto(&r))
}
return p
}
// UrlMapPathMatcherRouteRuleRouteActionWeightedBackendServiceToProto converts a UrlMapPathMatcherRouteRuleRouteActionWeightedBackendService resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleRouteActionWeightedBackendServiceToProto(o *compute.UrlMapPathMatcherRouteRuleRouteActionWeightedBackendService) *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionWeightedBackendService {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionWeightedBackendService{
BackendService: dcl.ValueOrEmptyString(o.BackendService),
Weight: dcl.ValueOrEmptyInt64(o.Weight),
HeaderAction: ComputeUrlMapHeaderActionToProto(o.HeaderAction),
}
return p
}
// UrlMapPathMatcherRouteRuleRouteActionUrlRewriteToProto converts a UrlMapPathMatcherRouteRuleRouteActionUrlRewrite resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleRouteActionUrlRewriteToProto(o *compute.UrlMapPathMatcherRouteRuleRouteActionUrlRewrite) *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionUrlRewrite {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionUrlRewrite{
PathPrefixRewrite: dcl.ValueOrEmptyString(o.PathPrefixRewrite),
HostRewrite: dcl.ValueOrEmptyString(o.HostRewrite),
}
return p
}
// UrlMapPathMatcherRouteRuleRouteActionTimeoutToProto converts a UrlMapPathMatcherRouteRuleRouteActionTimeout resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleRouteActionTimeoutToProto(o *compute.UrlMapPathMatcherRouteRuleRouteActionTimeout) *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionTimeout {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionTimeout{
Seconds: dcl.ValueOrEmptyInt64(o.Seconds),
Nanos: dcl.ValueOrEmptyInt64(o.Nanos),
}
return p
}
// UrlMapPathMatcherRouteRuleRouteActionRetryPolicyToProto converts a UrlMapPathMatcherRouteRuleRouteActionRetryPolicy resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleRouteActionRetryPolicyToProto(o *compute.UrlMapPathMatcherRouteRuleRouteActionRetryPolicy) *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionRetryPolicy {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionRetryPolicy{
NumRetries: dcl.ValueOrEmptyInt64(o.NumRetries),
PerTryTimeout: ComputeUrlMapPathMatcherRouteRuleRouteActionRetryPolicyPerTryTimeoutToProto(o.PerTryTimeout),
}
for _, r := range o.RetryCondition {
p.RetryCondition = append(p.RetryCondition, r)
}
return p
}
// UrlMapPathMatcherRouteRuleRouteActionRetryPolicyPerTryTimeoutToProto converts a UrlMapPathMatcherRouteRuleRouteActionRetryPolicyPerTryTimeout resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleRouteActionRetryPolicyPerTryTimeoutToProto(o *compute.UrlMapPathMatcherRouteRuleRouteActionRetryPolicyPerTryTimeout) *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionRetryPolicyPerTryTimeout {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionRetryPolicyPerTryTimeout{
Seconds: dcl.ValueOrEmptyInt64(o.Seconds),
Nanos: dcl.ValueOrEmptyInt64(o.Nanos),
}
return p
}
// UrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicyToProto converts a UrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicy resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicyToProto(o *compute.UrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicy) *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicy {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicy{
BackendService: dcl.ValueOrEmptyString(o.BackendService),
}
return p
}
// UrlMapPathMatcherRouteRuleRouteActionCorsPolicyToProto converts a UrlMapPathMatcherRouteRuleRouteActionCorsPolicy resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleRouteActionCorsPolicyToProto(o *compute.UrlMapPathMatcherRouteRuleRouteActionCorsPolicy) *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionCorsPolicy {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionCorsPolicy{
MaxAge: dcl.ValueOrEmptyInt64(o.MaxAge),
AllowCredentials: dcl.ValueOrEmptyBool(o.AllowCredentials),
Disabled: dcl.ValueOrEmptyBool(o.Disabled),
}
for _, r := range o.AllowOrigin {
p.AllowOrigin = append(p.AllowOrigin, r)
}
for _, r := range o.AllowOriginRegex {
p.AllowOriginRegex = append(p.AllowOriginRegex, r)
}
for _, r := range o.AllowMethod {
p.AllowMethod = append(p.AllowMethod, r)
}
for _, r := range o.AllowHeader {
p.AllowHeader = append(p.AllowHeader, r)
}
for _, r := range o.ExposeHeader {
p.ExposeHeader = append(p.ExposeHeader, r)
}
return p
}
// UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyToProto converts a UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicy resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyToProto(o *compute.UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicy) *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicy {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicy{
Delay: ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayToProto(o.Delay),
Abort: ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyAbortToProto(o.Abort),
}
return p
}
// UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayToProto converts a UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelay resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayToProto(o *compute.UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelay) *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelay {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelay{
FixedDelay: ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelayToProto(o.FixedDelay),
Percentage: dcl.ValueOrEmptyDouble(o.Percentage),
}
return p
}
// UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelayToProto converts a UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelay resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelayToProto(o *compute.UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelay) *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelay {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelay{
Seconds: dcl.ValueOrEmptyInt64(o.Seconds),
Nanos: dcl.ValueOrEmptyInt64(o.Nanos),
}
return p
}
// UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyAbortToProto converts a UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyAbort resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyAbortToProto(o *compute.UrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyAbort) *computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyAbort {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyAbort{
HttpStatus: dcl.ValueOrEmptyInt64(o.HttpStatus),
Percentage: dcl.ValueOrEmptyDouble(o.Percentage),
}
return p
}
// UrlMapPathMatcherRouteRuleUrlRedirectToProto converts a UrlMapPathMatcherRouteRuleUrlRedirect resource to its proto representation.
func ComputeUrlMapPathMatcherRouteRuleUrlRedirectToProto(o *compute.UrlMapPathMatcherRouteRuleUrlRedirect) *computepb.ComputeUrlMapPathMatcherRouteRuleUrlRedirect {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapPathMatcherRouteRuleUrlRedirect{
HostRedirect: dcl.ValueOrEmptyString(o.HostRedirect),
PathRedirect: dcl.ValueOrEmptyString(o.PathRedirect),
PrefixRedirect: dcl.ValueOrEmptyString(o.PrefixRedirect),
RedirectResponseCode: ComputeUrlMapPathMatcherRouteRuleUrlRedirectRedirectResponseCodeEnumToProto(o.RedirectResponseCode),
HttpsRedirect: dcl.ValueOrEmptyBool(o.HttpsRedirect),
StripQuery: dcl.ValueOrEmptyBool(o.StripQuery),
}
return p
}
// UrlMapTestToProto converts a UrlMapTest resource to its proto representation.
func ComputeUrlMapTestToProto(o *compute.UrlMapTest) *computepb.ComputeUrlMapTest {
if o == nil {
return nil
}
p := &computepb.ComputeUrlMapTest{
Description: dcl.ValueOrEmptyString(o.Description),
Host: dcl.ValueOrEmptyString(o.Host),
Path: dcl.ValueOrEmptyString(o.Path),
ExpectedBackendService: dcl.ValueOrEmptyString(o.ExpectedBackendService),
}
return p
}
// UrlMapToProto converts a UrlMap resource to its proto representation.
func UrlMapToProto(resource *compute.UrlMap) *computepb.ComputeUrlMap {
p := &computepb.ComputeUrlMap{
DefaultRouteAction: ComputeUrlMapDefaultRouteActionToProto(resource.DefaultRouteAction),
DefaultService: dcl.ValueOrEmptyString(resource.DefaultService),
DefaultUrlRedirect: ComputeUrlMapDefaultUrlRedirectToProto(resource.DefaultUrlRedirect),
Description: dcl.ValueOrEmptyString(resource.Description),
SelfLink: dcl.ValueOrEmptyString(resource.SelfLink),
HeaderAction: ComputeUrlMapHeaderActionToProto(resource.HeaderAction),
Name: dcl.ValueOrEmptyString(resource.Name),
Region: dcl.ValueOrEmptyString(resource.Region),
Project: dcl.ValueOrEmptyString(resource.Project),
}
for _, r := range resource.HostRule {
p.HostRule = append(p.HostRule, ComputeUrlMapHostRuleToProto(&r))
}
for _, r := range resource.PathMatcher {
p.PathMatcher = append(p.PathMatcher, ComputeUrlMapPathMatcherToProto(&r))
}
for _, r := range resource.Test {
p.Test = append(p.Test, ComputeUrlMapTestToProto(&r))
}
return p
}
// ApplyUrlMap handles the gRPC request by passing it to the underlying UrlMap Apply() method.
func (s *UrlMapServer) applyUrlMap(ctx context.Context, c *compute.Client, request *computepb.ApplyComputeUrlMapRequest) (*computepb.ComputeUrlMap, error) {
p := ProtoToUrlMap(request.GetResource())
res, err := c.ApplyUrlMap(ctx, p)
if err != nil {
return nil, err
}
r := UrlMapToProto(res)
return r, nil
}
// ApplyUrlMap handles the gRPC request by passing it to the underlying UrlMap Apply() method.
func (s *UrlMapServer) ApplyComputeUrlMap(ctx context.Context, request *computepb.ApplyComputeUrlMapRequest) (*computepb.ComputeUrlMap, error) {
cl, err := createConfigUrlMap(ctx, request.ServiceAccountFile)
if err != nil {
return nil, err
}
return s.applyUrlMap(ctx, cl, request)
}
// DeleteUrlMap handles the gRPC request by passing it to the underlying UrlMap Delete() method.
func (s *UrlMapServer) DeleteComputeUrlMap(ctx context.Context, request *computepb.DeleteComputeUrlMapRequest) (*emptypb.Empty, error) {
cl, err := createConfigUrlMap(ctx, request.ServiceAccountFile)
if err != nil {
return nil, err
}
return &emptypb.Empty{}, cl.DeleteUrlMap(ctx, ProtoToUrlMap(request.GetResource()))
}
// ListComputeUrlMap handles the gRPC request by passing it to the underlying UrlMapList() method.
func (s *UrlMapServer) ListComputeUrlMap(ctx context.Context, request *computepb.ListComputeUrlMapRequest) (*computepb.ListComputeUrlMapResponse, error) {
cl, err := createConfigUrlMap(ctx, request.ServiceAccountFile)
if err != nil {
return nil, err
}
resources, err := cl.ListUrlMap(ctx, request.Project)
if err != nil {
return nil, err
}
var protos []*computepb.ComputeUrlMap
for _, r := range resources.Items {
rp := UrlMapToProto(r)
protos = append(protos, rp)
}
return &computepb.ListComputeUrlMapResponse{Items: protos}, nil
}
func createConfigUrlMap(ctx context.Context, service_account_file string) (*compute.Client, error) {
conf := dcl.NewConfig(dcl.WithUserAgent("dcl-test"), dcl.WithCredentialsFile(service_account_file))
return compute.NewClient(conf), nil
}