From 42e34afc2be29b20372b287d7fe9848a5c28c30e Mon Sep 17 00:00:00 2001 From: Schegolevatych Svetlana Date: Fri, 11 Nov 2022 01:21:14 +0200 Subject: [PATCH 1/3] added 6 appmesh resources --- apis/appmesh/v1beta1/zz_gatewayroute_types.go | 316 + apis/appmesh/v1beta1/zz_generated.deepcopy.go | 8674 ++++++++++++++++- apis/appmesh/v1beta1/zz_generated.managed.go | 396 + .../v1beta1/zz_generated.managedlist.go | 54 + .../appmesh/v1beta1/zz_generated.resolvers.go | 341 + .../v1beta1/zz_generated_terraformed.go | 444 + apis/appmesh/v1beta1/zz_mesh_types.go | 6 +- apis/appmesh/v1beta1/zz_route_types.go | 869 ++ .../v1beta1/zz_virtualgateway_types.go | 592 ++ apis/appmesh/v1beta1/zz_virtualnode_types.go | 1074 ++ .../appmesh/v1beta1/zz_virtualrouter_types.go | 156 + .../v1beta1/zz_virtualservice_types.go | 186 + config/externalname.go | 13 + config/externalnamenottested.go | 17 - examples-generated/appmesh/gatewayroute.yaml | 31 + examples-generated/appmesh/route.yaml | 35 + .../appmesh/virtualgateway.yaml | 23 + examples-generated/appmesh/virtualnode.yaml | 29 + examples-generated/appmesh/virtualrouter.yaml | 23 + .../appmesh/virtualservice.yaml | 24 + examples/appmesh/gatewayroute.yaml | 110 + examples/appmesh/route.yaml | 119 + examples/appmesh/virtualgateway.yaml | 32 + examples/appmesh/virtualnode.yaml | 38 + examples/appmesh/virtualrouter.yaml | 32 + examples/appmesh/virtualservice.yaml | 60 + .../appmesh/gatewayroute/zz_controller.go | 54 + .../controller/appmesh/route/zz_controller.go | 54 + .../appmesh/virtualgateway/zz_controller.go | 54 + .../appmesh/virtualnode/zz_controller.go | 54 + .../appmesh/virtualrouter/zz_controller.go | 54 + .../appmesh/virtualservice/zz_controller.go | 54 + internal/controller/zz_setup.go | 12 + .../appmesh.aws.upbound.io_gatewayroutes.yaml | 689 ++ .../crds/appmesh.aws.upbound.io_routes.yaml | 1406 +++ ...ppmesh.aws.upbound.io_virtualgateways.yaml | 917 ++ .../appmesh.aws.upbound.io_virtualnodes.yaml | 1454 +++ ...appmesh.aws.upbound.io_virtualrouters.yaml | 445 + ...ppmesh.aws.upbound.io_virtualservices.yaml | 617 ++ 39 files changed, 19480 insertions(+), 78 deletions(-) create mode 100755 apis/appmesh/v1beta1/zz_gatewayroute_types.go create mode 100644 apis/appmesh/v1beta1/zz_generated.resolvers.go create mode 100755 apis/appmesh/v1beta1/zz_route_types.go create mode 100755 apis/appmesh/v1beta1/zz_virtualgateway_types.go create mode 100755 apis/appmesh/v1beta1/zz_virtualnode_types.go create mode 100755 apis/appmesh/v1beta1/zz_virtualrouter_types.go create mode 100755 apis/appmesh/v1beta1/zz_virtualservice_types.go create mode 100644 examples-generated/appmesh/gatewayroute.yaml create mode 100644 examples-generated/appmesh/route.yaml create mode 100644 examples-generated/appmesh/virtualgateway.yaml create mode 100644 examples-generated/appmesh/virtualnode.yaml create mode 100644 examples-generated/appmesh/virtualrouter.yaml create mode 100644 examples-generated/appmesh/virtualservice.yaml create mode 100644 examples/appmesh/gatewayroute.yaml create mode 100644 examples/appmesh/route.yaml create mode 100644 examples/appmesh/virtualgateway.yaml create mode 100644 examples/appmesh/virtualnode.yaml create mode 100644 examples/appmesh/virtualrouter.yaml create mode 100644 examples/appmesh/virtualservice.yaml create mode 100755 internal/controller/appmesh/gatewayroute/zz_controller.go create mode 100755 internal/controller/appmesh/route/zz_controller.go create mode 100755 internal/controller/appmesh/virtualgateway/zz_controller.go create mode 100755 internal/controller/appmesh/virtualnode/zz_controller.go create mode 100755 internal/controller/appmesh/virtualrouter/zz_controller.go create mode 100755 internal/controller/appmesh/virtualservice/zz_controller.go create mode 100644 package/crds/appmesh.aws.upbound.io_gatewayroutes.yaml create mode 100644 package/crds/appmesh.aws.upbound.io_routes.yaml create mode 100644 package/crds/appmesh.aws.upbound.io_virtualgateways.yaml create mode 100644 package/crds/appmesh.aws.upbound.io_virtualnodes.yaml create mode 100644 package/crds/appmesh.aws.upbound.io_virtualrouters.yaml create mode 100644 package/crds/appmesh.aws.upbound.io_virtualservices.yaml diff --git a/apis/appmesh/v1beta1/zz_gatewayroute_types.go b/apis/appmesh/v1beta1/zz_gatewayroute_types.go new file mode 100755 index 0000000000..6223fb67af --- /dev/null +++ b/apis/appmesh/v1beta1/zz_gatewayroute_types.go @@ -0,0 +1,316 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type ActionObservation struct { +} + +type ActionParameters struct { + + // The target that traffic is routed to when a request matches the gateway route. + // +kubebuilder:validation:Required + Target []TargetParameters `json:"target" tf:"target,omitempty"` +} + +type ActionTargetObservation struct { +} + +type ActionTargetParameters struct { + + // The virtual service gateway route target. + // +kubebuilder:validation:Required + VirtualService []TargetVirtualServiceParameters `json:"virtualService" tf:"virtual_service,omitempty"` +} + +type ActionTargetVirtualServiceObservation struct { +} + +type ActionTargetVirtualServiceParameters struct { + + // The name of the virtual service that traffic is routed to. Must be between 1 and 255 characters in length. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/appmesh/v1beta1.VirtualService + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("name",false) + // +kubebuilder:validation:Optional + VirtualServiceName *string `json:"virtualServiceName,omitempty" tf:"virtual_service_name,omitempty"` + + // Reference to a VirtualService in appmesh to populate virtualServiceName. + // +kubebuilder:validation:Optional + VirtualServiceNameRef *v1.Reference `json:"virtualServiceNameRef,omitempty" tf:"-"` + + // Selector for a VirtualService in appmesh to populate virtualServiceName. + // +kubebuilder:validation:Optional + VirtualServiceNameSelector *v1.Selector `json:"virtualServiceNameSelector,omitempty" tf:"-"` +} + +type GRPCRouteObservation struct { +} + +type GRPCRouteParameters struct { + + // The action to take if a match is determined. + // +kubebuilder:validation:Required + Action []ActionParameters `json:"action" tf:"action,omitempty"` + + // The criteria for determining a request match. + // +kubebuilder:validation:Required + Match []MatchParameters `json:"match" tf:"match,omitempty"` +} + +type GatewayRouteObservation struct { + + // The ARN of the gateway route. + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // The creation date of the gateway route. + CreatedDate *string `json:"createdDate,omitempty" tf:"created_date,omitempty"` + + // The ID of the gateway route. + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // The last update date of the gateway route. + LastUpdatedDate *string `json:"lastUpdatedDate,omitempty" tf:"last_updated_date,omitempty"` + + // The resource owner's AWS account ID. + ResourceOwner *string `json:"resourceOwner,omitempty" tf:"resource_owner,omitempty"` + + // A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. + TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` +} + +type GatewayRouteParameters struct { + + // The name of the service mesh in which to create the gateway route. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + MeshName *string `json:"meshName" tf:"mesh_name,omitempty"` + + // The AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. + // +kubebuilder:validation:Optional + MeshOwner *string `json:"meshOwner,omitempty" tf:"mesh_owner,omitempty"` + + // The name to use for the gateway route. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Region is the region you'd like your resource to be created in. + // +upjet:crd:field:TFTag=- + // +kubebuilder:validation:Required + Region *string `json:"region" tf:"-"` + + // The gateway route specification to apply. + // +kubebuilder:validation:Required + Spec []SpecParameters `json:"spec" tf:"spec,omitempty"` + + // Key-value map of resource tags. + // +kubebuilder:validation:Optional + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // The name of the virtual gateway to associate the gateway route with. Must be between 1 and 255 characters in length. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/appmesh/v1beta1.VirtualGateway + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("name",false) + // +kubebuilder:validation:Optional + VirtualGatewayName *string `json:"virtualGatewayName,omitempty" tf:"virtual_gateway_name,omitempty"` + + // Reference to a VirtualGateway in appmesh to populate virtualGatewayName. + // +kubebuilder:validation:Optional + VirtualGatewayNameRef *v1.Reference `json:"virtualGatewayNameRef,omitempty" tf:"-"` + + // Selector for a VirtualGateway in appmesh to populate virtualGatewayName. + // +kubebuilder:validation:Optional + VirtualGatewayNameSelector *v1.Selector `json:"virtualGatewayNameSelector,omitempty" tf:"-"` +} + +type HTTPRouteActionObservation struct { +} + +type HTTPRouteActionParameters struct { + + // The target that traffic is routed to when a request matches the gateway route. + // +kubebuilder:validation:Required + Target []HTTPRouteActionTargetParameters `json:"target" tf:"target,omitempty"` +} + +type HTTPRouteActionTargetObservation struct { +} + +type HTTPRouteActionTargetParameters struct { + + // The virtual service gateway route target. + // +kubebuilder:validation:Required + VirtualService []ActionTargetVirtualServiceParameters `json:"virtualService" tf:"virtual_service,omitempty"` +} + +type HTTPRouteMatchObservation struct { +} + +type HTTPRouteMatchParameters struct { + + // Specifies the path to match requests with. This parameter must always start with /, which by itself matches all requests to the virtual service name. + // +kubebuilder:validation:Required + Prefix *string `json:"prefix" tf:"prefix,omitempty"` +} + +type HTTPRouteObservation struct { +} + +type HTTPRouteParameters struct { + + // The action to take if a match is determined. + // +kubebuilder:validation:Required + Action []HTTPRouteActionParameters `json:"action" tf:"action,omitempty"` + + // The criteria for determining a request match. + // +kubebuilder:validation:Required + Match []HTTPRouteMatchParameters `json:"match" tf:"match,omitempty"` +} + +type Http2RouteActionObservation struct { +} + +type Http2RouteActionParameters struct { + + // The target that traffic is routed to when a request matches the gateway route. + // +kubebuilder:validation:Required + Target []ActionTargetParameters `json:"target" tf:"target,omitempty"` +} + +type Http2RouteMatchObservation struct { +} + +type Http2RouteMatchParameters struct { + + // Specifies the path to match requests with. This parameter must always start with /, which by itself matches all requests to the virtual service name. + // +kubebuilder:validation:Required + Prefix *string `json:"prefix" tf:"prefix,omitempty"` +} + +type Http2RouteObservation struct { +} + +type Http2RouteParameters struct { + + // The action to take if a match is determined. + // +kubebuilder:validation:Required + Action []Http2RouteActionParameters `json:"action" tf:"action,omitempty"` + + // The criteria for determining a request match. + // +kubebuilder:validation:Required + Match []Http2RouteMatchParameters `json:"match" tf:"match,omitempty"` +} + +type MatchObservation struct { +} + +type MatchParameters struct { + + // The fully qualified domain name for the service to match from the request. + // +kubebuilder:validation:Required + ServiceName *string `json:"serviceName" tf:"service_name,omitempty"` +} + +type SpecObservation struct { +} + +type SpecParameters struct { + + // The specification of a gRPC gateway route. + // +kubebuilder:validation:Optional + GRPCRoute []GRPCRouteParameters `json:"grpcRoute,omitempty" tf:"grpc_route,omitempty"` + + // The specification of an HTTP gateway route. + // +kubebuilder:validation:Optional + HTTPRoute []HTTPRouteParameters `json:"httpRoute,omitempty" tf:"http_route,omitempty"` + + // The specification of an HTTP/2 gateway route. + // +kubebuilder:validation:Optional + Http2Route []Http2RouteParameters `json:"http2Route,omitempty" tf:"http2_route,omitempty"` +} + +type TargetObservation struct { +} + +type TargetParameters struct { + + // The virtual service gateway route target. + // +kubebuilder:validation:Required + VirtualService []VirtualServiceParameters `json:"virtualService" tf:"virtual_service,omitempty"` +} + +type TargetVirtualServiceObservation struct { +} + +type TargetVirtualServiceParameters struct { + + // The name of the virtual service that traffic is routed to. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + VirtualServiceName *string `json:"virtualServiceName" tf:"virtual_service_name,omitempty"` +} + +type VirtualServiceObservation struct { +} + +type VirtualServiceParameters struct { + + // The name of the virtual service that traffic is routed to. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + VirtualServiceName *string `json:"virtualServiceName" tf:"virtual_service_name,omitempty"` +} + +// GatewayRouteSpec defines the desired state of GatewayRoute +type GatewayRouteSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider GatewayRouteParameters `json:"forProvider"` +} + +// GatewayRouteStatus defines the observed state of GatewayRoute. +type GatewayRouteStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider GatewayRouteObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// GatewayRoute is the Schema for the GatewayRoutes API. Provides an AWS App Mesh gateway route resource. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws} +type GatewayRoute struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec GatewayRouteSpec `json:"spec"` + Status GatewayRouteStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// GatewayRouteList contains a list of GatewayRoutes +type GatewayRouteList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GatewayRoute `json:"items"` +} + +// Repository type metadata. +var ( + GatewayRoute_Kind = "GatewayRoute" + GatewayRoute_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: GatewayRoute_Kind}.String() + GatewayRoute_KindAPIVersion = GatewayRoute_Kind + "." + CRDGroupVersion.String() + GatewayRoute_GroupVersionKind = CRDGroupVersion.WithKind(GatewayRoute_Kind) +) + +func init() { + SchemeBuilder.Register(&GatewayRoute{}, &GatewayRouteList{}) +} diff --git a/apis/appmesh/v1beta1/zz_generated.deepcopy.go b/apis/appmesh/v1beta1/zz_generated.deepcopy.go index 1c921e01cd..30f070b9eb 100644 --- a/apis/appmesh/v1beta1/zz_generated.deepcopy.go +++ b/apis/appmesh/v1beta1/zz_generated.deepcopy.go @@ -10,46 +10,8472 @@ Copyright 2022 Upbound Inc. package v1beta1 import ( + "github.com/crossplane/crossplane-runtime/apis/common/v1" runtime "k8s.io/apimachinery/pkg/runtime" ) +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessLogFileObservation) DeepCopyInto(out *AccessLogFileObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLogFileObservation. +func (in *AccessLogFileObservation) DeepCopy() *AccessLogFileObservation { + if in == nil { + return nil + } + out := new(AccessLogFileObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessLogFileParameters) DeepCopyInto(out *AccessLogFileParameters) { + *out = *in + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLogFileParameters. +func (in *AccessLogFileParameters) DeepCopy() *AccessLogFileParameters { + if in == nil { + return nil + } + out := new(AccessLogFileParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessLogObservation) DeepCopyInto(out *AccessLogObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLogObservation. +func (in *AccessLogObservation) DeepCopy() *AccessLogObservation { + if in == nil { + return nil + } + out := new(AccessLogObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessLogParameters) DeepCopyInto(out *AccessLogParameters) { + *out = *in + if in.File != nil { + in, out := &in.File, &out.File + *out = make([]AccessLogFileParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLogParameters. +func (in *AccessLogParameters) DeepCopy() *AccessLogParameters { + if in == nil { + return nil + } + out := new(AccessLogParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AcmObservation) DeepCopyInto(out *AcmObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcmObservation. +func (in *AcmObservation) DeepCopy() *AcmObservation { + if in == nil { + return nil + } + out := new(AcmObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AcmParameters) DeepCopyInto(out *AcmParameters) { + *out = *in + if in.CertificateAuthorityArns != nil { + in, out := &in.CertificateAuthorityArns, &out.CertificateAuthorityArns + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcmParameters. +func (in *AcmParameters) DeepCopy() *AcmParameters { + if in == nil { + return nil + } + out := new(AcmParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ActionObservation) DeepCopyInto(out *ActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActionObservation. +func (in *ActionObservation) DeepCopy() *ActionObservation { + if in == nil { + return nil + } + out := new(ActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ActionParameters) DeepCopyInto(out *ActionParameters) { + *out = *in + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = make([]TargetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActionParameters. +func (in *ActionParameters) DeepCopy() *ActionParameters { + if in == nil { + return nil + } + out := new(ActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ActionTargetObservation) DeepCopyInto(out *ActionTargetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActionTargetObservation. +func (in *ActionTargetObservation) DeepCopy() *ActionTargetObservation { + if in == nil { + return nil + } + out := new(ActionTargetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ActionTargetParameters) DeepCopyInto(out *ActionTargetParameters) { + *out = *in + if in.VirtualService != nil { + in, out := &in.VirtualService, &out.VirtualService + *out = make([]TargetVirtualServiceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActionTargetParameters. +func (in *ActionTargetParameters) DeepCopy() *ActionTargetParameters { + if in == nil { + return nil + } + out := new(ActionTargetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ActionTargetVirtualServiceObservation) DeepCopyInto(out *ActionTargetVirtualServiceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActionTargetVirtualServiceObservation. +func (in *ActionTargetVirtualServiceObservation) DeepCopy() *ActionTargetVirtualServiceObservation { + if in == nil { + return nil + } + out := new(ActionTargetVirtualServiceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ActionTargetVirtualServiceParameters) DeepCopyInto(out *ActionTargetVirtualServiceParameters) { + *out = *in + if in.VirtualServiceName != nil { + in, out := &in.VirtualServiceName, &out.VirtualServiceName + *out = new(string) + **out = **in + } + if in.VirtualServiceNameRef != nil { + in, out := &in.VirtualServiceNameRef, &out.VirtualServiceNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VirtualServiceNameSelector != nil { + in, out := &in.VirtualServiceNameSelector, &out.VirtualServiceNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActionTargetVirtualServiceParameters. +func (in *ActionTargetVirtualServiceParameters) DeepCopy() *ActionTargetVirtualServiceParameters { + if in == nil { + return nil + } + out := new(ActionTargetVirtualServiceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ActionWeightedTargetObservation) DeepCopyInto(out *ActionWeightedTargetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActionWeightedTargetObservation. +func (in *ActionWeightedTargetObservation) DeepCopy() *ActionWeightedTargetObservation { + if in == nil { + return nil + } + out := new(ActionWeightedTargetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ActionWeightedTargetParameters) DeepCopyInto(out *ActionWeightedTargetParameters) { + *out = *in + if in.VirtualNode != nil { + in, out := &in.VirtualNode, &out.VirtualNode + *out = new(string) + **out = **in + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActionWeightedTargetParameters. +func (in *ActionWeightedTargetParameters) DeepCopy() *ActionWeightedTargetParameters { + if in == nil { + return nil + } + out := new(ActionWeightedTargetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AwsCloudMapObservation) DeepCopyInto(out *AwsCloudMapObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsCloudMapObservation. +func (in *AwsCloudMapObservation) DeepCopy() *AwsCloudMapObservation { + if in == nil { + return nil + } + out := new(AwsCloudMapObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AwsCloudMapParameters) DeepCopyInto(out *AwsCloudMapParameters) { + *out = *in + if in.Attributes != nil { + in, out := &in.Attributes, &out.Attributes + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.NamespaceName != nil { + in, out := &in.NamespaceName, &out.NamespaceName + *out = new(string) + **out = **in + } + if in.NamespaceNameRef != nil { + in, out := &in.NamespaceNameRef, &out.NamespaceNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NamespaceNameSelector != nil { + in, out := &in.NamespaceNameSelector, &out.NamespaceNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsCloudMapParameters. +func (in *AwsCloudMapParameters) DeepCopy() *AwsCloudMapParameters { + if in == nil { + return nil + } + out := new(AwsCloudMapParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendDefaultsClientPolicyObservation) DeepCopyInto(out *BackendDefaultsClientPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendDefaultsClientPolicyObservation. +func (in *BackendDefaultsClientPolicyObservation) DeepCopy() *BackendDefaultsClientPolicyObservation { + if in == nil { + return nil + } + out := new(BackendDefaultsClientPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendDefaultsClientPolicyParameters) DeepCopyInto(out *BackendDefaultsClientPolicyParameters) { + *out = *in + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = make([]BackendDefaultsClientPolicyTLSParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendDefaultsClientPolicyParameters. +func (in *BackendDefaultsClientPolicyParameters) DeepCopy() *BackendDefaultsClientPolicyParameters { + if in == nil { + return nil + } + out := new(BackendDefaultsClientPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendDefaultsClientPolicyTLSCertificateObservation) DeepCopyInto(out *BackendDefaultsClientPolicyTLSCertificateObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendDefaultsClientPolicyTLSCertificateObservation. +func (in *BackendDefaultsClientPolicyTLSCertificateObservation) DeepCopy() *BackendDefaultsClientPolicyTLSCertificateObservation { + if in == nil { + return nil + } + out := new(BackendDefaultsClientPolicyTLSCertificateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendDefaultsClientPolicyTLSCertificateParameters) DeepCopyInto(out *BackendDefaultsClientPolicyTLSCertificateParameters) { + *out = *in + if in.File != nil { + in, out := &in.File, &out.File + *out = make([]ClientPolicyTLSCertificateFileParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Sds != nil { + in, out := &in.Sds, &out.Sds + *out = make([]ClientPolicyTLSCertificateSdsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendDefaultsClientPolicyTLSCertificateParameters. +func (in *BackendDefaultsClientPolicyTLSCertificateParameters) DeepCopy() *BackendDefaultsClientPolicyTLSCertificateParameters { + if in == nil { + return nil + } + out := new(BackendDefaultsClientPolicyTLSCertificateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendDefaultsClientPolicyTLSObservation) DeepCopyInto(out *BackendDefaultsClientPolicyTLSObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendDefaultsClientPolicyTLSObservation. +func (in *BackendDefaultsClientPolicyTLSObservation) DeepCopy() *BackendDefaultsClientPolicyTLSObservation { + if in == nil { + return nil + } + out := new(BackendDefaultsClientPolicyTLSObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendDefaultsClientPolicyTLSParameters) DeepCopyInto(out *BackendDefaultsClientPolicyTLSParameters) { + *out = *in + if in.Certificate != nil { + in, out := &in.Certificate, &out.Certificate + *out = make([]BackendDefaultsClientPolicyTLSCertificateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Enforce != nil { + in, out := &in.Enforce, &out.Enforce + *out = new(bool) + **out = **in + } + if in.Ports != nil { + in, out := &in.Ports, &out.Ports + *out = make([]*float64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(float64) + **out = **in + } + } + } + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = make([]BackendDefaultsClientPolicyTLSValidationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendDefaultsClientPolicyTLSParameters. +func (in *BackendDefaultsClientPolicyTLSParameters) DeepCopy() *BackendDefaultsClientPolicyTLSParameters { + if in == nil { + return nil + } + out := new(BackendDefaultsClientPolicyTLSParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendDefaultsClientPolicyTLSValidationObservation) DeepCopyInto(out *BackendDefaultsClientPolicyTLSValidationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendDefaultsClientPolicyTLSValidationObservation. +func (in *BackendDefaultsClientPolicyTLSValidationObservation) DeepCopy() *BackendDefaultsClientPolicyTLSValidationObservation { + if in == nil { + return nil + } + out := new(BackendDefaultsClientPolicyTLSValidationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendDefaultsClientPolicyTLSValidationParameters) DeepCopyInto(out *BackendDefaultsClientPolicyTLSValidationParameters) { + *out = *in + if in.SubjectAlternativeNames != nil { + in, out := &in.SubjectAlternativeNames, &out.SubjectAlternativeNames + *out = make([]ClientPolicyTLSValidationSubjectAlternativeNamesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Trust != nil { + in, out := &in.Trust, &out.Trust + *out = make([]ClientPolicyTLSValidationTrustParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendDefaultsClientPolicyTLSValidationParameters. +func (in *BackendDefaultsClientPolicyTLSValidationParameters) DeepCopy() *BackendDefaultsClientPolicyTLSValidationParameters { + if in == nil { + return nil + } + out := new(BackendDefaultsClientPolicyTLSValidationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendDefaultsObservation) DeepCopyInto(out *BackendDefaultsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendDefaultsObservation. +func (in *BackendDefaultsObservation) DeepCopy() *BackendDefaultsObservation { + if in == nil { + return nil + } + out := new(BackendDefaultsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendDefaultsParameters) DeepCopyInto(out *BackendDefaultsParameters) { + *out = *in + if in.ClientPolicy != nil { + in, out := &in.ClientPolicy, &out.ClientPolicy + *out = make([]ClientPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendDefaultsParameters. +func (in *BackendDefaultsParameters) DeepCopy() *BackendDefaultsParameters { + if in == nil { + return nil + } + out := new(BackendDefaultsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendObservation) DeepCopyInto(out *BackendObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendObservation. +func (in *BackendObservation) DeepCopy() *BackendObservation { + if in == nil { + return nil + } + out := new(BackendObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendParameters) DeepCopyInto(out *BackendParameters) { + *out = *in + if in.VirtualService != nil { + in, out := &in.VirtualService, &out.VirtualService + *out = make([]BackendVirtualServiceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendParameters. +func (in *BackendParameters) DeepCopy() *BackendParameters { + if in == nil { + return nil + } + out := new(BackendParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendVirtualServiceObservation) DeepCopyInto(out *BackendVirtualServiceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendVirtualServiceObservation. +func (in *BackendVirtualServiceObservation) DeepCopy() *BackendVirtualServiceObservation { + if in == nil { + return nil + } + out := new(BackendVirtualServiceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendVirtualServiceParameters) DeepCopyInto(out *BackendVirtualServiceParameters) { + *out = *in + if in.ClientPolicy != nil { + in, out := &in.ClientPolicy, &out.ClientPolicy + *out = make([]VirtualServiceClientPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VirtualServiceName != nil { + in, out := &in.VirtualServiceName, &out.VirtualServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendVirtualServiceParameters. +func (in *BackendVirtualServiceParameters) DeepCopy() *BackendVirtualServiceParameters { + if in == nil { + return nil + } + out := new(BackendVirtualServiceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BaseEjectionDurationObservation) DeepCopyInto(out *BaseEjectionDurationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseEjectionDurationObservation. +func (in *BaseEjectionDurationObservation) DeepCopy() *BaseEjectionDurationObservation { + if in == nil { + return nil + } + out := new(BaseEjectionDurationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BaseEjectionDurationParameters) DeepCopyInto(out *BaseEjectionDurationParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseEjectionDurationParameters. +func (in *BaseEjectionDurationParameters) DeepCopy() *BaseEjectionDurationParameters { + if in == nil { + return nil + } + out := new(BaseEjectionDurationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateAcmObservation) DeepCopyInto(out *CertificateAcmObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateAcmObservation. +func (in *CertificateAcmObservation) DeepCopy() *CertificateAcmObservation { + if in == nil { + return nil + } + out := new(CertificateAcmObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateAcmParameters) DeepCopyInto(out *CertificateAcmParameters) { + *out = *in + if in.CertificateArn != nil { + in, out := &in.CertificateArn, &out.CertificateArn + *out = new(string) + **out = **in + } + if in.CertificateArnRef != nil { + in, out := &in.CertificateArnRef, &out.CertificateArnRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.CertificateArnSelector != nil { + in, out := &in.CertificateArnSelector, &out.CertificateArnSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateAcmParameters. +func (in *CertificateAcmParameters) DeepCopy() *CertificateAcmParameters { + if in == nil { + return nil + } + out := new(CertificateAcmParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateFileObservation) DeepCopyInto(out *CertificateFileObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateFileObservation. +func (in *CertificateFileObservation) DeepCopy() *CertificateFileObservation { + if in == nil { + return nil + } + out := new(CertificateFileObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateFileParameters) DeepCopyInto(out *CertificateFileParameters) { + *out = *in + if in.CertificateChain != nil { + in, out := &in.CertificateChain, &out.CertificateChain + *out = new(string) + **out = **in + } + if in.PrivateKey != nil { + in, out := &in.PrivateKey, &out.PrivateKey + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateFileParameters. +func (in *CertificateFileParameters) DeepCopy() *CertificateFileParameters { + if in == nil { + return nil + } + out := new(CertificateFileParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateObservation) DeepCopyInto(out *CertificateObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateObservation. +func (in *CertificateObservation) DeepCopy() *CertificateObservation { + if in == nil { + return nil + } + out := new(CertificateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateParameters) DeepCopyInto(out *CertificateParameters) { + *out = *in + if in.File != nil { + in, out := &in.File, &out.File + *out = make([]FileParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Sds != nil { + in, out := &in.Sds, &out.Sds + *out = make([]SdsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateParameters. +func (in *CertificateParameters) DeepCopy() *CertificateParameters { + if in == nil { + return nil + } + out := new(CertificateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateSdsObservation) DeepCopyInto(out *CertificateSdsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateSdsObservation. +func (in *CertificateSdsObservation) DeepCopy() *CertificateSdsObservation { + if in == nil { + return nil + } + out := new(CertificateSdsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateSdsParameters) DeepCopyInto(out *CertificateSdsParameters) { + *out = *in + if in.SecretName != nil { + in, out := &in.SecretName, &out.SecretName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateSdsParameters. +func (in *CertificateSdsParameters) DeepCopy() *CertificateSdsParameters { + if in == nil { + return nil + } + out := new(CertificateSdsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyObservation) DeepCopyInto(out *ClientPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyObservation. +func (in *ClientPolicyObservation) DeepCopy() *ClientPolicyObservation { + if in == nil { + return nil + } + out := new(ClientPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyParameters) DeepCopyInto(out *ClientPolicyParameters) { + *out = *in + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = make([]TLSParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyParameters. +func (in *ClientPolicyParameters) DeepCopy() *ClientPolicyParameters { + if in == nil { + return nil + } + out := new(ClientPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSCertificateFileObservation) DeepCopyInto(out *ClientPolicyTLSCertificateFileObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSCertificateFileObservation. +func (in *ClientPolicyTLSCertificateFileObservation) DeepCopy() *ClientPolicyTLSCertificateFileObservation { + if in == nil { + return nil + } + out := new(ClientPolicyTLSCertificateFileObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSCertificateFileParameters) DeepCopyInto(out *ClientPolicyTLSCertificateFileParameters) { + *out = *in + if in.CertificateChain != nil { + in, out := &in.CertificateChain, &out.CertificateChain + *out = new(string) + **out = **in + } + if in.PrivateKey != nil { + in, out := &in.PrivateKey, &out.PrivateKey + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSCertificateFileParameters. +func (in *ClientPolicyTLSCertificateFileParameters) DeepCopy() *ClientPolicyTLSCertificateFileParameters { + if in == nil { + return nil + } + out := new(ClientPolicyTLSCertificateFileParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSCertificateObservation) DeepCopyInto(out *ClientPolicyTLSCertificateObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSCertificateObservation. +func (in *ClientPolicyTLSCertificateObservation) DeepCopy() *ClientPolicyTLSCertificateObservation { + if in == nil { + return nil + } + out := new(ClientPolicyTLSCertificateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSCertificateParameters) DeepCopyInto(out *ClientPolicyTLSCertificateParameters) { + *out = *in + if in.File != nil { + in, out := &in.File, &out.File + *out = make([]TLSCertificateFileParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Sds != nil { + in, out := &in.Sds, &out.Sds + *out = make([]TLSCertificateSdsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSCertificateParameters. +func (in *ClientPolicyTLSCertificateParameters) DeepCopy() *ClientPolicyTLSCertificateParameters { + if in == nil { + return nil + } + out := new(ClientPolicyTLSCertificateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSCertificateSdsObservation) DeepCopyInto(out *ClientPolicyTLSCertificateSdsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSCertificateSdsObservation. +func (in *ClientPolicyTLSCertificateSdsObservation) DeepCopy() *ClientPolicyTLSCertificateSdsObservation { + if in == nil { + return nil + } + out := new(ClientPolicyTLSCertificateSdsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSCertificateSdsParameters) DeepCopyInto(out *ClientPolicyTLSCertificateSdsParameters) { + *out = *in + if in.SecretName != nil { + in, out := &in.SecretName, &out.SecretName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSCertificateSdsParameters. +func (in *ClientPolicyTLSCertificateSdsParameters) DeepCopy() *ClientPolicyTLSCertificateSdsParameters { + if in == nil { + return nil + } + out := new(ClientPolicyTLSCertificateSdsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSObservation) DeepCopyInto(out *ClientPolicyTLSObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSObservation. +func (in *ClientPolicyTLSObservation) DeepCopy() *ClientPolicyTLSObservation { + if in == nil { + return nil + } + out := new(ClientPolicyTLSObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSParameters) DeepCopyInto(out *ClientPolicyTLSParameters) { + *out = *in + if in.Certificate != nil { + in, out := &in.Certificate, &out.Certificate + *out = make([]ClientPolicyTLSCertificateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Enforce != nil { + in, out := &in.Enforce, &out.Enforce + *out = new(bool) + **out = **in + } + if in.Ports != nil { + in, out := &in.Ports, &out.Ports + *out = make([]*float64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(float64) + **out = **in + } + } + } + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = make([]ClientPolicyTLSValidationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSParameters. +func (in *ClientPolicyTLSParameters) DeepCopy() *ClientPolicyTLSParameters { + if in == nil { + return nil + } + out := new(ClientPolicyTLSParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSValidationObservation) DeepCopyInto(out *ClientPolicyTLSValidationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSValidationObservation. +func (in *ClientPolicyTLSValidationObservation) DeepCopy() *ClientPolicyTLSValidationObservation { + if in == nil { + return nil + } + out := new(ClientPolicyTLSValidationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSValidationParameters) DeepCopyInto(out *ClientPolicyTLSValidationParameters) { + *out = *in + if in.SubjectAlternativeNames != nil { + in, out := &in.SubjectAlternativeNames, &out.SubjectAlternativeNames + *out = make([]TLSValidationSubjectAlternativeNamesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Trust != nil { + in, out := &in.Trust, &out.Trust + *out = make([]TLSValidationTrustParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSValidationParameters. +func (in *ClientPolicyTLSValidationParameters) DeepCopy() *ClientPolicyTLSValidationParameters { + if in == nil { + return nil + } + out := new(ClientPolicyTLSValidationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSValidationSubjectAlternativeNamesMatchObservation) DeepCopyInto(out *ClientPolicyTLSValidationSubjectAlternativeNamesMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSValidationSubjectAlternativeNamesMatchObservation. +func (in *ClientPolicyTLSValidationSubjectAlternativeNamesMatchObservation) DeepCopy() *ClientPolicyTLSValidationSubjectAlternativeNamesMatchObservation { + if in == nil { + return nil + } + out := new(ClientPolicyTLSValidationSubjectAlternativeNamesMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSValidationSubjectAlternativeNamesMatchParameters) DeepCopyInto(out *ClientPolicyTLSValidationSubjectAlternativeNamesMatchParameters) { + *out = *in + if in.Exact != nil { + in, out := &in.Exact, &out.Exact + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSValidationSubjectAlternativeNamesMatchParameters. +func (in *ClientPolicyTLSValidationSubjectAlternativeNamesMatchParameters) DeepCopy() *ClientPolicyTLSValidationSubjectAlternativeNamesMatchParameters { + if in == nil { + return nil + } + out := new(ClientPolicyTLSValidationSubjectAlternativeNamesMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSValidationSubjectAlternativeNamesObservation) DeepCopyInto(out *ClientPolicyTLSValidationSubjectAlternativeNamesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSValidationSubjectAlternativeNamesObservation. +func (in *ClientPolicyTLSValidationSubjectAlternativeNamesObservation) DeepCopy() *ClientPolicyTLSValidationSubjectAlternativeNamesObservation { + if in == nil { + return nil + } + out := new(ClientPolicyTLSValidationSubjectAlternativeNamesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSValidationSubjectAlternativeNamesParameters) DeepCopyInto(out *ClientPolicyTLSValidationSubjectAlternativeNamesParameters) { + *out = *in + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]ClientPolicyTLSValidationSubjectAlternativeNamesMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSValidationSubjectAlternativeNamesParameters. +func (in *ClientPolicyTLSValidationSubjectAlternativeNamesParameters) DeepCopy() *ClientPolicyTLSValidationSubjectAlternativeNamesParameters { + if in == nil { + return nil + } + out := new(ClientPolicyTLSValidationSubjectAlternativeNamesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSValidationTrustFileObservation) DeepCopyInto(out *ClientPolicyTLSValidationTrustFileObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSValidationTrustFileObservation. +func (in *ClientPolicyTLSValidationTrustFileObservation) DeepCopy() *ClientPolicyTLSValidationTrustFileObservation { + if in == nil { + return nil + } + out := new(ClientPolicyTLSValidationTrustFileObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSValidationTrustFileParameters) DeepCopyInto(out *ClientPolicyTLSValidationTrustFileParameters) { + *out = *in + if in.CertificateChain != nil { + in, out := &in.CertificateChain, &out.CertificateChain + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSValidationTrustFileParameters. +func (in *ClientPolicyTLSValidationTrustFileParameters) DeepCopy() *ClientPolicyTLSValidationTrustFileParameters { + if in == nil { + return nil + } + out := new(ClientPolicyTLSValidationTrustFileParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSValidationTrustObservation) DeepCopyInto(out *ClientPolicyTLSValidationTrustObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSValidationTrustObservation. +func (in *ClientPolicyTLSValidationTrustObservation) DeepCopy() *ClientPolicyTLSValidationTrustObservation { + if in == nil { + return nil + } + out := new(ClientPolicyTLSValidationTrustObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSValidationTrustParameters) DeepCopyInto(out *ClientPolicyTLSValidationTrustParameters) { + *out = *in + if in.Acm != nil { + in, out := &in.Acm, &out.Acm + *out = make([]ValidationTrustAcmParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.File != nil { + in, out := &in.File, &out.File + *out = make([]ClientPolicyTLSValidationTrustFileParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Sds != nil { + in, out := &in.Sds, &out.Sds + *out = make([]ClientPolicyTLSValidationTrustSdsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSValidationTrustParameters. +func (in *ClientPolicyTLSValidationTrustParameters) DeepCopy() *ClientPolicyTLSValidationTrustParameters { + if in == nil { + return nil + } + out := new(ClientPolicyTLSValidationTrustParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSValidationTrustSdsObservation) DeepCopyInto(out *ClientPolicyTLSValidationTrustSdsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSValidationTrustSdsObservation. +func (in *ClientPolicyTLSValidationTrustSdsObservation) DeepCopy() *ClientPolicyTLSValidationTrustSdsObservation { + if in == nil { + return nil + } + out := new(ClientPolicyTLSValidationTrustSdsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientPolicyTLSValidationTrustSdsParameters) DeepCopyInto(out *ClientPolicyTLSValidationTrustSdsParameters) { + *out = *in + if in.SecretName != nil { + in, out := &in.SecretName, &out.SecretName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPolicyTLSValidationTrustSdsParameters. +func (in *ClientPolicyTLSValidationTrustSdsParameters) DeepCopy() *ClientPolicyTLSValidationTrustSdsParameters { + if in == nil { + return nil + } + out := new(ClientPolicyTLSValidationTrustSdsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectionPoolGRPCObservation) DeepCopyInto(out *ConnectionPoolGRPCObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolGRPCObservation. +func (in *ConnectionPoolGRPCObservation) DeepCopy() *ConnectionPoolGRPCObservation { + if in == nil { + return nil + } + out := new(ConnectionPoolGRPCObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectionPoolGRPCParameters) DeepCopyInto(out *ConnectionPoolGRPCParameters) { + *out = *in + if in.MaxRequests != nil { + in, out := &in.MaxRequests, &out.MaxRequests + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolGRPCParameters. +func (in *ConnectionPoolGRPCParameters) DeepCopy() *ConnectionPoolGRPCParameters { + if in == nil { + return nil + } + out := new(ConnectionPoolGRPCParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectionPoolHTTPObservation) DeepCopyInto(out *ConnectionPoolHTTPObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolHTTPObservation. +func (in *ConnectionPoolHTTPObservation) DeepCopy() *ConnectionPoolHTTPObservation { + if in == nil { + return nil + } + out := new(ConnectionPoolHTTPObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectionPoolHTTPParameters) DeepCopyInto(out *ConnectionPoolHTTPParameters) { + *out = *in + if in.MaxConnections != nil { + in, out := &in.MaxConnections, &out.MaxConnections + *out = new(float64) + **out = **in + } + if in.MaxPendingRequests != nil { + in, out := &in.MaxPendingRequests, &out.MaxPendingRequests + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolHTTPParameters. +func (in *ConnectionPoolHTTPParameters) DeepCopy() *ConnectionPoolHTTPParameters { + if in == nil { + return nil + } + out := new(ConnectionPoolHTTPParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectionPoolHttp2Observation) DeepCopyInto(out *ConnectionPoolHttp2Observation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolHttp2Observation. +func (in *ConnectionPoolHttp2Observation) DeepCopy() *ConnectionPoolHttp2Observation { + if in == nil { + return nil + } + out := new(ConnectionPoolHttp2Observation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectionPoolHttp2Parameters) DeepCopyInto(out *ConnectionPoolHttp2Parameters) { + *out = *in + if in.MaxRequests != nil { + in, out := &in.MaxRequests, &out.MaxRequests + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolHttp2Parameters. +func (in *ConnectionPoolHttp2Parameters) DeepCopy() *ConnectionPoolHttp2Parameters { + if in == nil { + return nil + } + out := new(ConnectionPoolHttp2Parameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectionPoolObservation) DeepCopyInto(out *ConnectionPoolObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolObservation. +func (in *ConnectionPoolObservation) DeepCopy() *ConnectionPoolObservation { + if in == nil { + return nil + } + out := new(ConnectionPoolObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectionPoolParameters) DeepCopyInto(out *ConnectionPoolParameters) { + *out = *in + if in.GRPC != nil { + in, out := &in.GRPC, &out.GRPC + *out = make([]GRPCParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HTTP != nil { + in, out := &in.HTTP, &out.HTTP + *out = make([]HTTPParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Http2 != nil { + in, out := &in.Http2, &out.Http2 + *out = make([]Http2Parameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolParameters. +func (in *ConnectionPoolParameters) DeepCopy() *ConnectionPoolParameters { + if in == nil { + return nil + } + out := new(ConnectionPoolParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DNSObservation) DeepCopyInto(out *DNSObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSObservation. +func (in *DNSObservation) DeepCopy() *DNSObservation { + if in == nil { + return nil + } + out := new(DNSObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DNSParameters) DeepCopyInto(out *DNSParameters) { + *out = *in + if in.Hostname != nil { + in, out := &in.Hostname, &out.Hostname + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSParameters. +func (in *DNSParameters) DeepCopy() *DNSParameters { + if in == nil { + return nil + } + out := new(DNSParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *EgressFilterObservation) DeepCopyInto(out *EgressFilterObservation) { *out = *in } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressFilterObservation. -func (in *EgressFilterObservation) DeepCopy() *EgressFilterObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressFilterObservation. +func (in *EgressFilterObservation) DeepCopy() *EgressFilterObservation { + if in == nil { + return nil + } + out := new(EgressFilterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressFilterParameters) DeepCopyInto(out *EgressFilterParameters) { + *out = *in + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressFilterParameters. +func (in *EgressFilterParameters) DeepCopy() *EgressFilterParameters { + if in == nil { + return nil + } + out := new(EgressFilterParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FileObservation) DeepCopyInto(out *FileObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileObservation. +func (in *FileObservation) DeepCopy() *FileObservation { + if in == nil { + return nil + } + out := new(FileObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FileParameters) DeepCopyInto(out *FileParameters) { + *out = *in + if in.CertificateChain != nil { + in, out := &in.CertificateChain, &out.CertificateChain + *out = new(string) + **out = **in + } + if in.PrivateKey != nil { + in, out := &in.PrivateKey, &out.PrivateKey + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileParameters. +func (in *FileParameters) DeepCopy() *FileParameters { + if in == nil { + return nil + } + out := new(FileParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GRPCIdleObservation) DeepCopyInto(out *GRPCIdleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCIdleObservation. +func (in *GRPCIdleObservation) DeepCopy() *GRPCIdleObservation { + if in == nil { + return nil + } + out := new(GRPCIdleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GRPCIdleParameters) DeepCopyInto(out *GRPCIdleParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCIdleParameters. +func (in *GRPCIdleParameters) DeepCopy() *GRPCIdleParameters { + if in == nil { + return nil + } + out := new(GRPCIdleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GRPCObservation) DeepCopyInto(out *GRPCObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCObservation. +func (in *GRPCObservation) DeepCopy() *GRPCObservation { + if in == nil { + return nil + } + out := new(GRPCObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GRPCParameters) DeepCopyInto(out *GRPCParameters) { + *out = *in + if in.MaxRequests != nil { + in, out := &in.MaxRequests, &out.MaxRequests + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCParameters. +func (in *GRPCParameters) DeepCopy() *GRPCParameters { + if in == nil { + return nil + } + out := new(GRPCParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GRPCPerRequestObservation) DeepCopyInto(out *GRPCPerRequestObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCPerRequestObservation. +func (in *GRPCPerRequestObservation) DeepCopy() *GRPCPerRequestObservation { + if in == nil { + return nil + } + out := new(GRPCPerRequestObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GRPCPerRequestParameters) DeepCopyInto(out *GRPCPerRequestParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCPerRequestParameters. +func (in *GRPCPerRequestParameters) DeepCopy() *GRPCPerRequestParameters { + if in == nil { + return nil + } + out := new(GRPCPerRequestParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GRPCRouteActionObservation) DeepCopyInto(out *GRPCRouteActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCRouteActionObservation. +func (in *GRPCRouteActionObservation) DeepCopy() *GRPCRouteActionObservation { + if in == nil { + return nil + } + out := new(GRPCRouteActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GRPCRouteActionParameters) DeepCopyInto(out *GRPCRouteActionParameters) { + *out = *in + if in.WeightedTarget != nil { + in, out := &in.WeightedTarget, &out.WeightedTarget + *out = make([]WeightedTargetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCRouteActionParameters. +func (in *GRPCRouteActionParameters) DeepCopy() *GRPCRouteActionParameters { + if in == nil { + return nil + } + out := new(GRPCRouteActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GRPCRouteMatchObservation) DeepCopyInto(out *GRPCRouteMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCRouteMatchObservation. +func (in *GRPCRouteMatchObservation) DeepCopy() *GRPCRouteMatchObservation { + if in == nil { + return nil + } + out := new(GRPCRouteMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GRPCRouteMatchParameters) DeepCopyInto(out *GRPCRouteMatchParameters) { + *out = *in + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make([]MetadataParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MethodName != nil { + in, out := &in.MethodName, &out.MethodName + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCRouteMatchParameters. +func (in *GRPCRouteMatchParameters) DeepCopy() *GRPCRouteMatchParameters { + if in == nil { + return nil + } + out := new(GRPCRouteMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GRPCRouteObservation) DeepCopyInto(out *GRPCRouteObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCRouteObservation. +func (in *GRPCRouteObservation) DeepCopy() *GRPCRouteObservation { + if in == nil { + return nil + } + out := new(GRPCRouteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GRPCRouteParameters) DeepCopyInto(out *GRPCRouteParameters) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = make([]ActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]MatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCRouteParameters. +func (in *GRPCRouteParameters) DeepCopy() *GRPCRouteParameters { + if in == nil { + return nil + } + out := new(GRPCRouteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GatewayRoute) DeepCopyInto(out *GatewayRoute) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayRoute. +func (in *GatewayRoute) DeepCopy() *GatewayRoute { + if in == nil { + return nil + } + out := new(GatewayRoute) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GatewayRoute) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GatewayRouteList) DeepCopyInto(out *GatewayRouteList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GatewayRoute, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayRouteList. +func (in *GatewayRouteList) DeepCopy() *GatewayRouteList { + if in == nil { + return nil + } + out := new(GatewayRouteList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GatewayRouteList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GatewayRouteObservation) DeepCopyInto(out *GatewayRouteObservation) { + *out = *in + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.CreatedDate != nil { + in, out := &in.CreatedDate, &out.CreatedDate + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LastUpdatedDate != nil { + in, out := &in.LastUpdatedDate, &out.LastUpdatedDate + *out = new(string) + **out = **in + } + if in.ResourceOwner != nil { + in, out := &in.ResourceOwner, &out.ResourceOwner + *out = new(string) + **out = **in + } + if in.TagsAll != nil { + in, out := &in.TagsAll, &out.TagsAll + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayRouteObservation. +func (in *GatewayRouteObservation) DeepCopy() *GatewayRouteObservation { + if in == nil { + return nil + } + out := new(GatewayRouteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GatewayRouteParameters) DeepCopyInto(out *GatewayRouteParameters) { + *out = *in + if in.MeshName != nil { + in, out := &in.MeshName, &out.MeshName + *out = new(string) + **out = **in + } + if in.MeshOwner != nil { + in, out := &in.MeshOwner, &out.MeshOwner + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Spec != nil { + in, out := &in.Spec, &out.Spec + *out = make([]SpecParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.VirtualGatewayName != nil { + in, out := &in.VirtualGatewayName, &out.VirtualGatewayName + *out = new(string) + **out = **in + } + if in.VirtualGatewayNameRef != nil { + in, out := &in.VirtualGatewayNameRef, &out.VirtualGatewayNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VirtualGatewayNameSelector != nil { + in, out := &in.VirtualGatewayNameSelector, &out.VirtualGatewayNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayRouteParameters. +func (in *GatewayRouteParameters) DeepCopy() *GatewayRouteParameters { + if in == nil { + return nil + } + out := new(GatewayRouteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GatewayRouteSpec) DeepCopyInto(out *GatewayRouteSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayRouteSpec. +func (in *GatewayRouteSpec) DeepCopy() *GatewayRouteSpec { + if in == nil { + return nil + } + out := new(GatewayRouteSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GatewayRouteStatus) DeepCopyInto(out *GatewayRouteStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayRouteStatus. +func (in *GatewayRouteStatus) DeepCopy() *GatewayRouteStatus { + if in == nil { + return nil + } + out := new(GatewayRouteStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPIdleObservation) DeepCopyInto(out *HTTPIdleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPIdleObservation. +func (in *HTTPIdleObservation) DeepCopy() *HTTPIdleObservation { + if in == nil { + return nil + } + out := new(HTTPIdleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPIdleParameters) DeepCopyInto(out *HTTPIdleParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPIdleParameters. +func (in *HTTPIdleParameters) DeepCopy() *HTTPIdleParameters { + if in == nil { + return nil + } + out := new(HTTPIdleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPObservation) DeepCopyInto(out *HTTPObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPObservation. +func (in *HTTPObservation) DeepCopy() *HTTPObservation { + if in == nil { + return nil + } + out := new(HTTPObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPParameters) DeepCopyInto(out *HTTPParameters) { + *out = *in + if in.MaxConnections != nil { + in, out := &in.MaxConnections, &out.MaxConnections + *out = new(float64) + **out = **in + } + if in.MaxPendingRequests != nil { + in, out := &in.MaxPendingRequests, &out.MaxPendingRequests + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPParameters. +func (in *HTTPParameters) DeepCopy() *HTTPParameters { + if in == nil { + return nil + } + out := new(HTTPParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPPerRequestObservation) DeepCopyInto(out *HTTPPerRequestObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPPerRequestObservation. +func (in *HTTPPerRequestObservation) DeepCopy() *HTTPPerRequestObservation { + if in == nil { + return nil + } + out := new(HTTPPerRequestObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPPerRequestParameters) DeepCopyInto(out *HTTPPerRequestParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPPerRequestParameters. +func (in *HTTPPerRequestParameters) DeepCopy() *HTTPPerRequestParameters { + if in == nil { + return nil + } + out := new(HTTPPerRequestParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteActionObservation) DeepCopyInto(out *HTTPRouteActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteActionObservation. +func (in *HTTPRouteActionObservation) DeepCopy() *HTTPRouteActionObservation { + if in == nil { + return nil + } + out := new(HTTPRouteActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteActionParameters) DeepCopyInto(out *HTTPRouteActionParameters) { + *out = *in + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = make([]HTTPRouteActionTargetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteActionParameters. +func (in *HTTPRouteActionParameters) DeepCopy() *HTTPRouteActionParameters { + if in == nil { + return nil + } + out := new(HTTPRouteActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteActionTargetObservation) DeepCopyInto(out *HTTPRouteActionTargetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteActionTargetObservation. +func (in *HTTPRouteActionTargetObservation) DeepCopy() *HTTPRouteActionTargetObservation { + if in == nil { + return nil + } + out := new(HTTPRouteActionTargetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteActionTargetParameters) DeepCopyInto(out *HTTPRouteActionTargetParameters) { + *out = *in + if in.VirtualService != nil { + in, out := &in.VirtualService, &out.VirtualService + *out = make([]ActionTargetVirtualServiceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteActionTargetParameters. +func (in *HTTPRouteActionTargetParameters) DeepCopy() *HTTPRouteActionTargetParameters { + if in == nil { + return nil + } + out := new(HTTPRouteActionTargetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteActionWeightedTargetObservation) DeepCopyInto(out *HTTPRouteActionWeightedTargetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteActionWeightedTargetObservation. +func (in *HTTPRouteActionWeightedTargetObservation) DeepCopy() *HTTPRouteActionWeightedTargetObservation { + if in == nil { + return nil + } + out := new(HTTPRouteActionWeightedTargetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteActionWeightedTargetParameters) DeepCopyInto(out *HTTPRouteActionWeightedTargetParameters) { + *out = *in + if in.VirtualNode != nil { + in, out := &in.VirtualNode, &out.VirtualNode + *out = new(string) + **out = **in + } + if in.VirtualNodeRef != nil { + in, out := &in.VirtualNodeRef, &out.VirtualNodeRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VirtualNodeSelector != nil { + in, out := &in.VirtualNodeSelector, &out.VirtualNodeSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteActionWeightedTargetParameters. +func (in *HTTPRouteActionWeightedTargetParameters) DeepCopy() *HTTPRouteActionWeightedTargetParameters { + if in == nil { + return nil + } + out := new(HTTPRouteActionWeightedTargetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteMatchObservation) DeepCopyInto(out *HTTPRouteMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteMatchObservation. +func (in *HTTPRouteMatchObservation) DeepCopy() *HTTPRouteMatchObservation { + if in == nil { + return nil + } + out := new(HTTPRouteMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteMatchParameters) DeepCopyInto(out *HTTPRouteMatchParameters) { + *out = *in + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteMatchParameters. +func (in *HTTPRouteMatchParameters) DeepCopy() *HTTPRouteMatchParameters { + if in == nil { + return nil + } + out := new(HTTPRouteMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteObservation) DeepCopyInto(out *HTTPRouteObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteObservation. +func (in *HTTPRouteObservation) DeepCopy() *HTTPRouteObservation { + if in == nil { + return nil + } + out := new(HTTPRouteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteParameters) DeepCopyInto(out *HTTPRouteParameters) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = make([]HTTPRouteActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]HTTPRouteMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteParameters. +func (in *HTTPRouteParameters) DeepCopy() *HTTPRouteParameters { + if in == nil { + return nil + } + out := new(HTTPRouteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteRetryPolicyObservation) DeepCopyInto(out *HTTPRouteRetryPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteRetryPolicyObservation. +func (in *HTTPRouteRetryPolicyObservation) DeepCopy() *HTTPRouteRetryPolicyObservation { + if in == nil { + return nil + } + out := new(HTTPRouteRetryPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteRetryPolicyParameters) DeepCopyInto(out *HTTPRouteRetryPolicyParameters) { + *out = *in + if in.HTTPRetryEvents != nil { + in, out := &in.HTTPRetryEvents, &out.HTTPRetryEvents + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.MaxRetries != nil { + in, out := &in.MaxRetries, &out.MaxRetries + *out = new(float64) + **out = **in + } + if in.PerRetryTimeout != nil { + in, out := &in.PerRetryTimeout, &out.PerRetryTimeout + *out = make([]HTTPRouteRetryPolicyPerRetryTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TCPRetryEvents != nil { + in, out := &in.TCPRetryEvents, &out.TCPRetryEvents + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteRetryPolicyParameters. +func (in *HTTPRouteRetryPolicyParameters) DeepCopy() *HTTPRouteRetryPolicyParameters { + if in == nil { + return nil + } + out := new(HTTPRouteRetryPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteRetryPolicyPerRetryTimeoutObservation) DeepCopyInto(out *HTTPRouteRetryPolicyPerRetryTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteRetryPolicyPerRetryTimeoutObservation. +func (in *HTTPRouteRetryPolicyPerRetryTimeoutObservation) DeepCopy() *HTTPRouteRetryPolicyPerRetryTimeoutObservation { + if in == nil { + return nil + } + out := new(HTTPRouteRetryPolicyPerRetryTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteRetryPolicyPerRetryTimeoutParameters) DeepCopyInto(out *HTTPRouteRetryPolicyPerRetryTimeoutParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteRetryPolicyPerRetryTimeoutParameters. +func (in *HTTPRouteRetryPolicyPerRetryTimeoutParameters) DeepCopy() *HTTPRouteRetryPolicyPerRetryTimeoutParameters { + if in == nil { + return nil + } + out := new(HTTPRouteRetryPolicyPerRetryTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteTimeoutIdleObservation) DeepCopyInto(out *HTTPRouteTimeoutIdleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteTimeoutIdleObservation. +func (in *HTTPRouteTimeoutIdleObservation) DeepCopy() *HTTPRouteTimeoutIdleObservation { + if in == nil { + return nil + } + out := new(HTTPRouteTimeoutIdleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteTimeoutIdleParameters) DeepCopyInto(out *HTTPRouteTimeoutIdleParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteTimeoutIdleParameters. +func (in *HTTPRouteTimeoutIdleParameters) DeepCopy() *HTTPRouteTimeoutIdleParameters { + if in == nil { + return nil + } + out := new(HTTPRouteTimeoutIdleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteTimeoutObservation) DeepCopyInto(out *HTTPRouteTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteTimeoutObservation. +func (in *HTTPRouteTimeoutObservation) DeepCopy() *HTTPRouteTimeoutObservation { + if in == nil { + return nil + } + out := new(HTTPRouteTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteTimeoutParameters) DeepCopyInto(out *HTTPRouteTimeoutParameters) { + *out = *in + if in.Idle != nil { + in, out := &in.Idle, &out.Idle + *out = make([]HTTPRouteTimeoutIdleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PerRequest != nil { + in, out := &in.PerRequest, &out.PerRequest + *out = make([]HTTPRouteTimeoutPerRequestParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteTimeoutParameters. +func (in *HTTPRouteTimeoutParameters) DeepCopy() *HTTPRouteTimeoutParameters { + if in == nil { + return nil + } + out := new(HTTPRouteTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteTimeoutPerRequestObservation) DeepCopyInto(out *HTTPRouteTimeoutPerRequestObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteTimeoutPerRequestObservation. +func (in *HTTPRouteTimeoutPerRequestObservation) DeepCopy() *HTTPRouteTimeoutPerRequestObservation { + if in == nil { + return nil + } + out := new(HTTPRouteTimeoutPerRequestObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRouteTimeoutPerRequestParameters) DeepCopyInto(out *HTTPRouteTimeoutPerRequestParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteTimeoutPerRequestParameters. +func (in *HTTPRouteTimeoutPerRequestParameters) DeepCopy() *HTTPRouteTimeoutPerRequestParameters { + if in == nil { + return nil + } + out := new(HTTPRouteTimeoutPerRequestParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderMatchObservation) DeepCopyInto(out *HeaderMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchObservation. +func (in *HeaderMatchObservation) DeepCopy() *HeaderMatchObservation { + if in == nil { + return nil + } + out := new(HeaderMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderMatchParameters) DeepCopyInto(out *HeaderMatchParameters) { + *out = *in + if in.Exact != nil { + in, out := &in.Exact, &out.Exact + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } + if in.Range != nil { + in, out := &in.Range, &out.Range + *out = make([]MatchRangeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Regex != nil { + in, out := &in.Regex, &out.Regex + *out = new(string) + **out = **in + } + if in.Suffix != nil { + in, out := &in.Suffix, &out.Suffix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchParameters. +func (in *HeaderMatchParameters) DeepCopy() *HeaderMatchParameters { + if in == nil { + return nil + } + out := new(HeaderMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderMatchRangeObservation) DeepCopyInto(out *HeaderMatchRangeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchRangeObservation. +func (in *HeaderMatchRangeObservation) DeepCopy() *HeaderMatchRangeObservation { + if in == nil { + return nil + } + out := new(HeaderMatchRangeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderMatchRangeParameters) DeepCopyInto(out *HeaderMatchRangeParameters) { + *out = *in + if in.End != nil { + in, out := &in.End, &out.End + *out = new(float64) + **out = **in + } + if in.Start != nil { + in, out := &in.Start, &out.Start + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchRangeParameters. +func (in *HeaderMatchRangeParameters) DeepCopy() *HeaderMatchRangeParameters { + if in == nil { + return nil + } + out := new(HeaderMatchRangeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderObservation) DeepCopyInto(out *HeaderObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderObservation. +func (in *HeaderObservation) DeepCopy() *HeaderObservation { + if in == nil { + return nil + } + out := new(HeaderObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderParameters) DeepCopyInto(out *HeaderParameters) { + *out = *in + if in.Invert != nil { + in, out := &in.Invert, &out.Invert + *out = new(bool) + **out = **in + } + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]HeaderMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderParameters. +func (in *HeaderParameters) DeepCopy() *HeaderParameters { + if in == nil { + return nil + } + out := new(HeaderParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HealthCheckObservation) DeepCopyInto(out *HealthCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckObservation. +func (in *HealthCheckObservation) DeepCopy() *HealthCheckObservation { + if in == nil { + return nil + } + out := new(HealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HealthCheckParameters) DeepCopyInto(out *HealthCheckParameters) { + *out = *in + if in.HealthyThreshold != nil { + in, out := &in.HealthyThreshold, &out.HealthyThreshold + *out = new(float64) + **out = **in + } + if in.IntervalMillis != nil { + in, out := &in.IntervalMillis, &out.IntervalMillis + *out = new(float64) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(float64) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } + if in.TimeoutMillis != nil { + in, out := &in.TimeoutMillis, &out.TimeoutMillis + *out = new(float64) + **out = **in + } + if in.UnhealthyThreshold != nil { + in, out := &in.UnhealthyThreshold, &out.UnhealthyThreshold + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckParameters. +func (in *HealthCheckParameters) DeepCopy() *HealthCheckParameters { + if in == nil { + return nil + } + out := new(HealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2IdleObservation) DeepCopyInto(out *Http2IdleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2IdleObservation. +func (in *Http2IdleObservation) DeepCopy() *Http2IdleObservation { + if in == nil { + return nil + } + out := new(Http2IdleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2IdleParameters) DeepCopyInto(out *Http2IdleParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2IdleParameters. +func (in *Http2IdleParameters) DeepCopy() *Http2IdleParameters { + if in == nil { + return nil + } + out := new(Http2IdleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2Observation) DeepCopyInto(out *Http2Observation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2Observation. +func (in *Http2Observation) DeepCopy() *Http2Observation { + if in == nil { + return nil + } + out := new(Http2Observation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2Parameters) DeepCopyInto(out *Http2Parameters) { + *out = *in + if in.MaxRequests != nil { + in, out := &in.MaxRequests, &out.MaxRequests + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2Parameters. +func (in *Http2Parameters) DeepCopy() *Http2Parameters { + if in == nil { + return nil + } + out := new(Http2Parameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2PerRequestObservation) DeepCopyInto(out *Http2PerRequestObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2PerRequestObservation. +func (in *Http2PerRequestObservation) DeepCopy() *Http2PerRequestObservation { + if in == nil { + return nil + } + out := new(Http2PerRequestObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2PerRequestParameters) DeepCopyInto(out *Http2PerRequestParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2PerRequestParameters. +func (in *Http2PerRequestParameters) DeepCopy() *Http2PerRequestParameters { + if in == nil { + return nil + } + out := new(Http2PerRequestParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2RouteActionObservation) DeepCopyInto(out *Http2RouteActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2RouteActionObservation. +func (in *Http2RouteActionObservation) DeepCopy() *Http2RouteActionObservation { + if in == nil { + return nil + } + out := new(Http2RouteActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2RouteActionParameters) DeepCopyInto(out *Http2RouteActionParameters) { + *out = *in + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = make([]ActionTargetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2RouteActionParameters. +func (in *Http2RouteActionParameters) DeepCopy() *Http2RouteActionParameters { + if in == nil { + return nil + } + out := new(Http2RouteActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2RouteMatchObservation) DeepCopyInto(out *Http2RouteMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2RouteMatchObservation. +func (in *Http2RouteMatchObservation) DeepCopy() *Http2RouteMatchObservation { + if in == nil { + return nil + } + out := new(Http2RouteMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2RouteMatchParameters) DeepCopyInto(out *Http2RouteMatchParameters) { + *out = *in + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2RouteMatchParameters. +func (in *Http2RouteMatchParameters) DeepCopy() *Http2RouteMatchParameters { + if in == nil { + return nil + } + out := new(Http2RouteMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2RouteObservation) DeepCopyInto(out *Http2RouteObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2RouteObservation. +func (in *Http2RouteObservation) DeepCopy() *Http2RouteObservation { + if in == nil { + return nil + } + out := new(Http2RouteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2RouteParameters) DeepCopyInto(out *Http2RouteParameters) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = make([]Http2RouteActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]Http2RouteMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2RouteParameters. +func (in *Http2RouteParameters) DeepCopy() *Http2RouteParameters { + if in == nil { + return nil + } + out := new(Http2RouteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2RouteRetryPolicyObservation) DeepCopyInto(out *Http2RouteRetryPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2RouteRetryPolicyObservation. +func (in *Http2RouteRetryPolicyObservation) DeepCopy() *Http2RouteRetryPolicyObservation { + if in == nil { + return nil + } + out := new(Http2RouteRetryPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2RouteRetryPolicyParameters) DeepCopyInto(out *Http2RouteRetryPolicyParameters) { + *out = *in + if in.HTTPRetryEvents != nil { + in, out := &in.HTTPRetryEvents, &out.HTTPRetryEvents + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.MaxRetries != nil { + in, out := &in.MaxRetries, &out.MaxRetries + *out = new(float64) + **out = **in + } + if in.PerRetryTimeout != nil { + in, out := &in.PerRetryTimeout, &out.PerRetryTimeout + *out = make([]RetryPolicyPerRetryTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TCPRetryEvents != nil { + in, out := &in.TCPRetryEvents, &out.TCPRetryEvents + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2RouteRetryPolicyParameters. +func (in *Http2RouteRetryPolicyParameters) DeepCopy() *Http2RouteRetryPolicyParameters { + if in == nil { + return nil + } + out := new(Http2RouteRetryPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2RouteTimeoutObservation) DeepCopyInto(out *Http2RouteTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2RouteTimeoutObservation. +func (in *Http2RouteTimeoutObservation) DeepCopy() *Http2RouteTimeoutObservation { + if in == nil { + return nil + } + out := new(Http2RouteTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2RouteTimeoutParameters) DeepCopyInto(out *Http2RouteTimeoutParameters) { + *out = *in + if in.Idle != nil { + in, out := &in.Idle, &out.Idle + *out = make([]TimeoutIdleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PerRequest != nil { + in, out := &in.PerRequest, &out.PerRequest + *out = make([]TimeoutPerRequestParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2RouteTimeoutParameters. +func (in *Http2RouteTimeoutParameters) DeepCopy() *Http2RouteTimeoutParameters { + if in == nil { + return nil + } + out := new(Http2RouteTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdleObservation) DeepCopyInto(out *IdleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdleObservation. +func (in *IdleObservation) DeepCopy() *IdleObservation { + if in == nil { + return nil + } + out := new(IdleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdleParameters) DeepCopyInto(out *IdleParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdleParameters. +func (in *IdleParameters) DeepCopy() *IdleParameters { + if in == nil { + return nil + } + out := new(IdleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IntervalObservation) DeepCopyInto(out *IntervalObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntervalObservation. +func (in *IntervalObservation) DeepCopy() *IntervalObservation { + if in == nil { + return nil + } + out := new(IntervalObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IntervalParameters) DeepCopyInto(out *IntervalParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntervalParameters. +func (in *IntervalParameters) DeepCopy() *IntervalParameters { + if in == nil { + return nil + } + out := new(IntervalParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerConnectionPoolObservation) DeepCopyInto(out *ListenerConnectionPoolObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerConnectionPoolObservation. +func (in *ListenerConnectionPoolObservation) DeepCopy() *ListenerConnectionPoolObservation { + if in == nil { + return nil + } + out := new(ListenerConnectionPoolObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerConnectionPoolParameters) DeepCopyInto(out *ListenerConnectionPoolParameters) { + *out = *in + if in.GRPC != nil { + in, out := &in.GRPC, &out.GRPC + *out = make([]ConnectionPoolGRPCParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HTTP != nil { + in, out := &in.HTTP, &out.HTTP + *out = make([]ConnectionPoolHTTPParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Http2 != nil { + in, out := &in.Http2, &out.Http2 + *out = make([]ConnectionPoolHttp2Parameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TCP != nil { + in, out := &in.TCP, &out.TCP + *out = make([]TCPParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerConnectionPoolParameters. +func (in *ListenerConnectionPoolParameters) DeepCopy() *ListenerConnectionPoolParameters { + if in == nil { + return nil + } + out := new(ListenerConnectionPoolParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerHealthCheckObservation) DeepCopyInto(out *ListenerHealthCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerHealthCheckObservation. +func (in *ListenerHealthCheckObservation) DeepCopy() *ListenerHealthCheckObservation { + if in == nil { + return nil + } + out := new(ListenerHealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerHealthCheckParameters) DeepCopyInto(out *ListenerHealthCheckParameters) { + *out = *in + if in.HealthyThreshold != nil { + in, out := &in.HealthyThreshold, &out.HealthyThreshold + *out = new(float64) + **out = **in + } + if in.IntervalMillis != nil { + in, out := &in.IntervalMillis, &out.IntervalMillis + *out = new(float64) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(float64) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } + if in.TimeoutMillis != nil { + in, out := &in.TimeoutMillis, &out.TimeoutMillis + *out = new(float64) + **out = **in + } + if in.UnhealthyThreshold != nil { + in, out := &in.UnhealthyThreshold, &out.UnhealthyThreshold + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerHealthCheckParameters. +func (in *ListenerHealthCheckParameters) DeepCopy() *ListenerHealthCheckParameters { + if in == nil { + return nil + } + out := new(ListenerHealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerObservation) DeepCopyInto(out *ListenerObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerObservation. +func (in *ListenerObservation) DeepCopy() *ListenerObservation { + if in == nil { + return nil + } + out := new(ListenerObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerParameters) DeepCopyInto(out *ListenerParameters) { + *out = *in + if in.ConnectionPool != nil { + in, out := &in.ConnectionPool, &out.ConnectionPool + *out = make([]ConnectionPoolParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HealthCheck != nil { + in, out := &in.HealthCheck, &out.HealthCheck + *out = make([]HealthCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PortMapping != nil { + in, out := &in.PortMapping, &out.PortMapping + *out = make([]PortMappingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = make([]ListenerTLSParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerParameters. +func (in *ListenerParameters) DeepCopy() *ListenerParameters { + if in == nil { + return nil + } + out := new(ListenerParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerPortMappingObservation) DeepCopyInto(out *ListenerPortMappingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerPortMappingObservation. +func (in *ListenerPortMappingObservation) DeepCopy() *ListenerPortMappingObservation { + if in == nil { + return nil + } + out := new(ListenerPortMappingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerPortMappingParameters) DeepCopyInto(out *ListenerPortMappingParameters) { + *out = *in + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(float64) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerPortMappingParameters. +func (in *ListenerPortMappingParameters) DeepCopy() *ListenerPortMappingParameters { + if in == nil { + return nil + } + out := new(ListenerPortMappingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSCertificateFileObservation) DeepCopyInto(out *ListenerTLSCertificateFileObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSCertificateFileObservation. +func (in *ListenerTLSCertificateFileObservation) DeepCopy() *ListenerTLSCertificateFileObservation { + if in == nil { + return nil + } + out := new(ListenerTLSCertificateFileObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSCertificateFileParameters) DeepCopyInto(out *ListenerTLSCertificateFileParameters) { + *out = *in + if in.CertificateChain != nil { + in, out := &in.CertificateChain, &out.CertificateChain + *out = new(string) + **out = **in + } + if in.PrivateKey != nil { + in, out := &in.PrivateKey, &out.PrivateKey + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSCertificateFileParameters. +func (in *ListenerTLSCertificateFileParameters) DeepCopy() *ListenerTLSCertificateFileParameters { + if in == nil { + return nil + } + out := new(ListenerTLSCertificateFileParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSCertificateObservation) DeepCopyInto(out *ListenerTLSCertificateObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSCertificateObservation. +func (in *ListenerTLSCertificateObservation) DeepCopy() *ListenerTLSCertificateObservation { + if in == nil { + return nil + } + out := new(ListenerTLSCertificateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSCertificateParameters) DeepCopyInto(out *ListenerTLSCertificateParameters) { + *out = *in + if in.Acm != nil { + in, out := &in.Acm, &out.Acm + *out = make([]TLSCertificateAcmParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.File != nil { + in, out := &in.File, &out.File + *out = make([]ListenerTLSCertificateFileParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Sds != nil { + in, out := &in.Sds, &out.Sds + *out = make([]ListenerTLSCertificateSdsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSCertificateParameters. +func (in *ListenerTLSCertificateParameters) DeepCopy() *ListenerTLSCertificateParameters { + if in == nil { + return nil + } + out := new(ListenerTLSCertificateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSCertificateSdsObservation) DeepCopyInto(out *ListenerTLSCertificateSdsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSCertificateSdsObservation. +func (in *ListenerTLSCertificateSdsObservation) DeepCopy() *ListenerTLSCertificateSdsObservation { + if in == nil { + return nil + } + out := new(ListenerTLSCertificateSdsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSCertificateSdsParameters) DeepCopyInto(out *ListenerTLSCertificateSdsParameters) { + *out = *in + if in.SecretName != nil { + in, out := &in.SecretName, &out.SecretName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSCertificateSdsParameters. +func (in *ListenerTLSCertificateSdsParameters) DeepCopy() *ListenerTLSCertificateSdsParameters { + if in == nil { + return nil + } + out := new(ListenerTLSCertificateSdsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSObservation) DeepCopyInto(out *ListenerTLSObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSObservation. +func (in *ListenerTLSObservation) DeepCopy() *ListenerTLSObservation { + if in == nil { + return nil + } + out := new(ListenerTLSObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSParameters) DeepCopyInto(out *ListenerTLSParameters) { + *out = *in + if in.Certificate != nil { + in, out := &in.Certificate, &out.Certificate + *out = make([]TLSCertificateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = make([]TLSValidationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSParameters. +func (in *ListenerTLSParameters) DeepCopy() *ListenerTLSParameters { + if in == nil { + return nil + } + out := new(ListenerTLSParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSValidationObservation) DeepCopyInto(out *ListenerTLSValidationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSValidationObservation. +func (in *ListenerTLSValidationObservation) DeepCopy() *ListenerTLSValidationObservation { + if in == nil { + return nil + } + out := new(ListenerTLSValidationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSValidationParameters) DeepCopyInto(out *ListenerTLSValidationParameters) { + *out = *in + if in.SubjectAlternativeNames != nil { + in, out := &in.SubjectAlternativeNames, &out.SubjectAlternativeNames + *out = make([]ListenerTLSValidationSubjectAlternativeNamesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Trust != nil { + in, out := &in.Trust, &out.Trust + *out = make([]ListenerTLSValidationTrustParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSValidationParameters. +func (in *ListenerTLSValidationParameters) DeepCopy() *ListenerTLSValidationParameters { + if in == nil { + return nil + } + out := new(ListenerTLSValidationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSValidationSubjectAlternativeNamesMatchObservation) DeepCopyInto(out *ListenerTLSValidationSubjectAlternativeNamesMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSValidationSubjectAlternativeNamesMatchObservation. +func (in *ListenerTLSValidationSubjectAlternativeNamesMatchObservation) DeepCopy() *ListenerTLSValidationSubjectAlternativeNamesMatchObservation { + if in == nil { + return nil + } + out := new(ListenerTLSValidationSubjectAlternativeNamesMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSValidationSubjectAlternativeNamesMatchParameters) DeepCopyInto(out *ListenerTLSValidationSubjectAlternativeNamesMatchParameters) { + *out = *in + if in.Exact != nil { + in, out := &in.Exact, &out.Exact + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSValidationSubjectAlternativeNamesMatchParameters. +func (in *ListenerTLSValidationSubjectAlternativeNamesMatchParameters) DeepCopy() *ListenerTLSValidationSubjectAlternativeNamesMatchParameters { + if in == nil { + return nil + } + out := new(ListenerTLSValidationSubjectAlternativeNamesMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSValidationSubjectAlternativeNamesObservation) DeepCopyInto(out *ListenerTLSValidationSubjectAlternativeNamesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSValidationSubjectAlternativeNamesObservation. +func (in *ListenerTLSValidationSubjectAlternativeNamesObservation) DeepCopy() *ListenerTLSValidationSubjectAlternativeNamesObservation { + if in == nil { + return nil + } + out := new(ListenerTLSValidationSubjectAlternativeNamesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSValidationSubjectAlternativeNamesParameters) DeepCopyInto(out *ListenerTLSValidationSubjectAlternativeNamesParameters) { + *out = *in + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]ListenerTLSValidationSubjectAlternativeNamesMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSValidationSubjectAlternativeNamesParameters. +func (in *ListenerTLSValidationSubjectAlternativeNamesParameters) DeepCopy() *ListenerTLSValidationSubjectAlternativeNamesParameters { + if in == nil { + return nil + } + out := new(ListenerTLSValidationSubjectAlternativeNamesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSValidationTrustFileObservation) DeepCopyInto(out *ListenerTLSValidationTrustFileObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSValidationTrustFileObservation. +func (in *ListenerTLSValidationTrustFileObservation) DeepCopy() *ListenerTLSValidationTrustFileObservation { + if in == nil { + return nil + } + out := new(ListenerTLSValidationTrustFileObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSValidationTrustFileParameters) DeepCopyInto(out *ListenerTLSValidationTrustFileParameters) { + *out = *in + if in.CertificateChain != nil { + in, out := &in.CertificateChain, &out.CertificateChain + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSValidationTrustFileParameters. +func (in *ListenerTLSValidationTrustFileParameters) DeepCopy() *ListenerTLSValidationTrustFileParameters { + if in == nil { + return nil + } + out := new(ListenerTLSValidationTrustFileParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSValidationTrustObservation) DeepCopyInto(out *ListenerTLSValidationTrustObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSValidationTrustObservation. +func (in *ListenerTLSValidationTrustObservation) DeepCopy() *ListenerTLSValidationTrustObservation { + if in == nil { + return nil + } + out := new(ListenerTLSValidationTrustObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSValidationTrustParameters) DeepCopyInto(out *ListenerTLSValidationTrustParameters) { + *out = *in + if in.File != nil { + in, out := &in.File, &out.File + *out = make([]ListenerTLSValidationTrustFileParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Sds != nil { + in, out := &in.Sds, &out.Sds + *out = make([]ListenerTLSValidationTrustSdsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSValidationTrustParameters. +func (in *ListenerTLSValidationTrustParameters) DeepCopy() *ListenerTLSValidationTrustParameters { + if in == nil { + return nil + } + out := new(ListenerTLSValidationTrustParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSValidationTrustSdsObservation) DeepCopyInto(out *ListenerTLSValidationTrustSdsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSValidationTrustSdsObservation. +func (in *ListenerTLSValidationTrustSdsObservation) DeepCopy() *ListenerTLSValidationTrustSdsObservation { + if in == nil { + return nil + } + out := new(ListenerTLSValidationTrustSdsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTLSValidationTrustSdsParameters) DeepCopyInto(out *ListenerTLSValidationTrustSdsParameters) { + *out = *in + if in.SecretName != nil { + in, out := &in.SecretName, &out.SecretName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTLSValidationTrustSdsParameters. +func (in *ListenerTLSValidationTrustSdsParameters) DeepCopy() *ListenerTLSValidationTrustSdsParameters { + if in == nil { + return nil + } + out := new(ListenerTLSValidationTrustSdsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTimeoutObservation) DeepCopyInto(out *ListenerTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTimeoutObservation. +func (in *ListenerTimeoutObservation) DeepCopy() *ListenerTimeoutObservation { + if in == nil { + return nil + } + out := new(ListenerTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerTimeoutParameters) DeepCopyInto(out *ListenerTimeoutParameters) { + *out = *in + if in.GRPC != nil { + in, out := &in.GRPC, &out.GRPC + *out = make([]TimeoutGRPCParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HTTP != nil { + in, out := &in.HTTP, &out.HTTP + *out = make([]TimeoutHTTPParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Http2 != nil { + in, out := &in.Http2, &out.Http2 + *out = make([]TimeoutHttp2Parameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TCP != nil { + in, out := &in.TCP, &out.TCP + *out = make([]TimeoutTCPParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerTimeoutParameters. +func (in *ListenerTimeoutParameters) DeepCopy() *ListenerTimeoutParameters { + if in == nil { + return nil + } + out := new(ListenerTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoggingAccessLogFileObservation) DeepCopyInto(out *LoggingAccessLogFileObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingAccessLogFileObservation. +func (in *LoggingAccessLogFileObservation) DeepCopy() *LoggingAccessLogFileObservation { + if in == nil { + return nil + } + out := new(LoggingAccessLogFileObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoggingAccessLogFileParameters) DeepCopyInto(out *LoggingAccessLogFileParameters) { + *out = *in + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingAccessLogFileParameters. +func (in *LoggingAccessLogFileParameters) DeepCopy() *LoggingAccessLogFileParameters { + if in == nil { + return nil + } + out := new(LoggingAccessLogFileParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoggingAccessLogObservation) DeepCopyInto(out *LoggingAccessLogObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingAccessLogObservation. +func (in *LoggingAccessLogObservation) DeepCopy() *LoggingAccessLogObservation { + if in == nil { + return nil + } + out := new(LoggingAccessLogObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoggingAccessLogParameters) DeepCopyInto(out *LoggingAccessLogParameters) { + *out = *in + if in.File != nil { + in, out := &in.File, &out.File + *out = make([]LoggingAccessLogFileParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingAccessLogParameters. +func (in *LoggingAccessLogParameters) DeepCopy() *LoggingAccessLogParameters { + if in == nil { + return nil + } + out := new(LoggingAccessLogParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoggingObservation) DeepCopyInto(out *LoggingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingObservation. +func (in *LoggingObservation) DeepCopy() *LoggingObservation { + if in == nil { + return nil + } + out := new(LoggingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoggingParameters) DeepCopyInto(out *LoggingParameters) { + *out = *in + if in.AccessLog != nil { + in, out := &in.AccessLog, &out.AccessLog + *out = make([]AccessLogParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingParameters. +func (in *LoggingParameters) DeepCopy() *LoggingParameters { + if in == nil { + return nil + } + out := new(LoggingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchHeaderMatchObservation) DeepCopyInto(out *MatchHeaderMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchHeaderMatchObservation. +func (in *MatchHeaderMatchObservation) DeepCopy() *MatchHeaderMatchObservation { + if in == nil { + return nil + } + out := new(MatchHeaderMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchHeaderMatchParameters) DeepCopyInto(out *MatchHeaderMatchParameters) { + *out = *in + if in.Exact != nil { + in, out := &in.Exact, &out.Exact + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } + if in.Range != nil { + in, out := &in.Range, &out.Range + *out = make([]HeaderMatchRangeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Regex != nil { + in, out := &in.Regex, &out.Regex + *out = new(string) + **out = **in + } + if in.Suffix != nil { + in, out := &in.Suffix, &out.Suffix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchHeaderMatchParameters. +func (in *MatchHeaderMatchParameters) DeepCopy() *MatchHeaderMatchParameters { + if in == nil { + return nil + } + out := new(MatchHeaderMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchHeaderObservation) DeepCopyInto(out *MatchHeaderObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchHeaderObservation. +func (in *MatchHeaderObservation) DeepCopy() *MatchHeaderObservation { + if in == nil { + return nil + } + out := new(MatchHeaderObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchHeaderParameters) DeepCopyInto(out *MatchHeaderParameters) { + *out = *in + if in.Invert != nil { + in, out := &in.Invert, &out.Invert + *out = new(bool) + **out = **in + } + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]MatchHeaderMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchHeaderParameters. +func (in *MatchHeaderParameters) DeepCopy() *MatchHeaderParameters { + if in == nil { + return nil + } + out := new(MatchHeaderParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchObservation) DeepCopyInto(out *MatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchObservation. +func (in *MatchObservation) DeepCopy() *MatchObservation { + if in == nil { + return nil + } + out := new(MatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchParameters) DeepCopyInto(out *MatchParameters) { + *out = *in + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchParameters. +func (in *MatchParameters) DeepCopy() *MatchParameters { + if in == nil { + return nil + } + out := new(MatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchRangeObservation) DeepCopyInto(out *MatchRangeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRangeObservation. +func (in *MatchRangeObservation) DeepCopy() *MatchRangeObservation { + if in == nil { + return nil + } + out := new(MatchRangeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchRangeParameters) DeepCopyInto(out *MatchRangeParameters) { + *out = *in + if in.End != nil { + in, out := &in.End, &out.End + *out = new(float64) + **out = **in + } + if in.Start != nil { + in, out := &in.Start, &out.Start + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRangeParameters. +func (in *MatchRangeParameters) DeepCopy() *MatchRangeParameters { + if in == nil { + return nil + } + out := new(MatchRangeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Mesh) DeepCopyInto(out *Mesh) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mesh. +func (in *Mesh) DeepCopy() *Mesh { + if in == nil { + return nil + } + out := new(Mesh) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Mesh) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MeshList) DeepCopyInto(out *MeshList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Mesh, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshList. +func (in *MeshList) DeepCopy() *MeshList { + if in == nil { + return nil + } + out := new(MeshList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MeshList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MeshObservation) DeepCopyInto(out *MeshObservation) { + *out = *in + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.CreatedDate != nil { + in, out := &in.CreatedDate, &out.CreatedDate + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LastUpdatedDate != nil { + in, out := &in.LastUpdatedDate, &out.LastUpdatedDate + *out = new(string) + **out = **in + } + if in.MeshOwner != nil { + in, out := &in.MeshOwner, &out.MeshOwner + *out = new(string) + **out = **in + } + if in.ResourceOwner != nil { + in, out := &in.ResourceOwner, &out.ResourceOwner + *out = new(string) + **out = **in + } + if in.TagsAll != nil { + in, out := &in.TagsAll, &out.TagsAll + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshObservation. +func (in *MeshObservation) DeepCopy() *MeshObservation { + if in == nil { + return nil + } + out := new(MeshObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MeshParameters) DeepCopyInto(out *MeshParameters) { + *out = *in + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Spec != nil { + in, out := &in.Spec, &out.Spec + *out = make([]MeshSpecParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshParameters. +func (in *MeshParameters) DeepCopy() *MeshParameters { + if in == nil { + return nil + } + out := new(MeshParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MeshSpec) DeepCopyInto(out *MeshSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshSpec. +func (in *MeshSpec) DeepCopy() *MeshSpec { + if in == nil { + return nil + } + out := new(MeshSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MeshSpecObservation) DeepCopyInto(out *MeshSpecObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshSpecObservation. +func (in *MeshSpecObservation) DeepCopy() *MeshSpecObservation { + if in == nil { + return nil + } + out := new(MeshSpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MeshSpecParameters) DeepCopyInto(out *MeshSpecParameters) { + *out = *in + if in.EgressFilter != nil { + in, out := &in.EgressFilter, &out.EgressFilter + *out = make([]EgressFilterParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshSpecParameters. +func (in *MeshSpecParameters) DeepCopy() *MeshSpecParameters { + if in == nil { + return nil + } + out := new(MeshSpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MeshStatus) DeepCopyInto(out *MeshStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshStatus. +func (in *MeshStatus) DeepCopy() *MeshStatus { + if in == nil { + return nil + } + out := new(MeshStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetadataMatchObservation) DeepCopyInto(out *MetadataMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataMatchObservation. +func (in *MetadataMatchObservation) DeepCopy() *MetadataMatchObservation { + if in == nil { + return nil + } + out := new(MetadataMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetadataMatchParameters) DeepCopyInto(out *MetadataMatchParameters) { + *out = *in + if in.Exact != nil { + in, out := &in.Exact, &out.Exact + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } + if in.Range != nil { + in, out := &in.Range, &out.Range + *out = make([]RangeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Regex != nil { + in, out := &in.Regex, &out.Regex + *out = new(string) + **out = **in + } + if in.Suffix != nil { + in, out := &in.Suffix, &out.Suffix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataMatchParameters. +func (in *MetadataMatchParameters) DeepCopy() *MetadataMatchParameters { + if in == nil { + return nil + } + out := new(MetadataMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetadataObservation) DeepCopyInto(out *MetadataObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataObservation. +func (in *MetadataObservation) DeepCopy() *MetadataObservation { + if in == nil { + return nil + } + out := new(MetadataObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetadataParameters) DeepCopyInto(out *MetadataParameters) { + *out = *in + if in.Invert != nil { + in, out := &in.Invert, &out.Invert + *out = new(bool) + **out = **in + } + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]MetadataMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataParameters. +func (in *MetadataParameters) DeepCopy() *MetadataParameters { + if in == nil { + return nil + } + out := new(MetadataParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutlierDetectionObservation) DeepCopyInto(out *OutlierDetectionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionObservation. +func (in *OutlierDetectionObservation) DeepCopy() *OutlierDetectionObservation { + if in == nil { + return nil + } + out := new(OutlierDetectionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutlierDetectionParameters) DeepCopyInto(out *OutlierDetectionParameters) { + *out = *in + if in.BaseEjectionDuration != nil { + in, out := &in.BaseEjectionDuration, &out.BaseEjectionDuration + *out = make([]BaseEjectionDurationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Interval != nil { + in, out := &in.Interval, &out.Interval + *out = make([]IntervalParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaxEjectionPercent != nil { + in, out := &in.MaxEjectionPercent, &out.MaxEjectionPercent + *out = new(float64) + **out = **in + } + if in.MaxServerErrors != nil { + in, out := &in.MaxServerErrors, &out.MaxServerErrors + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionParameters. +func (in *OutlierDetectionParameters) DeepCopy() *OutlierDetectionParameters { + if in == nil { + return nil + } + out := new(OutlierDetectionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerRequestObservation) DeepCopyInto(out *PerRequestObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerRequestObservation. +func (in *PerRequestObservation) DeepCopy() *PerRequestObservation { + if in == nil { + return nil + } + out := new(PerRequestObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerRequestParameters) DeepCopyInto(out *PerRequestParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerRequestParameters. +func (in *PerRequestParameters) DeepCopy() *PerRequestParameters { + if in == nil { + return nil + } + out := new(PerRequestParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerRetryTimeoutObservation) DeepCopyInto(out *PerRetryTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerRetryTimeoutObservation. +func (in *PerRetryTimeoutObservation) DeepCopy() *PerRetryTimeoutObservation { + if in == nil { + return nil + } + out := new(PerRetryTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerRetryTimeoutParameters) DeepCopyInto(out *PerRetryTimeoutParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerRetryTimeoutParameters. +func (in *PerRetryTimeoutParameters) DeepCopy() *PerRetryTimeoutParameters { + if in == nil { + return nil + } + out := new(PerRetryTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PortMappingObservation) DeepCopyInto(out *PortMappingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortMappingObservation. +func (in *PortMappingObservation) DeepCopy() *PortMappingObservation { + if in == nil { + return nil + } + out := new(PortMappingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PortMappingParameters) DeepCopyInto(out *PortMappingParameters) { + *out = *in + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(float64) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortMappingParameters. +func (in *PortMappingParameters) DeepCopy() *PortMappingParameters { + if in == nil { + return nil + } + out := new(PortMappingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProviderObservation) DeepCopyInto(out *ProviderObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderObservation. +func (in *ProviderObservation) DeepCopy() *ProviderObservation { + if in == nil { + return nil + } + out := new(ProviderObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProviderParameters) DeepCopyInto(out *ProviderParameters) { + *out = *in + if in.VirtualNode != nil { + in, out := &in.VirtualNode, &out.VirtualNode + *out = make([]ProviderVirtualNodeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VirtualRouter != nil { + in, out := &in.VirtualRouter, &out.VirtualRouter + *out = make([]ProviderVirtualRouterParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderParameters. +func (in *ProviderParameters) DeepCopy() *ProviderParameters { + if in == nil { + return nil + } + out := new(ProviderParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProviderVirtualNodeObservation) DeepCopyInto(out *ProviderVirtualNodeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderVirtualNodeObservation. +func (in *ProviderVirtualNodeObservation) DeepCopy() *ProviderVirtualNodeObservation { + if in == nil { + return nil + } + out := new(ProviderVirtualNodeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProviderVirtualNodeParameters) DeepCopyInto(out *ProviderVirtualNodeParameters) { + *out = *in + if in.VirtualNodeName != nil { + in, out := &in.VirtualNodeName, &out.VirtualNodeName + *out = new(string) + **out = **in + } + if in.VirtualNodeNameRef != nil { + in, out := &in.VirtualNodeNameRef, &out.VirtualNodeNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VirtualNodeNameSelector != nil { + in, out := &in.VirtualNodeNameSelector, &out.VirtualNodeNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderVirtualNodeParameters. +func (in *ProviderVirtualNodeParameters) DeepCopy() *ProviderVirtualNodeParameters { + if in == nil { + return nil + } + out := new(ProviderVirtualNodeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProviderVirtualRouterObservation) DeepCopyInto(out *ProviderVirtualRouterObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderVirtualRouterObservation. +func (in *ProviderVirtualRouterObservation) DeepCopy() *ProviderVirtualRouterObservation { + if in == nil { + return nil + } + out := new(ProviderVirtualRouterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProviderVirtualRouterParameters) DeepCopyInto(out *ProviderVirtualRouterParameters) { + *out = *in + if in.VirtualRouterName != nil { + in, out := &in.VirtualRouterName, &out.VirtualRouterName + *out = new(string) + **out = **in + } + if in.VirtualRouterNameRef != nil { + in, out := &in.VirtualRouterNameRef, &out.VirtualRouterNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VirtualRouterNameSelector != nil { + in, out := &in.VirtualRouterNameSelector, &out.VirtualRouterNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderVirtualRouterParameters. +func (in *ProviderVirtualRouterParameters) DeepCopy() *ProviderVirtualRouterParameters { + if in == nil { + return nil + } + out := new(ProviderVirtualRouterParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RangeObservation) DeepCopyInto(out *RangeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeObservation. +func (in *RangeObservation) DeepCopy() *RangeObservation { + if in == nil { + return nil + } + out := new(RangeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RangeParameters) DeepCopyInto(out *RangeParameters) { + *out = *in + if in.End != nil { + in, out := &in.End, &out.End + *out = new(float64) + **out = **in + } + if in.Start != nil { + in, out := &in.Start, &out.Start + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeParameters. +func (in *RangeParameters) DeepCopy() *RangeParameters { + if in == nil { + return nil + } + out := new(RangeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetryPolicyObservation) DeepCopyInto(out *RetryPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicyObservation. +func (in *RetryPolicyObservation) DeepCopy() *RetryPolicyObservation { + if in == nil { + return nil + } + out := new(RetryPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetryPolicyParameters) DeepCopyInto(out *RetryPolicyParameters) { + *out = *in + if in.GRPCRetryEvents != nil { + in, out := &in.GRPCRetryEvents, &out.GRPCRetryEvents + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.HTTPRetryEvents != nil { + in, out := &in.HTTPRetryEvents, &out.HTTPRetryEvents + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.MaxRetries != nil { + in, out := &in.MaxRetries, &out.MaxRetries + *out = new(float64) + **out = **in + } + if in.PerRetryTimeout != nil { + in, out := &in.PerRetryTimeout, &out.PerRetryTimeout + *out = make([]PerRetryTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TCPRetryEvents != nil { + in, out := &in.TCPRetryEvents, &out.TCPRetryEvents + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicyParameters. +func (in *RetryPolicyParameters) DeepCopy() *RetryPolicyParameters { + if in == nil { + return nil + } + out := new(RetryPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetryPolicyPerRetryTimeoutObservation) DeepCopyInto(out *RetryPolicyPerRetryTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicyPerRetryTimeoutObservation. +func (in *RetryPolicyPerRetryTimeoutObservation) DeepCopy() *RetryPolicyPerRetryTimeoutObservation { + if in == nil { + return nil + } + out := new(RetryPolicyPerRetryTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetryPolicyPerRetryTimeoutParameters) DeepCopyInto(out *RetryPolicyPerRetryTimeoutParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicyPerRetryTimeoutParameters. +func (in *RetryPolicyPerRetryTimeoutParameters) DeepCopy() *RetryPolicyPerRetryTimeoutParameters { + if in == nil { + return nil + } + out := new(RetryPolicyPerRetryTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Route) DeepCopyInto(out *Route) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route. +func (in *Route) DeepCopy() *Route { + if in == nil { + return nil + } + out := new(Route) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Route) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteList) DeepCopyInto(out *RouteList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Route, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteList. +func (in *RouteList) DeepCopy() *RouteList { + if in == nil { + return nil + } + out := new(RouteList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RouteList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteObservation) DeepCopyInto(out *RouteObservation) { + *out = *in + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.CreatedDate != nil { + in, out := &in.CreatedDate, &out.CreatedDate + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LastUpdatedDate != nil { + in, out := &in.LastUpdatedDate, &out.LastUpdatedDate + *out = new(string) + **out = **in + } + if in.ResourceOwner != nil { + in, out := &in.ResourceOwner, &out.ResourceOwner + *out = new(string) + **out = **in + } + if in.TagsAll != nil { + in, out := &in.TagsAll, &out.TagsAll + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteObservation. +func (in *RouteObservation) DeepCopy() *RouteObservation { + if in == nil { + return nil + } + out := new(RouteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteParameters) DeepCopyInto(out *RouteParameters) { + *out = *in + if in.MeshName != nil { + in, out := &in.MeshName, &out.MeshName + *out = new(string) + **out = **in + } + if in.MeshNameRef != nil { + in, out := &in.MeshNameRef, &out.MeshNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.MeshNameSelector != nil { + in, out := &in.MeshNameSelector, &out.MeshNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.MeshOwner != nil { + in, out := &in.MeshOwner, &out.MeshOwner + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Spec != nil { + in, out := &in.Spec, &out.Spec + *out = make([]RouteSpecParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.VirtualRouterName != nil { + in, out := &in.VirtualRouterName, &out.VirtualRouterName + *out = new(string) + **out = **in + } + if in.VirtualRouterNameRef != nil { + in, out := &in.VirtualRouterNameRef, &out.VirtualRouterNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VirtualRouterNameSelector != nil { + in, out := &in.VirtualRouterNameSelector, &out.VirtualRouterNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteParameters. +func (in *RouteParameters) DeepCopy() *RouteParameters { + if in == nil { + return nil + } + out := new(RouteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteSpec) DeepCopyInto(out *RouteSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSpec. +func (in *RouteSpec) DeepCopy() *RouteSpec { + if in == nil { + return nil + } + out := new(RouteSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteSpecObservation) DeepCopyInto(out *RouteSpecObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSpecObservation. +func (in *RouteSpecObservation) DeepCopy() *RouteSpecObservation { + if in == nil { + return nil + } + out := new(RouteSpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteSpecParameters) DeepCopyInto(out *RouteSpecParameters) { + *out = *in + if in.GRPCRoute != nil { + in, out := &in.GRPCRoute, &out.GRPCRoute + *out = make([]SpecGRPCRouteParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HTTPRoute != nil { + in, out := &in.HTTPRoute, &out.HTTPRoute + *out = make([]SpecHTTPRouteParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Http2Route != nil { + in, out := &in.Http2Route, &out.Http2Route + *out = make([]SpecHttp2RouteParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(float64) + **out = **in + } + if in.TCPRoute != nil { + in, out := &in.TCPRoute, &out.TCPRoute + *out = make([]TCPRouteParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSpecParameters. +func (in *RouteSpecParameters) DeepCopy() *RouteSpecParameters { + if in == nil { + return nil + } + out := new(RouteSpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteStatus) DeepCopyInto(out *RouteStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteStatus. +func (in *RouteStatus) DeepCopy() *RouteStatus { + if in == nil { + return nil + } + out := new(RouteStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SdsObservation) DeepCopyInto(out *SdsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SdsObservation. +func (in *SdsObservation) DeepCopy() *SdsObservation { + if in == nil { + return nil + } + out := new(SdsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SdsParameters) DeepCopyInto(out *SdsParameters) { + *out = *in + if in.SecretName != nil { + in, out := &in.SecretName, &out.SecretName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SdsParameters. +func (in *SdsParameters) DeepCopy() *SdsParameters { + if in == nil { + return nil + } + out := new(SdsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceDiscoveryObservation) DeepCopyInto(out *ServiceDiscoveryObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceDiscoveryObservation. +func (in *ServiceDiscoveryObservation) DeepCopy() *ServiceDiscoveryObservation { + if in == nil { + return nil + } + out := new(ServiceDiscoveryObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceDiscoveryParameters) DeepCopyInto(out *ServiceDiscoveryParameters) { + *out = *in + if in.AwsCloudMap != nil { + in, out := &in.AwsCloudMap, &out.AwsCloudMap + *out = make([]AwsCloudMapParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DNS != nil { + in, out := &in.DNS, &out.DNS + *out = make([]DNSParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceDiscoveryParameters. +func (in *ServiceDiscoveryParameters) DeepCopy() *ServiceDiscoveryParameters { + if in == nil { + return nil + } + out := new(ServiceDiscoveryParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecBackendDefaultsObservation) DeepCopyInto(out *SpecBackendDefaultsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecBackendDefaultsObservation. +func (in *SpecBackendDefaultsObservation) DeepCopy() *SpecBackendDefaultsObservation { + if in == nil { + return nil + } + out := new(SpecBackendDefaultsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecBackendDefaultsParameters) DeepCopyInto(out *SpecBackendDefaultsParameters) { + *out = *in + if in.ClientPolicy != nil { + in, out := &in.ClientPolicy, &out.ClientPolicy + *out = make([]BackendDefaultsClientPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecBackendDefaultsParameters. +func (in *SpecBackendDefaultsParameters) DeepCopy() *SpecBackendDefaultsParameters { + if in == nil { + return nil + } + out := new(SpecBackendDefaultsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecGRPCRouteObservation) DeepCopyInto(out *SpecGRPCRouteObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecGRPCRouteObservation. +func (in *SpecGRPCRouteObservation) DeepCopy() *SpecGRPCRouteObservation { + if in == nil { + return nil + } + out := new(SpecGRPCRouteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecGRPCRouteParameters) DeepCopyInto(out *SpecGRPCRouteParameters) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = make([]GRPCRouteActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]GRPCRouteMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryPolicy != nil { + in, out := &in.RetryPolicy, &out.RetryPolicy + *out = make([]RetryPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = make([]TimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecGRPCRouteParameters. +func (in *SpecGRPCRouteParameters) DeepCopy() *SpecGRPCRouteParameters { + if in == nil { + return nil + } + out := new(SpecGRPCRouteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecHTTPRouteActionObservation) DeepCopyInto(out *SpecHTTPRouteActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecHTTPRouteActionObservation. +func (in *SpecHTTPRouteActionObservation) DeepCopy() *SpecHTTPRouteActionObservation { + if in == nil { + return nil + } + out := new(SpecHTTPRouteActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecHTTPRouteActionParameters) DeepCopyInto(out *SpecHTTPRouteActionParameters) { + *out = *in + if in.WeightedTarget != nil { + in, out := &in.WeightedTarget, &out.WeightedTarget + *out = make([]HTTPRouteActionWeightedTargetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecHTTPRouteActionParameters. +func (in *SpecHTTPRouteActionParameters) DeepCopy() *SpecHTTPRouteActionParameters { + if in == nil { + return nil + } + out := new(SpecHTTPRouteActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecHTTPRouteMatchObservation) DeepCopyInto(out *SpecHTTPRouteMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecHTTPRouteMatchObservation. +func (in *SpecHTTPRouteMatchObservation) DeepCopy() *SpecHTTPRouteMatchObservation { + if in == nil { + return nil + } + out := new(SpecHTTPRouteMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecHTTPRouteMatchParameters) DeepCopyInto(out *SpecHTTPRouteMatchParameters) { + *out = *in + if in.Header != nil { + in, out := &in.Header, &out.Header + *out = make([]MatchHeaderParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Method != nil { + in, out := &in.Method, &out.Method + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } + if in.Scheme != nil { + in, out := &in.Scheme, &out.Scheme + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecHTTPRouteMatchParameters. +func (in *SpecHTTPRouteMatchParameters) DeepCopy() *SpecHTTPRouteMatchParameters { + if in == nil { + return nil + } + out := new(SpecHTTPRouteMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecHTTPRouteObservation) DeepCopyInto(out *SpecHTTPRouteObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecHTTPRouteObservation. +func (in *SpecHTTPRouteObservation) DeepCopy() *SpecHTTPRouteObservation { + if in == nil { + return nil + } + out := new(SpecHTTPRouteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecHTTPRouteParameters) DeepCopyInto(out *SpecHTTPRouteParameters) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = make([]SpecHTTPRouteActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]SpecHTTPRouteMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryPolicy != nil { + in, out := &in.RetryPolicy, &out.RetryPolicy + *out = make([]HTTPRouteRetryPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = make([]HTTPRouteTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecHTTPRouteParameters. +func (in *SpecHTTPRouteParameters) DeepCopy() *SpecHTTPRouteParameters { + if in == nil { + return nil + } + out := new(SpecHTTPRouteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecHttp2RouteActionObservation) DeepCopyInto(out *SpecHttp2RouteActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecHttp2RouteActionObservation. +func (in *SpecHttp2RouteActionObservation) DeepCopy() *SpecHttp2RouteActionObservation { + if in == nil { + return nil + } + out := new(SpecHttp2RouteActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecHttp2RouteActionParameters) DeepCopyInto(out *SpecHttp2RouteActionParameters) { + *out = *in + if in.WeightedTarget != nil { + in, out := &in.WeightedTarget, &out.WeightedTarget + *out = make([]ActionWeightedTargetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecHttp2RouteActionParameters. +func (in *SpecHttp2RouteActionParameters) DeepCopy() *SpecHttp2RouteActionParameters { + if in == nil { + return nil + } + out := new(SpecHttp2RouteActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecHttp2RouteMatchObservation) DeepCopyInto(out *SpecHttp2RouteMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecHttp2RouteMatchObservation. +func (in *SpecHttp2RouteMatchObservation) DeepCopy() *SpecHttp2RouteMatchObservation { + if in == nil { + return nil + } + out := new(SpecHttp2RouteMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecHttp2RouteMatchParameters) DeepCopyInto(out *SpecHttp2RouteMatchParameters) { + *out = *in + if in.Header != nil { + in, out := &in.Header, &out.Header + *out = make([]HeaderParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Method != nil { + in, out := &in.Method, &out.Method + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } + if in.Scheme != nil { + in, out := &in.Scheme, &out.Scheme + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecHttp2RouteMatchParameters. +func (in *SpecHttp2RouteMatchParameters) DeepCopy() *SpecHttp2RouteMatchParameters { + if in == nil { + return nil + } + out := new(SpecHttp2RouteMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecHttp2RouteObservation) DeepCopyInto(out *SpecHttp2RouteObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecHttp2RouteObservation. +func (in *SpecHttp2RouteObservation) DeepCopy() *SpecHttp2RouteObservation { + if in == nil { + return nil + } + out := new(SpecHttp2RouteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecHttp2RouteParameters) DeepCopyInto(out *SpecHttp2RouteParameters) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = make([]SpecHttp2RouteActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]SpecHttp2RouteMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryPolicy != nil { + in, out := &in.RetryPolicy, &out.RetryPolicy + *out = make([]Http2RouteRetryPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = make([]Http2RouteTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecHttp2RouteParameters. +func (in *SpecHttp2RouteParameters) DeepCopy() *SpecHttp2RouteParameters { + if in == nil { + return nil + } + out := new(SpecHttp2RouteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecListenerObservation) DeepCopyInto(out *SpecListenerObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecListenerObservation. +func (in *SpecListenerObservation) DeepCopy() *SpecListenerObservation { + if in == nil { + return nil + } + out := new(SpecListenerObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecListenerParameters) DeepCopyInto(out *SpecListenerParameters) { + *out = *in + if in.ConnectionPool != nil { + in, out := &in.ConnectionPool, &out.ConnectionPool + *out = make([]ListenerConnectionPoolParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HealthCheck != nil { + in, out := &in.HealthCheck, &out.HealthCheck + *out = make([]ListenerHealthCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OutlierDetection != nil { + in, out := &in.OutlierDetection, &out.OutlierDetection + *out = make([]OutlierDetectionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PortMapping != nil { + in, out := &in.PortMapping, &out.PortMapping + *out = make([]ListenerPortMappingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = make([]SpecListenerTLSParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = make([]ListenerTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecListenerParameters. +func (in *SpecListenerParameters) DeepCopy() *SpecListenerParameters { + if in == nil { + return nil + } + out := new(SpecListenerParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecListenerPortMappingObservation) DeepCopyInto(out *SpecListenerPortMappingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecListenerPortMappingObservation. +func (in *SpecListenerPortMappingObservation) DeepCopy() *SpecListenerPortMappingObservation { + if in == nil { + return nil + } + out := new(SpecListenerPortMappingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecListenerPortMappingParameters) DeepCopyInto(out *SpecListenerPortMappingParameters) { + *out = *in + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(float64) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecListenerPortMappingParameters. +func (in *SpecListenerPortMappingParameters) DeepCopy() *SpecListenerPortMappingParameters { + if in == nil { + return nil + } + out := new(SpecListenerPortMappingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecListenerTLSObservation) DeepCopyInto(out *SpecListenerTLSObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecListenerTLSObservation. +func (in *SpecListenerTLSObservation) DeepCopy() *SpecListenerTLSObservation { + if in == nil { + return nil + } + out := new(SpecListenerTLSObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecListenerTLSParameters) DeepCopyInto(out *SpecListenerTLSParameters) { + *out = *in + if in.Certificate != nil { + in, out := &in.Certificate, &out.Certificate + *out = make([]ListenerTLSCertificateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = make([]ListenerTLSValidationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecListenerTLSParameters. +func (in *SpecListenerTLSParameters) DeepCopy() *SpecListenerTLSParameters { + if in == nil { + return nil + } + out := new(SpecListenerTLSParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecLoggingObservation) DeepCopyInto(out *SpecLoggingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecLoggingObservation. +func (in *SpecLoggingObservation) DeepCopy() *SpecLoggingObservation { + if in == nil { + return nil + } + out := new(SpecLoggingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecLoggingParameters) DeepCopyInto(out *SpecLoggingParameters) { + *out = *in + if in.AccessLog != nil { + in, out := &in.AccessLog, &out.AccessLog + *out = make([]LoggingAccessLogParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecLoggingParameters. +func (in *SpecLoggingParameters) DeepCopy() *SpecLoggingParameters { + if in == nil { + return nil + } + out := new(SpecLoggingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecObservation) DeepCopyInto(out *SpecObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecObservation. +func (in *SpecObservation) DeepCopy() *SpecObservation { + if in == nil { + return nil + } + out := new(SpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecParameters) DeepCopyInto(out *SpecParameters) { + *out = *in + if in.GRPCRoute != nil { + in, out := &in.GRPCRoute, &out.GRPCRoute + *out = make([]GRPCRouteParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HTTPRoute != nil { + in, out := &in.HTTPRoute, &out.HTTPRoute + *out = make([]HTTPRouteParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Http2Route != nil { + in, out := &in.Http2Route, &out.Http2Route + *out = make([]Http2RouteParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecParameters. +func (in *SpecParameters) DeepCopy() *SpecParameters { + if in == nil { + return nil + } + out := new(SpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectAlternativeNamesMatchObservation) DeepCopyInto(out *SubjectAlternativeNamesMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectAlternativeNamesMatchObservation. +func (in *SubjectAlternativeNamesMatchObservation) DeepCopy() *SubjectAlternativeNamesMatchObservation { + if in == nil { + return nil + } + out := new(SubjectAlternativeNamesMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectAlternativeNamesMatchParameters) DeepCopyInto(out *SubjectAlternativeNamesMatchParameters) { + *out = *in + if in.Exact != nil { + in, out := &in.Exact, &out.Exact + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectAlternativeNamesMatchParameters. +func (in *SubjectAlternativeNamesMatchParameters) DeepCopy() *SubjectAlternativeNamesMatchParameters { + if in == nil { + return nil + } + out := new(SubjectAlternativeNamesMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectAlternativeNamesObservation) DeepCopyInto(out *SubjectAlternativeNamesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectAlternativeNamesObservation. +func (in *SubjectAlternativeNamesObservation) DeepCopy() *SubjectAlternativeNamesObservation { + if in == nil { + return nil + } + out := new(SubjectAlternativeNamesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectAlternativeNamesParameters) DeepCopyInto(out *SubjectAlternativeNamesParameters) { + *out = *in + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]SubjectAlternativeNamesMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectAlternativeNamesParameters. +func (in *SubjectAlternativeNamesParameters) DeepCopy() *SubjectAlternativeNamesParameters { + if in == nil { + return nil + } + out := new(SubjectAlternativeNamesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPIdleObservation) DeepCopyInto(out *TCPIdleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPIdleObservation. +func (in *TCPIdleObservation) DeepCopy() *TCPIdleObservation { + if in == nil { + return nil + } + out := new(TCPIdleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPIdleParameters) DeepCopyInto(out *TCPIdleParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPIdleParameters. +func (in *TCPIdleParameters) DeepCopy() *TCPIdleParameters { + if in == nil { + return nil + } + out := new(TCPIdleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPObservation) DeepCopyInto(out *TCPObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPObservation. +func (in *TCPObservation) DeepCopy() *TCPObservation { + if in == nil { + return nil + } + out := new(TCPObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPParameters) DeepCopyInto(out *TCPParameters) { + *out = *in + if in.MaxConnections != nil { + in, out := &in.MaxConnections, &out.MaxConnections + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPParameters. +func (in *TCPParameters) DeepCopy() *TCPParameters { + if in == nil { + return nil + } + out := new(TCPParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPRouteActionObservation) DeepCopyInto(out *TCPRouteActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouteActionObservation. +func (in *TCPRouteActionObservation) DeepCopy() *TCPRouteActionObservation { + if in == nil { + return nil + } + out := new(TCPRouteActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPRouteActionParameters) DeepCopyInto(out *TCPRouteActionParameters) { + *out = *in + if in.WeightedTarget != nil { + in, out := &in.WeightedTarget, &out.WeightedTarget + *out = make([]TCPRouteActionWeightedTargetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouteActionParameters. +func (in *TCPRouteActionParameters) DeepCopy() *TCPRouteActionParameters { + if in == nil { + return nil + } + out := new(TCPRouteActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPRouteActionWeightedTargetObservation) DeepCopyInto(out *TCPRouteActionWeightedTargetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouteActionWeightedTargetObservation. +func (in *TCPRouteActionWeightedTargetObservation) DeepCopy() *TCPRouteActionWeightedTargetObservation { + if in == nil { + return nil + } + out := new(TCPRouteActionWeightedTargetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPRouteActionWeightedTargetParameters) DeepCopyInto(out *TCPRouteActionWeightedTargetParameters) { + *out = *in + if in.VirtualNode != nil { + in, out := &in.VirtualNode, &out.VirtualNode + *out = new(string) + **out = **in + } + if in.VirtualNodeRef != nil { + in, out := &in.VirtualNodeRef, &out.VirtualNodeRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VirtualNodeSelector != nil { + in, out := &in.VirtualNodeSelector, &out.VirtualNodeSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouteActionWeightedTargetParameters. +func (in *TCPRouteActionWeightedTargetParameters) DeepCopy() *TCPRouteActionWeightedTargetParameters { + if in == nil { + return nil + } + out := new(TCPRouteActionWeightedTargetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPRouteObservation) DeepCopyInto(out *TCPRouteObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouteObservation. +func (in *TCPRouteObservation) DeepCopy() *TCPRouteObservation { + if in == nil { + return nil + } + out := new(TCPRouteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPRouteParameters) DeepCopyInto(out *TCPRouteParameters) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = make([]TCPRouteActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = make([]TCPRouteTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouteParameters. +func (in *TCPRouteParameters) DeepCopy() *TCPRouteParameters { + if in == nil { + return nil + } + out := new(TCPRouteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPRouteTimeoutIdleObservation) DeepCopyInto(out *TCPRouteTimeoutIdleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouteTimeoutIdleObservation. +func (in *TCPRouteTimeoutIdleObservation) DeepCopy() *TCPRouteTimeoutIdleObservation { + if in == nil { + return nil + } + out := new(TCPRouteTimeoutIdleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPRouteTimeoutIdleParameters) DeepCopyInto(out *TCPRouteTimeoutIdleParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouteTimeoutIdleParameters. +func (in *TCPRouteTimeoutIdleParameters) DeepCopy() *TCPRouteTimeoutIdleParameters { + if in == nil { + return nil + } + out := new(TCPRouteTimeoutIdleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPRouteTimeoutObservation) DeepCopyInto(out *TCPRouteTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouteTimeoutObservation. +func (in *TCPRouteTimeoutObservation) DeepCopy() *TCPRouteTimeoutObservation { + if in == nil { + return nil + } + out := new(TCPRouteTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPRouteTimeoutParameters) DeepCopyInto(out *TCPRouteTimeoutParameters) { + *out = *in + if in.Idle != nil { + in, out := &in.Idle, &out.Idle + *out = make([]TCPRouteTimeoutIdleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouteTimeoutParameters. +func (in *TCPRouteTimeoutParameters) DeepCopy() *TCPRouteTimeoutParameters { + if in == nil { + return nil + } + out := new(TCPRouteTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSCertificateAcmObservation) DeepCopyInto(out *TLSCertificateAcmObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCertificateAcmObservation. +func (in *TLSCertificateAcmObservation) DeepCopy() *TLSCertificateAcmObservation { + if in == nil { + return nil + } + out := new(TLSCertificateAcmObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSCertificateAcmParameters) DeepCopyInto(out *TLSCertificateAcmParameters) { + *out = *in + if in.CertificateArn != nil { + in, out := &in.CertificateArn, &out.CertificateArn + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCertificateAcmParameters. +func (in *TLSCertificateAcmParameters) DeepCopy() *TLSCertificateAcmParameters { + if in == nil { + return nil + } + out := new(TLSCertificateAcmParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSCertificateFileObservation) DeepCopyInto(out *TLSCertificateFileObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCertificateFileObservation. +func (in *TLSCertificateFileObservation) DeepCopy() *TLSCertificateFileObservation { + if in == nil { + return nil + } + out := new(TLSCertificateFileObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSCertificateFileParameters) DeepCopyInto(out *TLSCertificateFileParameters) { + *out = *in + if in.CertificateChain != nil { + in, out := &in.CertificateChain, &out.CertificateChain + *out = new(string) + **out = **in + } + if in.PrivateKey != nil { + in, out := &in.PrivateKey, &out.PrivateKey + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCertificateFileParameters. +func (in *TLSCertificateFileParameters) DeepCopy() *TLSCertificateFileParameters { + if in == nil { + return nil + } + out := new(TLSCertificateFileParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSCertificateObservation) DeepCopyInto(out *TLSCertificateObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCertificateObservation. +func (in *TLSCertificateObservation) DeepCopy() *TLSCertificateObservation { + if in == nil { + return nil + } + out := new(TLSCertificateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSCertificateParameters) DeepCopyInto(out *TLSCertificateParameters) { + *out = *in + if in.Acm != nil { + in, out := &in.Acm, &out.Acm + *out = make([]CertificateAcmParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.File != nil { + in, out := &in.File, &out.File + *out = make([]CertificateFileParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Sds != nil { + in, out := &in.Sds, &out.Sds + *out = make([]CertificateSdsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCertificateParameters. +func (in *TLSCertificateParameters) DeepCopy() *TLSCertificateParameters { + if in == nil { + return nil + } + out := new(TLSCertificateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSCertificateSdsObservation) DeepCopyInto(out *TLSCertificateSdsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCertificateSdsObservation. +func (in *TLSCertificateSdsObservation) DeepCopy() *TLSCertificateSdsObservation { + if in == nil { + return nil + } + out := new(TLSCertificateSdsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSCertificateSdsParameters) DeepCopyInto(out *TLSCertificateSdsParameters) { + *out = *in + if in.SecretName != nil { + in, out := &in.SecretName, &out.SecretName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCertificateSdsParameters. +func (in *TLSCertificateSdsParameters) DeepCopy() *TLSCertificateSdsParameters { + if in == nil { + return nil + } + out := new(TLSCertificateSdsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSObservation) DeepCopyInto(out *TLSObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSObservation. +func (in *TLSObservation) DeepCopy() *TLSObservation { + if in == nil { + return nil + } + out := new(TLSObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSParameters) DeepCopyInto(out *TLSParameters) { + *out = *in + if in.Certificate != nil { + in, out := &in.Certificate, &out.Certificate + *out = make([]CertificateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Enforce != nil { + in, out := &in.Enforce, &out.Enforce + *out = new(bool) + **out = **in + } + if in.Ports != nil { + in, out := &in.Ports, &out.Ports + *out = make([]*float64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(float64) + **out = **in + } + } + } + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = make([]ValidationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSParameters. +func (in *TLSParameters) DeepCopy() *TLSParameters { + if in == nil { + return nil + } + out := new(TLSParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSValidationObservation) DeepCopyInto(out *TLSValidationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSValidationObservation. +func (in *TLSValidationObservation) DeepCopy() *TLSValidationObservation { + if in == nil { + return nil + } + out := new(TLSValidationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSValidationParameters) DeepCopyInto(out *TLSValidationParameters) { + *out = *in + if in.SubjectAlternativeNames != nil { + in, out := &in.SubjectAlternativeNames, &out.SubjectAlternativeNames + *out = make([]ValidationSubjectAlternativeNamesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Trust != nil { + in, out := &in.Trust, &out.Trust + *out = make([]ValidationTrustParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSValidationParameters. +func (in *TLSValidationParameters) DeepCopy() *TLSValidationParameters { + if in == nil { + return nil + } + out := new(TLSValidationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSValidationSubjectAlternativeNamesMatchObservation) DeepCopyInto(out *TLSValidationSubjectAlternativeNamesMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSValidationSubjectAlternativeNamesMatchObservation. +func (in *TLSValidationSubjectAlternativeNamesMatchObservation) DeepCopy() *TLSValidationSubjectAlternativeNamesMatchObservation { + if in == nil { + return nil + } + out := new(TLSValidationSubjectAlternativeNamesMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSValidationSubjectAlternativeNamesMatchParameters) DeepCopyInto(out *TLSValidationSubjectAlternativeNamesMatchParameters) { + *out = *in + if in.Exact != nil { + in, out := &in.Exact, &out.Exact + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSValidationSubjectAlternativeNamesMatchParameters. +func (in *TLSValidationSubjectAlternativeNamesMatchParameters) DeepCopy() *TLSValidationSubjectAlternativeNamesMatchParameters { + if in == nil { + return nil + } + out := new(TLSValidationSubjectAlternativeNamesMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSValidationSubjectAlternativeNamesObservation) DeepCopyInto(out *TLSValidationSubjectAlternativeNamesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSValidationSubjectAlternativeNamesObservation. +func (in *TLSValidationSubjectAlternativeNamesObservation) DeepCopy() *TLSValidationSubjectAlternativeNamesObservation { + if in == nil { + return nil + } + out := new(TLSValidationSubjectAlternativeNamesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSValidationSubjectAlternativeNamesParameters) DeepCopyInto(out *TLSValidationSubjectAlternativeNamesParameters) { + *out = *in + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]TLSValidationSubjectAlternativeNamesMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSValidationSubjectAlternativeNamesParameters. +func (in *TLSValidationSubjectAlternativeNamesParameters) DeepCopy() *TLSValidationSubjectAlternativeNamesParameters { + if in == nil { + return nil + } + out := new(TLSValidationSubjectAlternativeNamesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSValidationTrustFileObservation) DeepCopyInto(out *TLSValidationTrustFileObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSValidationTrustFileObservation. +func (in *TLSValidationTrustFileObservation) DeepCopy() *TLSValidationTrustFileObservation { + if in == nil { + return nil + } + out := new(TLSValidationTrustFileObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSValidationTrustFileParameters) DeepCopyInto(out *TLSValidationTrustFileParameters) { + *out = *in + if in.CertificateChain != nil { + in, out := &in.CertificateChain, &out.CertificateChain + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSValidationTrustFileParameters. +func (in *TLSValidationTrustFileParameters) DeepCopy() *TLSValidationTrustFileParameters { + if in == nil { + return nil + } + out := new(TLSValidationTrustFileParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSValidationTrustObservation) DeepCopyInto(out *TLSValidationTrustObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSValidationTrustObservation. +func (in *TLSValidationTrustObservation) DeepCopy() *TLSValidationTrustObservation { + if in == nil { + return nil + } + out := new(TLSValidationTrustObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSValidationTrustParameters) DeepCopyInto(out *TLSValidationTrustParameters) { + *out = *in + if in.Acm != nil { + in, out := &in.Acm, &out.Acm + *out = make([]TrustAcmParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.File != nil { + in, out := &in.File, &out.File + *out = make([]TLSValidationTrustFileParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Sds != nil { + in, out := &in.Sds, &out.Sds + *out = make([]TLSValidationTrustSdsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSValidationTrustParameters. +func (in *TLSValidationTrustParameters) DeepCopy() *TLSValidationTrustParameters { + if in == nil { + return nil + } + out := new(TLSValidationTrustParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSValidationTrustSdsObservation) DeepCopyInto(out *TLSValidationTrustSdsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSValidationTrustSdsObservation. +func (in *TLSValidationTrustSdsObservation) DeepCopy() *TLSValidationTrustSdsObservation { + if in == nil { + return nil + } + out := new(TLSValidationTrustSdsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSValidationTrustSdsParameters) DeepCopyInto(out *TLSValidationTrustSdsParameters) { + *out = *in + if in.SecretName != nil { + in, out := &in.SecretName, &out.SecretName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSValidationTrustSdsParameters. +func (in *TLSValidationTrustSdsParameters) DeepCopy() *TLSValidationTrustSdsParameters { + if in == nil { + return nil + } + out := new(TLSValidationTrustSdsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetObservation) DeepCopyInto(out *TargetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetObservation. +func (in *TargetObservation) DeepCopy() *TargetObservation { + if in == nil { + return nil + } + out := new(TargetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetParameters) DeepCopyInto(out *TargetParameters) { + *out = *in + if in.VirtualService != nil { + in, out := &in.VirtualService, &out.VirtualService + *out = make([]VirtualServiceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetParameters. +func (in *TargetParameters) DeepCopy() *TargetParameters { + if in == nil { + return nil + } + out := new(TargetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetVirtualServiceObservation) DeepCopyInto(out *TargetVirtualServiceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetVirtualServiceObservation. +func (in *TargetVirtualServiceObservation) DeepCopy() *TargetVirtualServiceObservation { + if in == nil { + return nil + } + out := new(TargetVirtualServiceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetVirtualServiceParameters) DeepCopyInto(out *TargetVirtualServiceParameters) { + *out = *in + if in.VirtualServiceName != nil { + in, out := &in.VirtualServiceName, &out.VirtualServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetVirtualServiceParameters. +func (in *TargetVirtualServiceParameters) DeepCopy() *TargetVirtualServiceParameters { + if in == nil { + return nil + } + out := new(TargetVirtualServiceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutGRPCObservation) DeepCopyInto(out *TimeoutGRPCObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutGRPCObservation. +func (in *TimeoutGRPCObservation) DeepCopy() *TimeoutGRPCObservation { + if in == nil { + return nil + } + out := new(TimeoutGRPCObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutGRPCParameters) DeepCopyInto(out *TimeoutGRPCParameters) { + *out = *in + if in.Idle != nil { + in, out := &in.Idle, &out.Idle + *out = make([]GRPCIdleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PerRequest != nil { + in, out := &in.PerRequest, &out.PerRequest + *out = make([]GRPCPerRequestParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutGRPCParameters. +func (in *TimeoutGRPCParameters) DeepCopy() *TimeoutGRPCParameters { + if in == nil { + return nil + } + out := new(TimeoutGRPCParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutHTTPObservation) DeepCopyInto(out *TimeoutHTTPObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutHTTPObservation. +func (in *TimeoutHTTPObservation) DeepCopy() *TimeoutHTTPObservation { + if in == nil { + return nil + } + out := new(TimeoutHTTPObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutHTTPParameters) DeepCopyInto(out *TimeoutHTTPParameters) { + *out = *in + if in.Idle != nil { + in, out := &in.Idle, &out.Idle + *out = make([]HTTPIdleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PerRequest != nil { + in, out := &in.PerRequest, &out.PerRequest + *out = make([]HTTPPerRequestParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutHTTPParameters. +func (in *TimeoutHTTPParameters) DeepCopy() *TimeoutHTTPParameters { + if in == nil { + return nil + } + out := new(TimeoutHTTPParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutHttp2Observation) DeepCopyInto(out *TimeoutHttp2Observation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutHttp2Observation. +func (in *TimeoutHttp2Observation) DeepCopy() *TimeoutHttp2Observation { + if in == nil { + return nil + } + out := new(TimeoutHttp2Observation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutHttp2Parameters) DeepCopyInto(out *TimeoutHttp2Parameters) { + *out = *in + if in.Idle != nil { + in, out := &in.Idle, &out.Idle + *out = make([]Http2IdleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PerRequest != nil { + in, out := &in.PerRequest, &out.PerRequest + *out = make([]Http2PerRequestParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutHttp2Parameters. +func (in *TimeoutHttp2Parameters) DeepCopy() *TimeoutHttp2Parameters { + if in == nil { + return nil + } + out := new(TimeoutHttp2Parameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutIdleObservation) DeepCopyInto(out *TimeoutIdleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutIdleObservation. +func (in *TimeoutIdleObservation) DeepCopy() *TimeoutIdleObservation { + if in == nil { + return nil + } + out := new(TimeoutIdleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutIdleParameters) DeepCopyInto(out *TimeoutIdleParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutIdleParameters. +func (in *TimeoutIdleParameters) DeepCopy() *TimeoutIdleParameters { + if in == nil { + return nil + } + out := new(TimeoutIdleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutObservation) DeepCopyInto(out *TimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutObservation. +func (in *TimeoutObservation) DeepCopy() *TimeoutObservation { + if in == nil { + return nil + } + out := new(TimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutParameters) DeepCopyInto(out *TimeoutParameters) { + *out = *in + if in.Idle != nil { + in, out := &in.Idle, &out.Idle + *out = make([]IdleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PerRequest != nil { + in, out := &in.PerRequest, &out.PerRequest + *out = make([]PerRequestParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutParameters. +func (in *TimeoutParameters) DeepCopy() *TimeoutParameters { + if in == nil { + return nil + } + out := new(TimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutPerRequestObservation) DeepCopyInto(out *TimeoutPerRequestObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutPerRequestObservation. +func (in *TimeoutPerRequestObservation) DeepCopy() *TimeoutPerRequestObservation { + if in == nil { + return nil + } + out := new(TimeoutPerRequestObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutPerRequestParameters) DeepCopyInto(out *TimeoutPerRequestParameters) { + *out = *in + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutPerRequestParameters. +func (in *TimeoutPerRequestParameters) DeepCopy() *TimeoutPerRequestParameters { + if in == nil { + return nil + } + out := new(TimeoutPerRequestParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutTCPObservation) DeepCopyInto(out *TimeoutTCPObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutTCPObservation. +func (in *TimeoutTCPObservation) DeepCopy() *TimeoutTCPObservation { + if in == nil { + return nil + } + out := new(TimeoutTCPObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutTCPParameters) DeepCopyInto(out *TimeoutTCPParameters) { + *out = *in + if in.Idle != nil { + in, out := &in.Idle, &out.Idle + *out = make([]TCPIdleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutTCPParameters. +func (in *TimeoutTCPParameters) DeepCopy() *TimeoutTCPParameters { + if in == nil { + return nil + } + out := new(TimeoutTCPParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustAcmObservation) DeepCopyInto(out *TrustAcmObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustAcmObservation. +func (in *TrustAcmObservation) DeepCopy() *TrustAcmObservation { + if in == nil { + return nil + } + out := new(TrustAcmObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustAcmParameters) DeepCopyInto(out *TrustAcmParameters) { + *out = *in + if in.CertificateAuthorityArns != nil { + in, out := &in.CertificateAuthorityArns, &out.CertificateAuthorityArns + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustAcmParameters. +func (in *TrustAcmParameters) DeepCopy() *TrustAcmParameters { + if in == nil { + return nil + } + out := new(TrustAcmParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustFileObservation) DeepCopyInto(out *TrustFileObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustFileObservation. +func (in *TrustFileObservation) DeepCopy() *TrustFileObservation { + if in == nil { + return nil + } + out := new(TrustFileObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustFileParameters) DeepCopyInto(out *TrustFileParameters) { + *out = *in + if in.CertificateChain != nil { + in, out := &in.CertificateChain, &out.CertificateChain + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustFileParameters. +func (in *TrustFileParameters) DeepCopy() *TrustFileParameters { + if in == nil { + return nil + } + out := new(TrustFileParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustObservation) DeepCopyInto(out *TrustObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustObservation. +func (in *TrustObservation) DeepCopy() *TrustObservation { + if in == nil { + return nil + } + out := new(TrustObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustParameters) DeepCopyInto(out *TrustParameters) { + *out = *in + if in.Acm != nil { + in, out := &in.Acm, &out.Acm + *out = make([]AcmParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.File != nil { + in, out := &in.File, &out.File + *out = make([]TrustFileParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Sds != nil { + in, out := &in.Sds, &out.Sds + *out = make([]TrustSdsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustParameters. +func (in *TrustParameters) DeepCopy() *TrustParameters { + if in == nil { + return nil + } + out := new(TrustParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustSdsObservation) DeepCopyInto(out *TrustSdsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustSdsObservation. +func (in *TrustSdsObservation) DeepCopy() *TrustSdsObservation { + if in == nil { + return nil + } + out := new(TrustSdsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustSdsParameters) DeepCopyInto(out *TrustSdsParameters) { + *out = *in + if in.SecretName != nil { + in, out := &in.SecretName, &out.SecretName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustSdsParameters. +func (in *TrustSdsParameters) DeepCopy() *TrustSdsParameters { + if in == nil { + return nil + } + out := new(TrustSdsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationObservation) DeepCopyInto(out *ValidationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationObservation. +func (in *ValidationObservation) DeepCopy() *ValidationObservation { + if in == nil { + return nil + } + out := new(ValidationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationParameters) DeepCopyInto(out *ValidationParameters) { + *out = *in + if in.SubjectAlternativeNames != nil { + in, out := &in.SubjectAlternativeNames, &out.SubjectAlternativeNames + *out = make([]SubjectAlternativeNamesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Trust != nil { + in, out := &in.Trust, &out.Trust + *out = make([]TrustParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationParameters. +func (in *ValidationParameters) DeepCopy() *ValidationParameters { + if in == nil { + return nil + } + out := new(ValidationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationSubjectAlternativeNamesMatchObservation) DeepCopyInto(out *ValidationSubjectAlternativeNamesMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationSubjectAlternativeNamesMatchObservation. +func (in *ValidationSubjectAlternativeNamesMatchObservation) DeepCopy() *ValidationSubjectAlternativeNamesMatchObservation { + if in == nil { + return nil + } + out := new(ValidationSubjectAlternativeNamesMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationSubjectAlternativeNamesMatchParameters) DeepCopyInto(out *ValidationSubjectAlternativeNamesMatchParameters) { + *out = *in + if in.Exact != nil { + in, out := &in.Exact, &out.Exact + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationSubjectAlternativeNamesMatchParameters. +func (in *ValidationSubjectAlternativeNamesMatchParameters) DeepCopy() *ValidationSubjectAlternativeNamesMatchParameters { + if in == nil { + return nil + } + out := new(ValidationSubjectAlternativeNamesMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationSubjectAlternativeNamesObservation) DeepCopyInto(out *ValidationSubjectAlternativeNamesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationSubjectAlternativeNamesObservation. +func (in *ValidationSubjectAlternativeNamesObservation) DeepCopy() *ValidationSubjectAlternativeNamesObservation { + if in == nil { + return nil + } + out := new(ValidationSubjectAlternativeNamesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationSubjectAlternativeNamesParameters) DeepCopyInto(out *ValidationSubjectAlternativeNamesParameters) { + *out = *in + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]ValidationSubjectAlternativeNamesMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationSubjectAlternativeNamesParameters. +func (in *ValidationSubjectAlternativeNamesParameters) DeepCopy() *ValidationSubjectAlternativeNamesParameters { + if in == nil { + return nil + } + out := new(ValidationSubjectAlternativeNamesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationTrustAcmObservation) DeepCopyInto(out *ValidationTrustAcmObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationTrustAcmObservation. +func (in *ValidationTrustAcmObservation) DeepCopy() *ValidationTrustAcmObservation { + if in == nil { + return nil + } + out := new(ValidationTrustAcmObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationTrustAcmParameters) DeepCopyInto(out *ValidationTrustAcmParameters) { + *out = *in + if in.CertificateAuthorityArns != nil { + in, out := &in.CertificateAuthorityArns, &out.CertificateAuthorityArns + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationTrustAcmParameters. +func (in *ValidationTrustAcmParameters) DeepCopy() *ValidationTrustAcmParameters { + if in == nil { + return nil + } + out := new(ValidationTrustAcmParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationTrustFileObservation) DeepCopyInto(out *ValidationTrustFileObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationTrustFileObservation. +func (in *ValidationTrustFileObservation) DeepCopy() *ValidationTrustFileObservation { + if in == nil { + return nil + } + out := new(ValidationTrustFileObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationTrustFileParameters) DeepCopyInto(out *ValidationTrustFileParameters) { + *out = *in + if in.CertificateChain != nil { + in, out := &in.CertificateChain, &out.CertificateChain + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationTrustFileParameters. +func (in *ValidationTrustFileParameters) DeepCopy() *ValidationTrustFileParameters { + if in == nil { + return nil + } + out := new(ValidationTrustFileParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationTrustObservation) DeepCopyInto(out *ValidationTrustObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationTrustObservation. +func (in *ValidationTrustObservation) DeepCopy() *ValidationTrustObservation { + if in == nil { + return nil + } + out := new(ValidationTrustObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationTrustParameters) DeepCopyInto(out *ValidationTrustParameters) { + *out = *in + if in.File != nil { + in, out := &in.File, &out.File + *out = make([]ValidationTrustFileParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Sds != nil { + in, out := &in.Sds, &out.Sds + *out = make([]ValidationTrustSdsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationTrustParameters. +func (in *ValidationTrustParameters) DeepCopy() *ValidationTrustParameters { + if in == nil { + return nil + } + out := new(ValidationTrustParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationTrustSdsObservation) DeepCopyInto(out *ValidationTrustSdsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationTrustSdsObservation. +func (in *ValidationTrustSdsObservation) DeepCopy() *ValidationTrustSdsObservation { + if in == nil { + return nil + } + out := new(ValidationTrustSdsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationTrustSdsParameters) DeepCopyInto(out *ValidationTrustSdsParameters) { + *out = *in + if in.SecretName != nil { + in, out := &in.SecretName, &out.SecretName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationTrustSdsParameters. +func (in *ValidationTrustSdsParameters) DeepCopy() *ValidationTrustSdsParameters { + if in == nil { + return nil + } + out := new(ValidationTrustSdsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualGateway) DeepCopyInto(out *VirtualGateway) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualGateway. +func (in *VirtualGateway) DeepCopy() *VirtualGateway { + if in == nil { + return nil + } + out := new(VirtualGateway) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *VirtualGateway) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualGatewayList) DeepCopyInto(out *VirtualGatewayList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]VirtualGateway, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualGatewayList. +func (in *VirtualGatewayList) DeepCopy() *VirtualGatewayList { + if in == nil { + return nil + } + out := new(VirtualGatewayList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *VirtualGatewayList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualGatewayObservation) DeepCopyInto(out *VirtualGatewayObservation) { + *out = *in + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.CreatedDate != nil { + in, out := &in.CreatedDate, &out.CreatedDate + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LastUpdatedDate != nil { + in, out := &in.LastUpdatedDate, &out.LastUpdatedDate + *out = new(string) + **out = **in + } + if in.ResourceOwner != nil { + in, out := &in.ResourceOwner, &out.ResourceOwner + *out = new(string) + **out = **in + } + if in.TagsAll != nil { + in, out := &in.TagsAll, &out.TagsAll + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualGatewayObservation. +func (in *VirtualGatewayObservation) DeepCopy() *VirtualGatewayObservation { + if in == nil { + return nil + } + out := new(VirtualGatewayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualGatewayParameters) DeepCopyInto(out *VirtualGatewayParameters) { + *out = *in + if in.MeshName != nil { + in, out := &in.MeshName, &out.MeshName + *out = new(string) + **out = **in + } + if in.MeshOwner != nil { + in, out := &in.MeshOwner, &out.MeshOwner + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Spec != nil { + in, out := &in.Spec, &out.Spec + *out = make([]VirtualGatewaySpecParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualGatewayParameters. +func (in *VirtualGatewayParameters) DeepCopy() *VirtualGatewayParameters { + if in == nil { + return nil + } + out := new(VirtualGatewayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualGatewaySpec) DeepCopyInto(out *VirtualGatewaySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualGatewaySpec. +func (in *VirtualGatewaySpec) DeepCopy() *VirtualGatewaySpec { + if in == nil { + return nil + } + out := new(VirtualGatewaySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualGatewaySpecObservation) DeepCopyInto(out *VirtualGatewaySpecObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualGatewaySpecObservation. +func (in *VirtualGatewaySpecObservation) DeepCopy() *VirtualGatewaySpecObservation { + if in == nil { + return nil + } + out := new(VirtualGatewaySpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualGatewaySpecParameters) DeepCopyInto(out *VirtualGatewaySpecParameters) { + *out = *in + if in.BackendDefaults != nil { + in, out := &in.BackendDefaults, &out.BackendDefaults + *out = make([]BackendDefaultsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Listener != nil { + in, out := &in.Listener, &out.Listener + *out = make([]ListenerParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Logging != nil { + in, out := &in.Logging, &out.Logging + *out = make([]LoggingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualGatewaySpecParameters. +func (in *VirtualGatewaySpecParameters) DeepCopy() *VirtualGatewaySpecParameters { + if in == nil { + return nil + } + out := new(VirtualGatewaySpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualGatewayStatus) DeepCopyInto(out *VirtualGatewayStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualGatewayStatus. +func (in *VirtualGatewayStatus) DeepCopy() *VirtualGatewayStatus { + if in == nil { + return nil + } + out := new(VirtualGatewayStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualNode) DeepCopyInto(out *VirtualNode) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualNode. +func (in *VirtualNode) DeepCopy() *VirtualNode { + if in == nil { + return nil + } + out := new(VirtualNode) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *VirtualNode) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualNodeList) DeepCopyInto(out *VirtualNodeList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]VirtualNode, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualNodeList. +func (in *VirtualNodeList) DeepCopy() *VirtualNodeList { + if in == nil { + return nil + } + out := new(VirtualNodeList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *VirtualNodeList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualNodeObservation) DeepCopyInto(out *VirtualNodeObservation) { + *out = *in + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.CreatedDate != nil { + in, out := &in.CreatedDate, &out.CreatedDate + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LastUpdatedDate != nil { + in, out := &in.LastUpdatedDate, &out.LastUpdatedDate + *out = new(string) + **out = **in + } + if in.ResourceOwner != nil { + in, out := &in.ResourceOwner, &out.ResourceOwner + *out = new(string) + **out = **in + } + if in.TagsAll != nil { + in, out := &in.TagsAll, &out.TagsAll + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualNodeObservation. +func (in *VirtualNodeObservation) DeepCopy() *VirtualNodeObservation { + if in == nil { + return nil + } + out := new(VirtualNodeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualNodeParameters) DeepCopyInto(out *VirtualNodeParameters) { + *out = *in + if in.MeshName != nil { + in, out := &in.MeshName, &out.MeshName + *out = new(string) + **out = **in + } + if in.MeshNameRef != nil { + in, out := &in.MeshNameRef, &out.MeshNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.MeshNameSelector != nil { + in, out := &in.MeshNameSelector, &out.MeshNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.MeshOwner != nil { + in, out := &in.MeshOwner, &out.MeshOwner + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Spec != nil { + in, out := &in.Spec, &out.Spec + *out = make([]VirtualNodeSpecParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualNodeParameters. +func (in *VirtualNodeParameters) DeepCopy() *VirtualNodeParameters { + if in == nil { + return nil + } + out := new(VirtualNodeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualNodeSpec) DeepCopyInto(out *VirtualNodeSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualNodeSpec. +func (in *VirtualNodeSpec) DeepCopy() *VirtualNodeSpec { + if in == nil { + return nil + } + out := new(VirtualNodeSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualNodeSpecObservation) DeepCopyInto(out *VirtualNodeSpecObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualNodeSpecObservation. +func (in *VirtualNodeSpecObservation) DeepCopy() *VirtualNodeSpecObservation { + if in == nil { + return nil + } + out := new(VirtualNodeSpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualNodeSpecParameters) DeepCopyInto(out *VirtualNodeSpecParameters) { + *out = *in + if in.Backend != nil { + in, out := &in.Backend, &out.Backend + *out = make([]BackendParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BackendDefaults != nil { + in, out := &in.BackendDefaults, &out.BackendDefaults + *out = make([]SpecBackendDefaultsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Listener != nil { + in, out := &in.Listener, &out.Listener + *out = make([]SpecListenerParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Logging != nil { + in, out := &in.Logging, &out.Logging + *out = make([]SpecLoggingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceDiscovery != nil { + in, out := &in.ServiceDiscovery, &out.ServiceDiscovery + *out = make([]ServiceDiscoveryParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualNodeSpecParameters. +func (in *VirtualNodeSpecParameters) DeepCopy() *VirtualNodeSpecParameters { + if in == nil { + return nil + } + out := new(VirtualNodeSpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualNodeStatus) DeepCopyInto(out *VirtualNodeStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualNodeStatus. +func (in *VirtualNodeStatus) DeepCopy() *VirtualNodeStatus { + if in == nil { + return nil + } + out := new(VirtualNodeStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualRouter) DeepCopyInto(out *VirtualRouter) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualRouter. +func (in *VirtualRouter) DeepCopy() *VirtualRouter { + if in == nil { + return nil + } + out := new(VirtualRouter) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *VirtualRouter) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualRouterList) DeepCopyInto(out *VirtualRouterList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]VirtualRouter, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualRouterList. +func (in *VirtualRouterList) DeepCopy() *VirtualRouterList { + if in == nil { + return nil + } + out := new(VirtualRouterList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *VirtualRouterList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualRouterObservation) DeepCopyInto(out *VirtualRouterObservation) { + *out = *in + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.CreatedDate != nil { + in, out := &in.CreatedDate, &out.CreatedDate + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LastUpdatedDate != nil { + in, out := &in.LastUpdatedDate, &out.LastUpdatedDate + *out = new(string) + **out = **in + } + if in.ResourceOwner != nil { + in, out := &in.ResourceOwner, &out.ResourceOwner + *out = new(string) + **out = **in + } + if in.TagsAll != nil { + in, out := &in.TagsAll, &out.TagsAll + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualRouterObservation. +func (in *VirtualRouterObservation) DeepCopy() *VirtualRouterObservation { + if in == nil { + return nil + } + out := new(VirtualRouterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualRouterParameters) DeepCopyInto(out *VirtualRouterParameters) { + *out = *in + if in.MeshName != nil { + in, out := &in.MeshName, &out.MeshName + *out = new(string) + **out = **in + } + if in.MeshNameRef != nil { + in, out := &in.MeshNameRef, &out.MeshNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.MeshNameSelector != nil { + in, out := &in.MeshNameSelector, &out.MeshNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.MeshOwner != nil { + in, out := &in.MeshOwner, &out.MeshOwner + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Spec != nil { + in, out := &in.Spec, &out.Spec + *out = make([]VirtualRouterSpecParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualRouterParameters. +func (in *VirtualRouterParameters) DeepCopy() *VirtualRouterParameters { + if in == nil { + return nil + } + out := new(VirtualRouterParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualRouterSpec) DeepCopyInto(out *VirtualRouterSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualRouterSpec. +func (in *VirtualRouterSpec) DeepCopy() *VirtualRouterSpec { if in == nil { return nil } - out := new(EgressFilterObservation) + out := new(VirtualRouterSpec) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *EgressFilterParameters) DeepCopyInto(out *EgressFilterParameters) { +func (in *VirtualRouterSpecListenerObservation) DeepCopyInto(out *VirtualRouterSpecListenerObservation) { *out = *in - if in.Type != nil { - in, out := &in.Type, &out.Type - *out = new(string) - **out = **in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualRouterSpecListenerObservation. +func (in *VirtualRouterSpecListenerObservation) DeepCopy() *VirtualRouterSpecListenerObservation { + if in == nil { + return nil + } + out := new(VirtualRouterSpecListenerObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualRouterSpecListenerParameters) DeepCopyInto(out *VirtualRouterSpecListenerParameters) { + *out = *in + if in.PortMapping != nil { + in, out := &in.PortMapping, &out.PortMapping + *out = make([]SpecListenerPortMappingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressFilterParameters. -func (in *EgressFilterParameters) DeepCopy() *EgressFilterParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualRouterSpecListenerParameters. +func (in *VirtualRouterSpecListenerParameters) DeepCopy() *VirtualRouterSpecListenerParameters { if in == nil { return nil } - out := new(EgressFilterParameters) + out := new(VirtualRouterSpecListenerParameters) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *Mesh) DeepCopyInto(out *Mesh) { +func (in *VirtualRouterSpecObservation) DeepCopyInto(out *VirtualRouterSpecObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualRouterSpecObservation. +func (in *VirtualRouterSpecObservation) DeepCopy() *VirtualRouterSpecObservation { + if in == nil { + return nil + } + out := new(VirtualRouterSpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualRouterSpecParameters) DeepCopyInto(out *VirtualRouterSpecParameters) { + *out = *in + if in.Listener != nil { + in, out := &in.Listener, &out.Listener + *out = make([]VirtualRouterSpecListenerParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualRouterSpecParameters. +func (in *VirtualRouterSpecParameters) DeepCopy() *VirtualRouterSpecParameters { + if in == nil { + return nil + } + out := new(VirtualRouterSpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualRouterStatus) DeepCopyInto(out *VirtualRouterStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualRouterStatus. +func (in *VirtualRouterStatus) DeepCopy() *VirtualRouterStatus { + if in == nil { + return nil + } + out := new(VirtualRouterStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualService) DeepCopyInto(out *VirtualService) { *out = *in out.TypeMeta = in.TypeMeta in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) @@ -57,18 +8483,18 @@ func (in *Mesh) DeepCopyInto(out *Mesh) { in.Status.DeepCopyInto(&out.Status) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mesh. -func (in *Mesh) DeepCopy() *Mesh { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualService. +func (in *VirtualService) DeepCopy() *VirtualService { if in == nil { return nil } - out := new(Mesh) + out := new(VirtualService) in.DeepCopyInto(out) return out } // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *Mesh) DeepCopyObject() runtime.Object { +func (in *VirtualService) DeepCopyObject() runtime.Object { if c := in.DeepCopy(); c != nil { return c } @@ -76,31 +8502,68 @@ func (in *Mesh) DeepCopyObject() runtime.Object { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *MeshList) DeepCopyInto(out *MeshList) { +func (in *VirtualServiceClientPolicyObservation) DeepCopyInto(out *VirtualServiceClientPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualServiceClientPolicyObservation. +func (in *VirtualServiceClientPolicyObservation) DeepCopy() *VirtualServiceClientPolicyObservation { + if in == nil { + return nil + } + out := new(VirtualServiceClientPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualServiceClientPolicyParameters) DeepCopyInto(out *VirtualServiceClientPolicyParameters) { + *out = *in + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = make([]ClientPolicyTLSParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualServiceClientPolicyParameters. +func (in *VirtualServiceClientPolicyParameters) DeepCopy() *VirtualServiceClientPolicyParameters { + if in == nil { + return nil + } + out := new(VirtualServiceClientPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualServiceList) DeepCopyInto(out *VirtualServiceList) { *out = *in out.TypeMeta = in.TypeMeta in.ListMeta.DeepCopyInto(&out.ListMeta) if in.Items != nil { in, out := &in.Items, &out.Items - *out = make([]Mesh, len(*in)) + *out = make([]VirtualService, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshList. -func (in *MeshList) DeepCopy() *MeshList { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualServiceList. +func (in *VirtualServiceList) DeepCopy() *VirtualServiceList { if in == nil { return nil } - out := new(MeshList) + out := new(VirtualServiceList) in.DeepCopyInto(out) return out } // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *MeshList) DeepCopyObject() runtime.Object { +func (in *VirtualServiceList) DeepCopyObject() runtime.Object { if c := in.DeepCopy(); c != nil { return c } @@ -108,7 +8571,22 @@ func (in *MeshList) DeepCopyObject() runtime.Object { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *MeshObservation) DeepCopyInto(out *MeshObservation) { +func (in *VirtualServiceObservation) DeepCopyInto(out *VirtualServiceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualServiceObservation. +func (in *VirtualServiceObservation) DeepCopy() *VirtualServiceObservation { + if in == nil { + return nil + } + out := new(VirtualServiceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualServiceObservation_2) DeepCopyInto(out *VirtualServiceObservation_2) { *out = *in if in.Arn != nil { in, out := &in.Arn, &out.Arn @@ -130,11 +8608,6 @@ func (in *MeshObservation) DeepCopyInto(out *MeshObservation) { *out = new(string) **out = **in } - if in.MeshOwner != nil { - in, out := &in.MeshOwner, &out.MeshOwner - *out = new(string) - **out = **in - } if in.ResourceOwner != nil { in, out := &in.ResourceOwner, &out.ResourceOwner *out = new(string) @@ -157,19 +8630,64 @@ func (in *MeshObservation) DeepCopyInto(out *MeshObservation) { } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshObservation. -func (in *MeshObservation) DeepCopy() *MeshObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualServiceObservation_2. +func (in *VirtualServiceObservation_2) DeepCopy() *VirtualServiceObservation_2 { if in == nil { return nil } - out := new(MeshObservation) + out := new(VirtualServiceObservation_2) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *MeshParameters) DeepCopyInto(out *MeshParameters) { +func (in *VirtualServiceParameters) DeepCopyInto(out *VirtualServiceParameters) { + *out = *in + if in.VirtualServiceName != nil { + in, out := &in.VirtualServiceName, &out.VirtualServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualServiceParameters. +func (in *VirtualServiceParameters) DeepCopy() *VirtualServiceParameters { + if in == nil { + return nil + } + out := new(VirtualServiceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualServiceParameters_2) DeepCopyInto(out *VirtualServiceParameters_2) { *out = *in + if in.MeshName != nil { + in, out := &in.MeshName, &out.MeshName + *out = new(string) + **out = **in + } + if in.MeshNameRef != nil { + in, out := &in.MeshNameRef, &out.MeshNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.MeshNameSelector != nil { + in, out := &in.MeshNameSelector, &out.MeshNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.MeshOwner != nil { + in, out := &in.MeshOwner, &out.MeshOwner + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } if in.Region != nil { in, out := &in.Region, &out.Region *out = new(string) @@ -177,7 +8695,7 @@ func (in *MeshParameters) DeepCopyInto(out *MeshParameters) { } if in.Spec != nil { in, out := &in.Spec, &out.Spec - *out = make([]SpecParameters, len(*in)) + *out = make([]VirtualServiceSpecParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -199,83 +8717,123 @@ func (in *MeshParameters) DeepCopyInto(out *MeshParameters) { } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshParameters. -func (in *MeshParameters) DeepCopy() *MeshParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualServiceParameters_2. +func (in *VirtualServiceParameters_2) DeepCopy() *VirtualServiceParameters_2 { if in == nil { return nil } - out := new(MeshParameters) + out := new(VirtualServiceParameters_2) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *MeshSpec) DeepCopyInto(out *MeshSpec) { +func (in *VirtualServiceSpec) DeepCopyInto(out *VirtualServiceSpec) { *out = *in in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) in.ForProvider.DeepCopyInto(&out.ForProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshSpec. -func (in *MeshSpec) DeepCopy() *MeshSpec { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualServiceSpec. +func (in *VirtualServiceSpec) DeepCopy() *VirtualServiceSpec { if in == nil { return nil } - out := new(MeshSpec) + out := new(VirtualServiceSpec) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *MeshStatus) DeepCopyInto(out *MeshStatus) { +func (in *VirtualServiceSpecObservation) DeepCopyInto(out *VirtualServiceSpecObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualServiceSpecObservation. +func (in *VirtualServiceSpecObservation) DeepCopy() *VirtualServiceSpecObservation { + if in == nil { + return nil + } + out := new(VirtualServiceSpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualServiceSpecParameters) DeepCopyInto(out *VirtualServiceSpecParameters) { + *out = *in + if in.Provider != nil { + in, out := &in.Provider, &out.Provider + *out = make([]ProviderParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualServiceSpecParameters. +func (in *VirtualServiceSpecParameters) DeepCopy() *VirtualServiceSpecParameters { + if in == nil { + return nil + } + out := new(VirtualServiceSpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualServiceStatus) DeepCopyInto(out *VirtualServiceStatus) { *out = *in in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) in.AtProvider.DeepCopyInto(&out.AtProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshStatus. -func (in *MeshStatus) DeepCopy() *MeshStatus { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualServiceStatus. +func (in *VirtualServiceStatus) DeepCopy() *VirtualServiceStatus { if in == nil { return nil } - out := new(MeshStatus) + out := new(VirtualServiceStatus) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SpecObservation) DeepCopyInto(out *SpecObservation) { +func (in *WeightedTargetObservation) DeepCopyInto(out *WeightedTargetObservation) { *out = *in } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecObservation. -func (in *SpecObservation) DeepCopy() *SpecObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedTargetObservation. +func (in *WeightedTargetObservation) DeepCopy() *WeightedTargetObservation { if in == nil { return nil } - out := new(SpecObservation) + out := new(WeightedTargetObservation) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SpecParameters) DeepCopyInto(out *SpecParameters) { +func (in *WeightedTargetParameters) DeepCopyInto(out *WeightedTargetParameters) { *out = *in - if in.EgressFilter != nil { - in, out := &in.EgressFilter, &out.EgressFilter - *out = make([]EgressFilterParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + if in.VirtualNode != nil { + in, out := &in.VirtualNode, &out.VirtualNode + *out = new(string) + **out = **in + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(float64) + **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecParameters. -func (in *SpecParameters) DeepCopy() *SpecParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedTargetParameters. +func (in *WeightedTargetParameters) DeepCopy() *WeightedTargetParameters { if in == nil { return nil } - out := new(SpecParameters) + out := new(WeightedTargetParameters) in.DeepCopyInto(out) return out } diff --git a/apis/appmesh/v1beta1/zz_generated.managed.go b/apis/appmesh/v1beta1/zz_generated.managed.go index 2566de7e9a..9f76c5b96d 100644 --- a/apis/appmesh/v1beta1/zz_generated.managed.go +++ b/apis/appmesh/v1beta1/zz_generated.managed.go @@ -7,6 +7,72 @@ package v1beta1 import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +// GetCondition of this GatewayRoute. +func (mg *GatewayRoute) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this GatewayRoute. +func (mg *GatewayRoute) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this GatewayRoute. +func (mg *GatewayRoute) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this GatewayRoute. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *GatewayRoute) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this GatewayRoute. +func (mg *GatewayRoute) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this GatewayRoute. +func (mg *GatewayRoute) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this GatewayRoute. +func (mg *GatewayRoute) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this GatewayRoute. +func (mg *GatewayRoute) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this GatewayRoute. +func (mg *GatewayRoute) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this GatewayRoute. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *GatewayRoute) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this GatewayRoute. +func (mg *GatewayRoute) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this GatewayRoute. +func (mg *GatewayRoute) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + // GetCondition of this Mesh. func (mg *Mesh) GetCondition(ct xpv1.ConditionType) xpv1.Condition { return mg.Status.GetCondition(ct) @@ -72,3 +138,333 @@ func (mg *Mesh) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo func (mg *Mesh) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r } + +// GetCondition of this Route. +func (mg *Route) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Route. +func (mg *Route) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Route. +func (mg *Route) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Route. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Route) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this Route. +func (mg *Route) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this Route. +func (mg *Route) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Route. +func (mg *Route) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Route. +func (mg *Route) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Route. +func (mg *Route) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Route. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Route) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this Route. +func (mg *Route) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this Route. +func (mg *Route) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this VirtualGateway. +func (mg *VirtualGateway) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this VirtualGateway. +func (mg *VirtualGateway) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this VirtualGateway. +func (mg *VirtualGateway) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this VirtualGateway. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *VirtualGateway) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this VirtualGateway. +func (mg *VirtualGateway) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this VirtualGateway. +func (mg *VirtualGateway) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this VirtualGateway. +func (mg *VirtualGateway) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this VirtualGateway. +func (mg *VirtualGateway) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this VirtualGateway. +func (mg *VirtualGateway) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this VirtualGateway. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *VirtualGateway) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this VirtualGateway. +func (mg *VirtualGateway) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this VirtualGateway. +func (mg *VirtualGateway) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this VirtualNode. +func (mg *VirtualNode) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this VirtualNode. +func (mg *VirtualNode) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this VirtualNode. +func (mg *VirtualNode) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this VirtualNode. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *VirtualNode) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this VirtualNode. +func (mg *VirtualNode) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this VirtualNode. +func (mg *VirtualNode) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this VirtualNode. +func (mg *VirtualNode) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this VirtualNode. +func (mg *VirtualNode) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this VirtualNode. +func (mg *VirtualNode) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this VirtualNode. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *VirtualNode) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this VirtualNode. +func (mg *VirtualNode) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this VirtualNode. +func (mg *VirtualNode) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this VirtualRouter. +func (mg *VirtualRouter) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this VirtualRouter. +func (mg *VirtualRouter) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this VirtualRouter. +func (mg *VirtualRouter) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this VirtualRouter. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *VirtualRouter) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this VirtualRouter. +func (mg *VirtualRouter) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this VirtualRouter. +func (mg *VirtualRouter) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this VirtualRouter. +func (mg *VirtualRouter) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this VirtualRouter. +func (mg *VirtualRouter) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this VirtualRouter. +func (mg *VirtualRouter) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this VirtualRouter. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *VirtualRouter) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this VirtualRouter. +func (mg *VirtualRouter) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this VirtualRouter. +func (mg *VirtualRouter) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this VirtualService. +func (mg *VirtualService) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this VirtualService. +func (mg *VirtualService) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this VirtualService. +func (mg *VirtualService) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this VirtualService. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *VirtualService) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this VirtualService. +func (mg *VirtualService) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this VirtualService. +func (mg *VirtualService) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this VirtualService. +func (mg *VirtualService) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this VirtualService. +func (mg *VirtualService) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this VirtualService. +func (mg *VirtualService) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this VirtualService. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *VirtualService) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this VirtualService. +func (mg *VirtualService) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this VirtualService. +func (mg *VirtualService) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/appmesh/v1beta1/zz_generated.managedlist.go b/apis/appmesh/v1beta1/zz_generated.managedlist.go index ace271af29..4e46e9497c 100644 --- a/apis/appmesh/v1beta1/zz_generated.managedlist.go +++ b/apis/appmesh/v1beta1/zz_generated.managedlist.go @@ -7,6 +7,15 @@ package v1beta1 import resource "github.com/crossplane/crossplane-runtime/pkg/resource" +// GetItems of this GatewayRouteList. +func (l *GatewayRouteList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + // GetItems of this MeshList. func (l *MeshList) GetItems() []resource.Managed { items := make([]resource.Managed, len(l.Items)) @@ -15,3 +24,48 @@ func (l *MeshList) GetItems() []resource.Managed { } return items } + +// GetItems of this RouteList. +func (l *RouteList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this VirtualGatewayList. +func (l *VirtualGatewayList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this VirtualNodeList. +func (l *VirtualNodeList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this VirtualRouterList. +func (l *VirtualRouterList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this VirtualServiceList. +func (l *VirtualServiceList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} diff --git a/apis/appmesh/v1beta1/zz_generated.resolvers.go b/apis/appmesh/v1beta1/zz_generated.resolvers.go new file mode 100644 index 0000000000..e692d216d1 --- /dev/null +++ b/apis/appmesh/v1beta1/zz_generated.resolvers.go @@ -0,0 +1,341 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1beta1 + +import ( + "context" + reference "github.com/crossplane/crossplane-runtime/pkg/reference" + errors "github.com/pkg/errors" + v1beta1 "github.com/upbound/provider-aws/apis/acm/v1beta1" + v1beta11 "github.com/upbound/provider-aws/apis/servicediscovery/v1beta1" + resource "github.com/upbound/upjet/pkg/resource" + client "sigs.k8s.io/controller-runtime/pkg/client" +) + +// ResolveReferences of this GatewayRoute. +func (mg *GatewayRoute) ResolveReferences(ctx context.Context, c client.Reader) error { + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + + for i3 := 0; i3 < len(mg.Spec.ForProvider.Spec); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.Spec[i3].HTTPRoute); i4++ { + for i5 := 0; i5 < len(mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action); i5++ { + for i6 := 0; i6 < len(mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action[i5].Target); i6++ { + for i7 := 0; i7 < len(mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action[i5].Target[i6].VirtualService); i7++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action[i5].Target[i6].VirtualService[i7].VirtualServiceName), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action[i5].Target[i6].VirtualService[i7].VirtualServiceNameRef, + Selector: mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action[i5].Target[i6].VirtualService[i7].VirtualServiceNameSelector, + To: reference.To{ + List: &VirtualServiceList{}, + Managed: &VirtualService{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action[i5].Target[i6].VirtualService[i7].VirtualServiceName") + } + mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action[i5].Target[i6].VirtualService[i7].VirtualServiceName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action[i5].Target[i6].VirtualService[i7].VirtualServiceNameRef = rsp.ResolvedReference + + } + } + } + } + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.VirtualGatewayName), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.ForProvider.VirtualGatewayNameRef, + Selector: mg.Spec.ForProvider.VirtualGatewayNameSelector, + To: reference.To{ + List: &VirtualGatewayList{}, + Managed: &VirtualGateway{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.VirtualGatewayName") + } + mg.Spec.ForProvider.VirtualGatewayName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.VirtualGatewayNameRef = rsp.ResolvedReference + + return nil +} + +// ResolveReferences of this Route. +func (mg *Route) ResolveReferences(ctx context.Context, c client.Reader) error { + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.MeshName), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.MeshNameRef, + Selector: mg.Spec.ForProvider.MeshNameSelector, + To: reference.To{ + List: &MeshList{}, + Managed: &Mesh{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.MeshName") + } + mg.Spec.ForProvider.MeshName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.MeshNameRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.ForProvider.Spec); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.Spec[i3].HTTPRoute); i4++ { + for i5 := 0; i5 < len(mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action); i5++ { + for i6 := 0; i6 < len(mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action[i5].WeightedTarget); i6++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action[i5].WeightedTarget[i6].VirtualNode), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action[i5].WeightedTarget[i6].VirtualNodeRef, + Selector: mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action[i5].WeightedTarget[i6].VirtualNodeSelector, + To: reference.To{ + List: &VirtualNodeList{}, + Managed: &VirtualNode{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action[i5].WeightedTarget[i6].VirtualNode") + } + mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action[i5].WeightedTarget[i6].VirtualNode = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.Spec[i3].HTTPRoute[i4].Action[i5].WeightedTarget[i6].VirtualNodeRef = rsp.ResolvedReference + + } + } + } + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.Spec); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.Spec[i3].TCPRoute); i4++ { + for i5 := 0; i5 < len(mg.Spec.ForProvider.Spec[i3].TCPRoute[i4].Action); i5++ { + for i6 := 0; i6 < len(mg.Spec.ForProvider.Spec[i3].TCPRoute[i4].Action[i5].WeightedTarget); i6++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.Spec[i3].TCPRoute[i4].Action[i5].WeightedTarget[i6].VirtualNode), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.ForProvider.Spec[i3].TCPRoute[i4].Action[i5].WeightedTarget[i6].VirtualNodeRef, + Selector: mg.Spec.ForProvider.Spec[i3].TCPRoute[i4].Action[i5].WeightedTarget[i6].VirtualNodeSelector, + To: reference.To{ + List: &VirtualNodeList{}, + Managed: &VirtualNode{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Spec[i3].TCPRoute[i4].Action[i5].WeightedTarget[i6].VirtualNode") + } + mg.Spec.ForProvider.Spec[i3].TCPRoute[i4].Action[i5].WeightedTarget[i6].VirtualNode = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.Spec[i3].TCPRoute[i4].Action[i5].WeightedTarget[i6].VirtualNodeRef = rsp.ResolvedReference + + } + } + } + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.VirtualRouterName), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.ForProvider.VirtualRouterNameRef, + Selector: mg.Spec.ForProvider.VirtualRouterNameSelector, + To: reference.To{ + List: &VirtualRouterList{}, + Managed: &VirtualRouter{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.VirtualRouterName") + } + mg.Spec.ForProvider.VirtualRouterName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.VirtualRouterNameRef = rsp.ResolvedReference + + return nil +} + +// ResolveReferences of this VirtualGateway. +func (mg *VirtualGateway) ResolveReferences(ctx context.Context, c client.Reader) error { + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + + for i3 := 0; i3 < len(mg.Spec.ForProvider.Spec); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.Spec[i3].Listener); i4++ { + for i5 := 0; i5 < len(mg.Spec.ForProvider.Spec[i3].Listener[i4].TLS); i5++ { + for i6 := 0; i6 < len(mg.Spec.ForProvider.Spec[i3].Listener[i4].TLS[i5].Certificate); i6++ { + for i7 := 0; i7 < len(mg.Spec.ForProvider.Spec[i3].Listener[i4].TLS[i5].Certificate[i6].Acm); i7++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.Spec[i3].Listener[i4].TLS[i5].Certificate[i6].Acm[i7].CertificateArn), + Extract: resource.ExtractParamPath("arn", true), + Reference: mg.Spec.ForProvider.Spec[i3].Listener[i4].TLS[i5].Certificate[i6].Acm[i7].CertificateArnRef, + Selector: mg.Spec.ForProvider.Spec[i3].Listener[i4].TLS[i5].Certificate[i6].Acm[i7].CertificateArnSelector, + To: reference.To{ + List: &v1beta1.CertificateList{}, + Managed: &v1beta1.Certificate{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Spec[i3].Listener[i4].TLS[i5].Certificate[i6].Acm[i7].CertificateArn") + } + mg.Spec.ForProvider.Spec[i3].Listener[i4].TLS[i5].Certificate[i6].Acm[i7].CertificateArn = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.Spec[i3].Listener[i4].TLS[i5].Certificate[i6].Acm[i7].CertificateArnRef = rsp.ResolvedReference + + } + } + } + } + } + + return nil +} + +// ResolveReferences of this VirtualNode. +func (mg *VirtualNode) ResolveReferences(ctx context.Context, c client.Reader) error { + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.MeshName), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.MeshNameRef, + Selector: mg.Spec.ForProvider.MeshNameSelector, + To: reference.To{ + List: &MeshList{}, + Managed: &Mesh{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.MeshName") + } + mg.Spec.ForProvider.MeshName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.MeshNameRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.ForProvider.Spec); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.Spec[i3].ServiceDiscovery); i4++ { + for i5 := 0; i5 < len(mg.Spec.ForProvider.Spec[i3].ServiceDiscovery[i4].AwsCloudMap); i5++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.Spec[i3].ServiceDiscovery[i4].AwsCloudMap[i5].NamespaceName), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.ForProvider.Spec[i3].ServiceDiscovery[i4].AwsCloudMap[i5].NamespaceNameRef, + Selector: mg.Spec.ForProvider.Spec[i3].ServiceDiscovery[i4].AwsCloudMap[i5].NamespaceNameSelector, + To: reference.To{ + List: &v1beta11.HTTPNamespaceList{}, + Managed: &v1beta11.HTTPNamespace{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Spec[i3].ServiceDiscovery[i4].AwsCloudMap[i5].NamespaceName") + } + mg.Spec.ForProvider.Spec[i3].ServiceDiscovery[i4].AwsCloudMap[i5].NamespaceName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.Spec[i3].ServiceDiscovery[i4].AwsCloudMap[i5].NamespaceNameRef = rsp.ResolvedReference + + } + } + } + + return nil +} + +// ResolveReferences of this VirtualRouter. +func (mg *VirtualRouter) ResolveReferences(ctx context.Context, c client.Reader) error { + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.MeshName), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.MeshNameRef, + Selector: mg.Spec.ForProvider.MeshNameSelector, + To: reference.To{ + List: &MeshList{}, + Managed: &Mesh{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.MeshName") + } + mg.Spec.ForProvider.MeshName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.MeshNameRef = rsp.ResolvedReference + + return nil +} + +// ResolveReferences of this VirtualService. +func (mg *VirtualService) ResolveReferences(ctx context.Context, c client.Reader) error { + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.MeshName), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.MeshNameRef, + Selector: mg.Spec.ForProvider.MeshNameSelector, + To: reference.To{ + List: &MeshList{}, + Managed: &Mesh{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.MeshName") + } + mg.Spec.ForProvider.MeshName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.MeshNameRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.ForProvider.Spec); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.Spec[i3].Provider); i4++ { + for i5 := 0; i5 < len(mg.Spec.ForProvider.Spec[i3].Provider[i4].VirtualNode); i5++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.Spec[i3].Provider[i4].VirtualNode[i5].VirtualNodeName), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.ForProvider.Spec[i3].Provider[i4].VirtualNode[i5].VirtualNodeNameRef, + Selector: mg.Spec.ForProvider.Spec[i3].Provider[i4].VirtualNode[i5].VirtualNodeNameSelector, + To: reference.To{ + List: &VirtualNodeList{}, + Managed: &VirtualNode{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Spec[i3].Provider[i4].VirtualNode[i5].VirtualNodeName") + } + mg.Spec.ForProvider.Spec[i3].Provider[i4].VirtualNode[i5].VirtualNodeName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.Spec[i3].Provider[i4].VirtualNode[i5].VirtualNodeNameRef = rsp.ResolvedReference + + } + } + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.Spec); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.Spec[i3].Provider); i4++ { + for i5 := 0; i5 < len(mg.Spec.ForProvider.Spec[i3].Provider[i4].VirtualRouter); i5++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.Spec[i3].Provider[i4].VirtualRouter[i5].VirtualRouterName), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.ForProvider.Spec[i3].Provider[i4].VirtualRouter[i5].VirtualRouterNameRef, + Selector: mg.Spec.ForProvider.Spec[i3].Provider[i4].VirtualRouter[i5].VirtualRouterNameSelector, + To: reference.To{ + List: &VirtualRouterList{}, + Managed: &VirtualRouter{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Spec[i3].Provider[i4].VirtualRouter[i5].VirtualRouterName") + } + mg.Spec.ForProvider.Spec[i3].Provider[i4].VirtualRouter[i5].VirtualRouterName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.Spec[i3].Provider[i4].VirtualRouter[i5].VirtualRouterNameRef = rsp.ResolvedReference + + } + } + } + + return nil +} diff --git a/apis/appmesh/v1beta1/zz_generated_terraformed.go b/apis/appmesh/v1beta1/zz_generated_terraformed.go index 8fbd1a5b1e..d443a5fdf2 100755 --- a/apis/appmesh/v1beta1/zz_generated_terraformed.go +++ b/apis/appmesh/v1beta1/zz_generated_terraformed.go @@ -13,6 +13,80 @@ import ( "github.com/upbound/upjet/pkg/resource/json" ) +// GetTerraformResourceType returns Terraform resource type for this GatewayRoute +func (mg *GatewayRoute) GetTerraformResourceType() string { + return "aws_appmesh_gateway_route" +} + +// GetConnectionDetailsMapping for this GatewayRoute +func (tr *GatewayRoute) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this GatewayRoute +func (tr *GatewayRoute) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this GatewayRoute +func (tr *GatewayRoute) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this GatewayRoute +func (tr *GatewayRoute) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this GatewayRoute +func (tr *GatewayRoute) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this GatewayRoute +func (tr *GatewayRoute) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this GatewayRoute using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *GatewayRoute) LateInitialize(attrs []byte) (bool, error) { + params := &GatewayRouteParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *GatewayRoute) GetTerraformSchemaVersion() int { + return 0 +} + // GetTerraformResourceType returns Terraform resource type for this Mesh func (mg *Mesh) GetTerraformResourceType() string { return "aws_appmesh_mesh" @@ -86,3 +160,373 @@ func (tr *Mesh) LateInitialize(attrs []byte) (bool, error) { func (tr *Mesh) GetTerraformSchemaVersion() int { return 0 } + +// GetTerraformResourceType returns Terraform resource type for this Route +func (mg *Route) GetTerraformResourceType() string { + return "aws_appmesh_route" +} + +// GetConnectionDetailsMapping for this Route +func (tr *Route) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Route +func (tr *Route) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Route +func (tr *Route) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Route +func (tr *Route) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Route +func (tr *Route) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Route +func (tr *Route) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Route using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Route) LateInitialize(attrs []byte) (bool, error) { + params := &RouteParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Route) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this VirtualGateway +func (mg *VirtualGateway) GetTerraformResourceType() string { + return "aws_appmesh_virtual_gateway" +} + +// GetConnectionDetailsMapping for this VirtualGateway +func (tr *VirtualGateway) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this VirtualGateway +func (tr *VirtualGateway) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this VirtualGateway +func (tr *VirtualGateway) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this VirtualGateway +func (tr *VirtualGateway) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this VirtualGateway +func (tr *VirtualGateway) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this VirtualGateway +func (tr *VirtualGateway) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this VirtualGateway using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *VirtualGateway) LateInitialize(attrs []byte) (bool, error) { + params := &VirtualGatewayParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *VirtualGateway) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this VirtualNode +func (mg *VirtualNode) GetTerraformResourceType() string { + return "aws_appmesh_virtual_node" +} + +// GetConnectionDetailsMapping for this VirtualNode +func (tr *VirtualNode) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this VirtualNode +func (tr *VirtualNode) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this VirtualNode +func (tr *VirtualNode) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this VirtualNode +func (tr *VirtualNode) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this VirtualNode +func (tr *VirtualNode) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this VirtualNode +func (tr *VirtualNode) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this VirtualNode using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *VirtualNode) LateInitialize(attrs []byte) (bool, error) { + params := &VirtualNodeParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *VirtualNode) GetTerraformSchemaVersion() int { + return 1 +} + +// GetTerraformResourceType returns Terraform resource type for this VirtualRouter +func (mg *VirtualRouter) GetTerraformResourceType() string { + return "aws_appmesh_virtual_router" +} + +// GetConnectionDetailsMapping for this VirtualRouter +func (tr *VirtualRouter) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this VirtualRouter +func (tr *VirtualRouter) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this VirtualRouter +func (tr *VirtualRouter) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this VirtualRouter +func (tr *VirtualRouter) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this VirtualRouter +func (tr *VirtualRouter) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this VirtualRouter +func (tr *VirtualRouter) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this VirtualRouter using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *VirtualRouter) LateInitialize(attrs []byte) (bool, error) { + params := &VirtualRouterParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *VirtualRouter) GetTerraformSchemaVersion() int { + return 1 +} + +// GetTerraformResourceType returns Terraform resource type for this VirtualService +func (mg *VirtualService) GetTerraformResourceType() string { + return "aws_appmesh_virtual_service" +} + +// GetConnectionDetailsMapping for this VirtualService +func (tr *VirtualService) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this VirtualService +func (tr *VirtualService) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this VirtualService +func (tr *VirtualService) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this VirtualService +func (tr *VirtualService) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this VirtualService +func (tr *VirtualService) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this VirtualService +func (tr *VirtualService) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this VirtualService using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *VirtualService) LateInitialize(attrs []byte) (bool, error) { + params := &VirtualServiceParameters_2{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *VirtualService) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/appmesh/v1beta1/zz_mesh_types.go b/apis/appmesh/v1beta1/zz_mesh_types.go index 2b6f726aa7..e65124d8ca 100755 --- a/apis/appmesh/v1beta1/zz_mesh_types.go +++ b/apis/appmesh/v1beta1/zz_mesh_types.go @@ -57,17 +57,17 @@ type MeshParameters struct { // The service mesh specification to apply. // +kubebuilder:validation:Optional - Spec []SpecParameters `json:"spec,omitempty" tf:"spec,omitempty"` + Spec []MeshSpecParameters `json:"spec,omitempty" tf:"spec,omitempty"` // Key-value map of resource tags. // +kubebuilder:validation:Optional Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` } -type SpecObservation struct { +type MeshSpecObservation struct { } -type SpecParameters struct { +type MeshSpecParameters struct { // The egress filter rules for the service mesh. // +kubebuilder:validation:Optional diff --git a/apis/appmesh/v1beta1/zz_route_types.go b/apis/appmesh/v1beta1/zz_route_types.go new file mode 100755 index 0000000000..35e0418dd4 --- /dev/null +++ b/apis/appmesh/v1beta1/zz_route_types.go @@ -0,0 +1,869 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type ActionWeightedTargetObservation struct { +} + +type ActionWeightedTargetParameters struct { + + // The virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + VirtualNode *string `json:"virtualNode" tf:"virtual_node,omitempty"` + + // The relative weight of the weighted target. An integer between 0 and 100. + // +kubebuilder:validation:Required + Weight *float64 `json:"weight" tf:"weight,omitempty"` +} + +type GRPCRouteActionObservation struct { +} + +type GRPCRouteActionParameters struct { + + // The targets that traffic is routed to when a request matches the route. + // You can specify one or more targets and their relative weights with which to distribute traffic. + // +kubebuilder:validation:Required + WeightedTarget []WeightedTargetParameters `json:"weightedTarget" tf:"weighted_target,omitempty"` +} + +type GRPCRouteMatchObservation struct { +} + +type GRPCRouteMatchParameters struct { + + // The data to match from the gRPC request. + // +kubebuilder:validation:Optional + Metadata []MetadataParameters `json:"metadata,omitempty" tf:"metadata,omitempty"` + + // The method name to match from the request. If you specify a name, you must also specify a service_name. + // +kubebuilder:validation:Optional + MethodName *string `json:"methodName,omitempty" tf:"method_name,omitempty"` + + // The value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Optional + Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"` + + // The fully qualified domain name for the service to match from the request. + // +kubebuilder:validation:Optional + ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` +} + +type HTTPRouteActionWeightedTargetObservation struct { +} + +type HTTPRouteActionWeightedTargetParameters struct { + + // The virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/appmesh/v1beta1.VirtualNode + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("name",false) + // +kubebuilder:validation:Optional + VirtualNode *string `json:"virtualNode,omitempty" tf:"virtual_node,omitempty"` + + // Reference to a VirtualNode in appmesh to populate virtualNode. + // +kubebuilder:validation:Optional + VirtualNodeRef *v1.Reference `json:"virtualNodeRef,omitempty" tf:"-"` + + // Selector for a VirtualNode in appmesh to populate virtualNode. + // +kubebuilder:validation:Optional + VirtualNodeSelector *v1.Selector `json:"virtualNodeSelector,omitempty" tf:"-"` + + // The relative weight of the weighted target. An integer between 0 and 100. + // +kubebuilder:validation:Required + Weight *float64 `json:"weight" tf:"weight,omitempty"` +} + +type HTTPRouteRetryPolicyObservation struct { +} + +type HTTPRouteRetryPolicyParameters struct { + + // List of HTTP retry events. + // Valid values: client-error (HTTP status code 409), gateway-error (HTTP status codes 502, 503, and 504), server-error (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), stream-error (retry on refused stream). + // +kubebuilder:validation:Optional + HTTPRetryEvents []*string `json:"httpRetryEvents,omitempty" tf:"http_retry_events,omitempty"` + + // The maximum number of retries. + // +kubebuilder:validation:Required + MaxRetries *float64 `json:"maxRetries" tf:"max_retries,omitempty"` + + // The per-retry timeout. + // +kubebuilder:validation:Required + PerRetryTimeout []HTTPRouteRetryPolicyPerRetryTimeoutParameters `json:"perRetryTimeout" tf:"per_retry_timeout,omitempty"` + + // List of TCP retry events. The only valid value is connection-error. + // +kubebuilder:validation:Optional + TCPRetryEvents []*string `json:"tcpRetryEvents,omitempty" tf:"tcp_retry_events,omitempty"` +} + +type HTTPRouteRetryPolicyPerRetryTimeoutObservation struct { +} + +type HTTPRouteRetryPolicyPerRetryTimeoutParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type HTTPRouteTimeoutIdleObservation struct { +} + +type HTTPRouteTimeoutIdleParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type HTTPRouteTimeoutObservation struct { +} + +type HTTPRouteTimeoutParameters struct { + + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + // +kubebuilder:validation:Optional + Idle []HTTPRouteTimeoutIdleParameters `json:"idle,omitempty" tf:"idle,omitempty"` + + // The per request timeout. + // +kubebuilder:validation:Optional + PerRequest []HTTPRouteTimeoutPerRequestParameters `json:"perRequest,omitempty" tf:"per_request,omitempty"` +} + +type HTTPRouteTimeoutPerRequestObservation struct { +} + +type HTTPRouteTimeoutPerRequestParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type HeaderMatchObservation struct { +} + +type HeaderMatchParameters struct { + + // The value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Optional + Exact *string `json:"exact,omitempty" tf:"exact,omitempty"` + + // The value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Optional + Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"` + + // The object that specifies the range of numbers that the value sent by the client must be included in. + // +kubebuilder:validation:Optional + Range []MatchRangeParameters `json:"range,omitempty" tf:"range,omitempty"` + + // The value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Optional + Regex *string `json:"regex,omitempty" tf:"regex,omitempty"` + + // The value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Optional + Suffix *string `json:"suffix,omitempty" tf:"suffix,omitempty"` +} + +type HeaderMatchRangeObservation struct { +} + +type HeaderMatchRangeParameters struct { + + // The end of the range. + // +kubebuilder:validation:Required + End *float64 `json:"end" tf:"end,omitempty"` + + // (Requited) The start of the range. + // +kubebuilder:validation:Required + Start *float64 `json:"start" tf:"start,omitempty"` +} + +type HeaderObservation struct { +} + +type HeaderParameters struct { + + // If true, the match is on the opposite of the match criteria. Default is false. + // +kubebuilder:validation:Optional + Invert *bool `json:"invert,omitempty" tf:"invert,omitempty"` + + // The criteria for determining an gRPC request match. + // +kubebuilder:validation:Optional + Match []HeaderMatchParameters `json:"match,omitempty" tf:"match,omitempty"` + + // The name to use for the route. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type Http2RouteRetryPolicyObservation struct { +} + +type Http2RouteRetryPolicyParameters struct { + + // List of HTTP retry events. + // Valid values: client-error (HTTP status code 409), gateway-error (HTTP status codes 502, 503, and 504), server-error (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), stream-error (retry on refused stream). + // +kubebuilder:validation:Optional + HTTPRetryEvents []*string `json:"httpRetryEvents,omitempty" tf:"http_retry_events,omitempty"` + + // The maximum number of retries. + // +kubebuilder:validation:Required + MaxRetries *float64 `json:"maxRetries" tf:"max_retries,omitempty"` + + // The per-retry timeout. + // +kubebuilder:validation:Required + PerRetryTimeout []RetryPolicyPerRetryTimeoutParameters `json:"perRetryTimeout" tf:"per_retry_timeout,omitempty"` + + // List of TCP retry events. The only valid value is connection-error. + // +kubebuilder:validation:Optional + TCPRetryEvents []*string `json:"tcpRetryEvents,omitempty" tf:"tcp_retry_events,omitempty"` +} + +type Http2RouteTimeoutObservation struct { +} + +type Http2RouteTimeoutParameters struct { + + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + // +kubebuilder:validation:Optional + Idle []TimeoutIdleParameters `json:"idle,omitempty" tf:"idle,omitempty"` + + // The per request timeout. + // +kubebuilder:validation:Optional + PerRequest []TimeoutPerRequestParameters `json:"perRequest,omitempty" tf:"per_request,omitempty"` +} + +type IdleObservation struct { +} + +type IdleParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type MatchHeaderMatchObservation struct { +} + +type MatchHeaderMatchParameters struct { + + // The value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Optional + Exact *string `json:"exact,omitempty" tf:"exact,omitempty"` + + // The value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Optional + Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"` + + // The object that specifies the range of numbers that the value sent by the client must be included in. + // +kubebuilder:validation:Optional + Range []HeaderMatchRangeParameters `json:"range,omitempty" tf:"range,omitempty"` + + // The value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Optional + Regex *string `json:"regex,omitempty" tf:"regex,omitempty"` + + // The value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Optional + Suffix *string `json:"suffix,omitempty" tf:"suffix,omitempty"` +} + +type MatchHeaderObservation struct { +} + +type MatchHeaderParameters struct { + + // If true, the match is on the opposite of the match criteria. Default is false. + // +kubebuilder:validation:Optional + Invert *bool `json:"invert,omitempty" tf:"invert,omitempty"` + + // The criteria for determining an gRPC request match. + // +kubebuilder:validation:Optional + Match []MatchHeaderMatchParameters `json:"match,omitempty" tf:"match,omitempty"` + + // The name to use for the route. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type MatchRangeObservation struct { +} + +type MatchRangeParameters struct { + + // The end of the range. + // +kubebuilder:validation:Required + End *float64 `json:"end" tf:"end,omitempty"` + + // (Requited) The start of the range. + // +kubebuilder:validation:Required + Start *float64 `json:"start" tf:"start,omitempty"` +} + +type MetadataMatchObservation struct { +} + +type MetadataMatchParameters struct { + + // The value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Optional + Exact *string `json:"exact,omitempty" tf:"exact,omitempty"` + + // The value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Optional + Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"` + + // The object that specifies the range of numbers that the value sent by the client must be included in. + // +kubebuilder:validation:Optional + Range []RangeParameters `json:"range,omitempty" tf:"range,omitempty"` + + // The value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Optional + Regex *string `json:"regex,omitempty" tf:"regex,omitempty"` + + // The value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Optional + Suffix *string `json:"suffix,omitempty" tf:"suffix,omitempty"` +} + +type MetadataObservation struct { +} + +type MetadataParameters struct { + + // If true, the match is on the opposite of the match criteria. Default is false. + // +kubebuilder:validation:Optional + Invert *bool `json:"invert,omitempty" tf:"invert,omitempty"` + + // The criteria for determining an gRPC request match. + // +kubebuilder:validation:Optional + Match []MetadataMatchParameters `json:"match,omitempty" tf:"match,omitempty"` + + // The name to use for the route. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type PerRequestObservation struct { +} + +type PerRequestParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type PerRetryTimeoutObservation struct { +} + +type PerRetryTimeoutParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type RangeObservation struct { +} + +type RangeParameters struct { + + // The end of the range. + // +kubebuilder:validation:Required + End *float64 `json:"end" tf:"end,omitempty"` + + // (Requited) The start of the range. + // +kubebuilder:validation:Required + Start *float64 `json:"start" tf:"start,omitempty"` +} + +type RetryPolicyObservation struct { +} + +type RetryPolicyParameters struct { + + // List of gRPC retry events. + // Valid values: cancelled, deadline-exceeded, internal, resource-exhausted, unavailable. + // +kubebuilder:validation:Optional + GRPCRetryEvents []*string `json:"grpcRetryEvents,omitempty" tf:"grpc_retry_events,omitempty"` + + // List of HTTP retry events. + // Valid values: client-error (HTTP status code 409), gateway-error (HTTP status codes 502, 503, and 504), server-error (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), stream-error (retry on refused stream). + // +kubebuilder:validation:Optional + HTTPRetryEvents []*string `json:"httpRetryEvents,omitempty" tf:"http_retry_events,omitempty"` + + // The maximum number of retries. + // +kubebuilder:validation:Required + MaxRetries *float64 `json:"maxRetries" tf:"max_retries,omitempty"` + + // The per-retry timeout. + // +kubebuilder:validation:Required + PerRetryTimeout []PerRetryTimeoutParameters `json:"perRetryTimeout" tf:"per_retry_timeout,omitempty"` + + // List of TCP retry events. The only valid value is connection-error. + // +kubebuilder:validation:Optional + TCPRetryEvents []*string `json:"tcpRetryEvents,omitempty" tf:"tcp_retry_events,omitempty"` +} + +type RetryPolicyPerRetryTimeoutObservation struct { +} + +type RetryPolicyPerRetryTimeoutParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type RouteObservation struct { + + // The ARN of the route. + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // The creation date of the route. + CreatedDate *string `json:"createdDate,omitempty" tf:"created_date,omitempty"` + + // The ID of the route. + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // The last update date of the route. + LastUpdatedDate *string `json:"lastUpdatedDate,omitempty" tf:"last_updated_date,omitempty"` + + // The resource owner's AWS account ID. + ResourceOwner *string `json:"resourceOwner,omitempty" tf:"resource_owner,omitempty"` + + // A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. + TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` +} + +type RouteParameters struct { + + // The name of the service mesh in which to create the route. Must be between 1 and 255 characters in length. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/appmesh/v1beta1.Mesh + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + MeshName *string `json:"meshName,omitempty" tf:"mesh_name,omitempty"` + + // Reference to a Mesh in appmesh to populate meshName. + // +kubebuilder:validation:Optional + MeshNameRef *v1.Reference `json:"meshNameRef,omitempty" tf:"-"` + + // Selector for a Mesh in appmesh to populate meshName. + // +kubebuilder:validation:Optional + MeshNameSelector *v1.Selector `json:"meshNameSelector,omitempty" tf:"-"` + + // The AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. + // +kubebuilder:validation:Optional + MeshOwner *string `json:"meshOwner,omitempty" tf:"mesh_owner,omitempty"` + + // The name to use for the route. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Region is the region you'd like your resource to be created in. + // +upjet:crd:field:TFTag=- + // +kubebuilder:validation:Required + Region *string `json:"region" tf:"-"` + + // The route specification to apply. + // +kubebuilder:validation:Required + Spec []RouteSpecParameters `json:"spec" tf:"spec,omitempty"` + + // Key-value map of resource tags. + // +kubebuilder:validation:Optional + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // The name of the virtual router in which to create the route. Must be between 1 and 255 characters in length. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/appmesh/v1beta1.VirtualRouter + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("name",false) + // +kubebuilder:validation:Optional + VirtualRouterName *string `json:"virtualRouterName,omitempty" tf:"virtual_router_name,omitempty"` + + // Reference to a VirtualRouter in appmesh to populate virtualRouterName. + // +kubebuilder:validation:Optional + VirtualRouterNameRef *v1.Reference `json:"virtualRouterNameRef,omitempty" tf:"-"` + + // Selector for a VirtualRouter in appmesh to populate virtualRouterName. + // +kubebuilder:validation:Optional + VirtualRouterNameSelector *v1.Selector `json:"virtualRouterNameSelector,omitempty" tf:"-"` +} + +type RouteSpecObservation struct { +} + +type RouteSpecParameters struct { + + // The gRPC routing information for the route. + // +kubebuilder:validation:Optional + GRPCRoute []SpecGRPCRouteParameters `json:"grpcRoute,omitempty" tf:"grpc_route,omitempty"` + + // The HTTP routing information for the route. + // +kubebuilder:validation:Optional + HTTPRoute []SpecHTTPRouteParameters `json:"httpRoute,omitempty" tf:"http_route,omitempty"` + + // The HTTP/2 routing information for the route. + // +kubebuilder:validation:Optional + Http2Route []SpecHttp2RouteParameters `json:"http2Route,omitempty" tf:"http2_route,omitempty"` + + // The priority for the route, between 0 and 1000. + // Routes are matched based on the specified value, where 0 is the highest priority. + // +kubebuilder:validation:Optional + Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"` + + // The TCP routing information for the route. + // +kubebuilder:validation:Optional + TCPRoute []TCPRouteParameters `json:"tcpRoute,omitempty" tf:"tcp_route,omitempty"` +} + +type SpecGRPCRouteObservation struct { +} + +type SpecGRPCRouteParameters struct { + + // The action to take if a match is determined. + // +kubebuilder:validation:Required + Action []GRPCRouteActionParameters `json:"action" tf:"action,omitempty"` + + // The criteria for determining an gRPC request match. + // +kubebuilder:validation:Optional + Match []GRPCRouteMatchParameters `json:"match,omitempty" tf:"match,omitempty"` + + // The retry policy. + // +kubebuilder:validation:Optional + RetryPolicy []RetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"` + + // The types of timeouts. + // +kubebuilder:validation:Optional + Timeout []TimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"` +} + +type SpecHTTPRouteActionObservation struct { +} + +type SpecHTTPRouteActionParameters struct { + + // The targets that traffic is routed to when a request matches the route. + // You can specify one or more targets and their relative weights with which to distribute traffic. + // +kubebuilder:validation:Required + WeightedTarget []HTTPRouteActionWeightedTargetParameters `json:"weightedTarget" tf:"weighted_target,omitempty"` +} + +type SpecHTTPRouteMatchObservation struct { +} + +type SpecHTTPRouteMatchParameters struct { + + // The client request headers to match on. + // +kubebuilder:validation:Optional + Header []MatchHeaderParameters `json:"header,omitempty" tf:"header,omitempty"` + + // The client request header method to match on. Valid values: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH. + // +kubebuilder:validation:Optional + Method *string `json:"method,omitempty" tf:"method,omitempty"` + + // The value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + Prefix *string `json:"prefix" tf:"prefix,omitempty"` + + // The client request header scheme to match on. Valid values: http, https. + // +kubebuilder:validation:Optional + Scheme *string `json:"scheme,omitempty" tf:"scheme,omitempty"` +} + +type SpecHTTPRouteObservation struct { +} + +type SpecHTTPRouteParameters struct { + + // The action to take if a match is determined. + // +kubebuilder:validation:Required + Action []SpecHTTPRouteActionParameters `json:"action" tf:"action,omitempty"` + + // The criteria for determining an gRPC request match. + // +kubebuilder:validation:Required + Match []SpecHTTPRouteMatchParameters `json:"match" tf:"match,omitempty"` + + // The retry policy. + // +kubebuilder:validation:Optional + RetryPolicy []HTTPRouteRetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"` + + // The types of timeouts. + // +kubebuilder:validation:Optional + Timeout []HTTPRouteTimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"` +} + +type SpecHttp2RouteActionObservation struct { +} + +type SpecHttp2RouteActionParameters struct { + + // The targets that traffic is routed to when a request matches the route. + // You can specify one or more targets and their relative weights with which to distribute traffic. + // +kubebuilder:validation:Required + WeightedTarget []ActionWeightedTargetParameters `json:"weightedTarget" tf:"weighted_target,omitempty"` +} + +type SpecHttp2RouteMatchObservation struct { +} + +type SpecHttp2RouteMatchParameters struct { + + // The client request headers to match on. + // +kubebuilder:validation:Optional + Header []HeaderParameters `json:"header,omitempty" tf:"header,omitempty"` + + // The client request header method to match on. Valid values: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH. + // +kubebuilder:validation:Optional + Method *string `json:"method,omitempty" tf:"method,omitempty"` + + // The value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + Prefix *string `json:"prefix" tf:"prefix,omitempty"` + + // The client request header scheme to match on. Valid values: http, https. + // +kubebuilder:validation:Optional + Scheme *string `json:"scheme,omitempty" tf:"scheme,omitempty"` +} + +type SpecHttp2RouteObservation struct { +} + +type SpecHttp2RouteParameters struct { + + // The action to take if a match is determined. + // +kubebuilder:validation:Required + Action []SpecHttp2RouteActionParameters `json:"action" tf:"action,omitempty"` + + // The criteria for determining an gRPC request match. + // +kubebuilder:validation:Required + Match []SpecHttp2RouteMatchParameters `json:"match" tf:"match,omitempty"` + + // The retry policy. + // +kubebuilder:validation:Optional + RetryPolicy []Http2RouteRetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"` + + // The types of timeouts. + // +kubebuilder:validation:Optional + Timeout []Http2RouteTimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"` +} + +type TCPRouteActionObservation struct { +} + +type TCPRouteActionParameters struct { + + // The targets that traffic is routed to when a request matches the route. + // You can specify one or more targets and their relative weights with which to distribute traffic. + // +kubebuilder:validation:Required + WeightedTarget []TCPRouteActionWeightedTargetParameters `json:"weightedTarget" tf:"weighted_target,omitempty"` +} + +type TCPRouteActionWeightedTargetObservation struct { +} + +type TCPRouteActionWeightedTargetParameters struct { + + // The virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/appmesh/v1beta1.VirtualNode + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("name",false) + // +kubebuilder:validation:Optional + VirtualNode *string `json:"virtualNode,omitempty" tf:"virtual_node,omitempty"` + + // Reference to a VirtualNode in appmesh to populate virtualNode. + // +kubebuilder:validation:Optional + VirtualNodeRef *v1.Reference `json:"virtualNodeRef,omitempty" tf:"-"` + + // Selector for a VirtualNode in appmesh to populate virtualNode. + // +kubebuilder:validation:Optional + VirtualNodeSelector *v1.Selector `json:"virtualNodeSelector,omitempty" tf:"-"` + + // The relative weight of the weighted target. An integer between 0 and 100. + // +kubebuilder:validation:Required + Weight *float64 `json:"weight" tf:"weight,omitempty"` +} + +type TCPRouteObservation struct { +} + +type TCPRouteParameters struct { + + // The action to take if a match is determined. + // +kubebuilder:validation:Required + Action []TCPRouteActionParameters `json:"action" tf:"action,omitempty"` + + // The types of timeouts. + // +kubebuilder:validation:Optional + Timeout []TCPRouteTimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"` +} + +type TCPRouteTimeoutIdleObservation struct { +} + +type TCPRouteTimeoutIdleParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type TCPRouteTimeoutObservation struct { +} + +type TCPRouteTimeoutParameters struct { + + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + // +kubebuilder:validation:Optional + Idle []TCPRouteTimeoutIdleParameters `json:"idle,omitempty" tf:"idle,omitempty"` +} + +type TimeoutIdleObservation struct { +} + +type TimeoutIdleParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type TimeoutObservation struct { +} + +type TimeoutParameters struct { + + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + // +kubebuilder:validation:Optional + Idle []IdleParameters `json:"idle,omitempty" tf:"idle,omitempty"` + + // The per request timeout. + // +kubebuilder:validation:Optional + PerRequest []PerRequestParameters `json:"perRequest,omitempty" tf:"per_request,omitempty"` +} + +type TimeoutPerRequestObservation struct { +} + +type TimeoutPerRequestParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type WeightedTargetObservation struct { +} + +type WeightedTargetParameters struct { + + // The virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + VirtualNode *string `json:"virtualNode" tf:"virtual_node,omitempty"` + + // The relative weight of the weighted target. An integer between 0 and 100. + // +kubebuilder:validation:Required + Weight *float64 `json:"weight" tf:"weight,omitempty"` +} + +// RouteSpec defines the desired state of Route +type RouteSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RouteParameters `json:"forProvider"` +} + +// RouteStatus defines the observed state of Route. +type RouteStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RouteObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Route is the Schema for the Routes API. Provides an AWS App Mesh route resource. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws} +type Route struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RouteSpec `json:"spec"` + Status RouteStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RouteList contains a list of Routes +type RouteList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Route `json:"items"` +} + +// Repository type metadata. +var ( + Route_Kind = "Route" + Route_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Route_Kind}.String() + Route_KindAPIVersion = Route_Kind + "." + CRDGroupVersion.String() + Route_GroupVersionKind = CRDGroupVersion.WithKind(Route_Kind) +) + +func init() { + SchemeBuilder.Register(&Route{}, &RouteList{}) +} diff --git a/apis/appmesh/v1beta1/zz_virtualgateway_types.go b/apis/appmesh/v1beta1/zz_virtualgateway_types.go new file mode 100755 index 0000000000..f2f5a1e797 --- /dev/null +++ b/apis/appmesh/v1beta1/zz_virtualgateway_types.go @@ -0,0 +1,592 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type AccessLogFileObservation struct { +} + +type AccessLogFileParameters struct { + + // The file path to write access logs to. You can use /dev/stdout to send access logs to standard out. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + Path *string `json:"path" tf:"path,omitempty"` +} + +type AccessLogObservation struct { +} + +type AccessLogParameters struct { + + // A local file certificate. + // +kubebuilder:validation:Optional + File []AccessLogFileParameters `json:"file,omitempty" tf:"file,omitempty"` +} + +type AcmObservation struct { +} + +type AcmParameters struct { + + // One or more ACM Amazon Resource Name (ARN)s. + // +kubebuilder:validation:Required + CertificateAuthorityArns []*string `json:"certificateAuthorityArns" tf:"certificate_authority_arns,omitempty"` +} + +type BackendDefaultsObservation struct { +} + +type BackendDefaultsParameters struct { + + // The default client policy for virtual gateway backends. + // +kubebuilder:validation:Optional + ClientPolicy []ClientPolicyParameters `json:"clientPolicy,omitempty" tf:"client_policy,omitempty"` +} + +type CertificateAcmObservation struct { +} + +type CertificateAcmParameters struct { + + // The Amazon Resource Name (ARN) for the certificate. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/acm/v1beta1.Certificate + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("arn",true) + // +kubebuilder:validation:Optional + CertificateArn *string `json:"certificateArn,omitempty" tf:"certificate_arn,omitempty"` + + // Reference to a Certificate in acm to populate certificateArn. + // +kubebuilder:validation:Optional + CertificateArnRef *v1.Reference `json:"certificateArnRef,omitempty" tf:"-"` + + // Selector for a Certificate in acm to populate certificateArn. + // +kubebuilder:validation:Optional + CertificateArnSelector *v1.Selector `json:"certificateArnSelector,omitempty" tf:"-"` +} + +type CertificateFileObservation struct { +} + +type CertificateFileParameters struct { + + // The certificate chain for the certificate. + // +kubebuilder:validation:Required + CertificateChain *string `json:"certificateChain" tf:"certificate_chain,omitempty"` + + // The private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. + // +kubebuilder:validation:Required + PrivateKey *string `json:"privateKey" tf:"private_key,omitempty"` +} + +type CertificateObservation struct { +} + +type CertificateParameters struct { + + // A local file certificate. + // +kubebuilder:validation:Optional + File []FileParameters `json:"file,omitempty" tf:"file,omitempty"` + + // A Secret Discovery Service certificate. + // +kubebuilder:validation:Optional + Sds []SdsParameters `json:"sds,omitempty" tf:"sds,omitempty"` +} + +type CertificateSdsObservation struct { +} + +type CertificateSdsParameters struct { + + // The name of the secret secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain. + // +kubebuilder:validation:Required + SecretName *string `json:"secretName" tf:"secret_name,omitempty"` +} + +type ClientPolicyObservation struct { +} + +type ClientPolicyParameters struct { + + // The Transport Layer Security (TLS) client policy. + // +kubebuilder:validation:Optional + TLS []TLSParameters `json:"tls,omitempty" tf:"tls,omitempty"` +} + +type ConnectionPoolObservation struct { +} + +type ConnectionPoolParameters struct { + + // Connection pool information for gRPC listeners. + // +kubebuilder:validation:Optional + GRPC []GRPCParameters `json:"grpc,omitempty" tf:"grpc,omitempty"` + + // Connection pool information for HTTP listeners. + // +kubebuilder:validation:Optional + HTTP []HTTPParameters `json:"http,omitempty" tf:"http,omitempty"` + + // Connection pool information for HTTP2 listeners. + // +kubebuilder:validation:Optional + Http2 []Http2Parameters `json:"http2,omitempty" tf:"http2,omitempty"` +} + +type FileObservation struct { +} + +type FileParameters struct { + + // The certificate chain for the certificate. + // +kubebuilder:validation:Required + CertificateChain *string `json:"certificateChain" tf:"certificate_chain,omitempty"` + + // The private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. + // +kubebuilder:validation:Required + PrivateKey *string `json:"privateKey" tf:"private_key,omitempty"` +} + +type GRPCObservation struct { +} + +type GRPCParameters struct { + + // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1. + // +kubebuilder:validation:Required + MaxRequests *float64 `json:"maxRequests" tf:"max_requests,omitempty"` +} + +type HTTPObservation struct { +} + +type HTTPParameters struct { + + // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of 1. + // +kubebuilder:validation:Required + MaxConnections *float64 `json:"maxConnections" tf:"max_connections,omitempty"` + + // Number of overflowing requests after max_connections Envoy will queue to upstream cluster. Minimum value of 1. + // +kubebuilder:validation:Optional + MaxPendingRequests *float64 `json:"maxPendingRequests,omitempty" tf:"max_pending_requests,omitempty"` +} + +type HealthCheckObservation struct { +} + +type HealthCheckParameters struct { + + // The number of consecutive successful health checks that must occur before declaring listener healthy. + // +kubebuilder:validation:Required + HealthyThreshold *float64 `json:"healthyThreshold" tf:"healthy_threshold,omitempty"` + + // The time period in milliseconds between each health check execution. + // +kubebuilder:validation:Required + IntervalMillis *float64 `json:"intervalMillis" tf:"interval_millis,omitempty"` + + // The file path to write access logs to. You can use /dev/stdout to send access logs to standard out. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Optional + Path *string `json:"path,omitempty" tf:"path,omitempty"` + + // The port used for the port mapping. + // +kubebuilder:validation:Optional + Port *float64 `json:"port,omitempty" tf:"port,omitempty"` + + // The protocol used for the port mapping. Valid values are http, http2, tcp and grpc. + // +kubebuilder:validation:Required + Protocol *string `json:"protocol" tf:"protocol,omitempty"` + + // The amount of time to wait when receiving a response from the health check, in milliseconds. + // +kubebuilder:validation:Required + TimeoutMillis *float64 `json:"timeoutMillis" tf:"timeout_millis,omitempty"` + + // The number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. + // +kubebuilder:validation:Required + UnhealthyThreshold *float64 `json:"unhealthyThreshold" tf:"unhealthy_threshold,omitempty"` +} + +type Http2Observation struct { +} + +type Http2Parameters struct { + + // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1. + // +kubebuilder:validation:Required + MaxRequests *float64 `json:"maxRequests" tf:"max_requests,omitempty"` +} + +type ListenerObservation struct { +} + +type ListenerParameters struct { + + // The connection pool information for the listener. + // +kubebuilder:validation:Optional + ConnectionPool []ConnectionPoolParameters `json:"connectionPool,omitempty" tf:"connection_pool,omitempty"` + + // The health check information for the listener. + // +kubebuilder:validation:Optional + HealthCheck []HealthCheckParameters `json:"healthCheck,omitempty" tf:"health_check,omitempty"` + + // The port mapping information for the listener. + // +kubebuilder:validation:Required + PortMapping []PortMappingParameters `json:"portMapping" tf:"port_mapping,omitempty"` + + // The Transport Layer Security (TLS) client policy. + // +kubebuilder:validation:Optional + TLS []ListenerTLSParameters `json:"tls,omitempty" tf:"tls,omitempty"` +} + +type ListenerTLSObservation struct { +} + +type ListenerTLSParameters struct { + + // The virtual gateway's client's Transport Layer Security (TLS) certificate. + // +kubebuilder:validation:Required + Certificate []TLSCertificateParameters `json:"certificate" tf:"certificate,omitempty"` + + // The listener's TLS mode. Valid values: DISABLED, PERMISSIVE, STRICT. + // +kubebuilder:validation:Required + Mode *string `json:"mode" tf:"mode,omitempty"` + + // The TLS validation context. + // +kubebuilder:validation:Optional + Validation []TLSValidationParameters `json:"validation,omitempty" tf:"validation,omitempty"` +} + +type LoggingObservation struct { +} + +type LoggingParameters struct { + + // The access log configuration for a virtual gateway. + // +kubebuilder:validation:Optional + AccessLog []AccessLogParameters `json:"accessLog,omitempty" tf:"access_log,omitempty"` +} + +type PortMappingObservation struct { +} + +type PortMappingParameters struct { + + // The port used for the port mapping. + // +kubebuilder:validation:Required + Port *float64 `json:"port" tf:"port,omitempty"` + + // The protocol used for the port mapping. Valid values are http, http2, tcp and grpc. + // +kubebuilder:validation:Required + Protocol *string `json:"protocol" tf:"protocol,omitempty"` +} + +type SdsObservation struct { +} + +type SdsParameters struct { + + // The name of the secret secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain. + // +kubebuilder:validation:Required + SecretName *string `json:"secretName" tf:"secret_name,omitempty"` +} + +type SubjectAlternativeNamesMatchObservation struct { +} + +type SubjectAlternativeNamesMatchParameters struct { + + // The values sent must match the specified values exactly. + // +kubebuilder:validation:Required + Exact []*string `json:"exact" tf:"exact,omitempty"` +} + +type SubjectAlternativeNamesObservation struct { +} + +type SubjectAlternativeNamesParameters struct { + + // The criteria for determining a SAN's match. + // +kubebuilder:validation:Required + Match []SubjectAlternativeNamesMatchParameters `json:"match" tf:"match,omitempty"` +} + +type TLSCertificateObservation struct { +} + +type TLSCertificateParameters struct { + + // The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. + // +kubebuilder:validation:Optional + Acm []CertificateAcmParameters `json:"acm,omitempty" tf:"acm,omitempty"` + + // A local file certificate. + // +kubebuilder:validation:Optional + File []CertificateFileParameters `json:"file,omitempty" tf:"file,omitempty"` + + // A Secret Discovery Service certificate. + // +kubebuilder:validation:Optional + Sds []CertificateSdsParameters `json:"sds,omitempty" tf:"sds,omitempty"` +} + +type TLSObservation struct { +} + +type TLSParameters struct { + + // The virtual gateway's client's Transport Layer Security (TLS) certificate. + // +kubebuilder:validation:Optional + Certificate []CertificateParameters `json:"certificate,omitempty" tf:"certificate,omitempty"` + + // Whether the policy is enforced. Default is true. + // +kubebuilder:validation:Optional + Enforce *bool `json:"enforce,omitempty" tf:"enforce,omitempty"` + + // One or more ports that the policy is enforced for. + // +kubebuilder:validation:Optional + Ports []*float64 `json:"ports,omitempty" tf:"ports,omitempty"` + + // The TLS validation context. + // +kubebuilder:validation:Required + Validation []ValidationParameters `json:"validation" tf:"validation,omitempty"` +} + +type TLSValidationObservation struct { +} + +type TLSValidationParameters struct { + + // The SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. + // +kubebuilder:validation:Optional + SubjectAlternativeNames []ValidationSubjectAlternativeNamesParameters `json:"subjectAlternativeNames,omitempty" tf:"subject_alternative_names,omitempty"` + + // The TLS validation context trust. + // +kubebuilder:validation:Required + Trust []ValidationTrustParameters `json:"trust" tf:"trust,omitempty"` +} + +type TrustFileObservation struct { +} + +type TrustFileParameters struct { + + // The certificate chain for the certificate. + // +kubebuilder:validation:Required + CertificateChain *string `json:"certificateChain" tf:"certificate_chain,omitempty"` +} + +type TrustObservation struct { +} + +type TrustParameters struct { + + // The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. + // +kubebuilder:validation:Optional + Acm []AcmParameters `json:"acm,omitempty" tf:"acm,omitempty"` + + // A local file certificate. + // +kubebuilder:validation:Optional + File []TrustFileParameters `json:"file,omitempty" tf:"file,omitempty"` + + // A Secret Discovery Service certificate. + // +kubebuilder:validation:Optional + Sds []TrustSdsParameters `json:"sds,omitempty" tf:"sds,omitempty"` +} + +type TrustSdsObservation struct { +} + +type TrustSdsParameters struct { + + // The name of the secret secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain. + // +kubebuilder:validation:Required + SecretName *string `json:"secretName" tf:"secret_name,omitempty"` +} + +type ValidationObservation struct { +} + +type ValidationParameters struct { + + // The SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. + // +kubebuilder:validation:Optional + SubjectAlternativeNames []SubjectAlternativeNamesParameters `json:"subjectAlternativeNames,omitempty" tf:"subject_alternative_names,omitempty"` + + // The TLS validation context trust. + // +kubebuilder:validation:Required + Trust []TrustParameters `json:"trust" tf:"trust,omitempty"` +} + +type ValidationSubjectAlternativeNamesMatchObservation struct { +} + +type ValidationSubjectAlternativeNamesMatchParameters struct { + + // The values sent must match the specified values exactly. + // +kubebuilder:validation:Required + Exact []*string `json:"exact" tf:"exact,omitempty"` +} + +type ValidationSubjectAlternativeNamesObservation struct { +} + +type ValidationSubjectAlternativeNamesParameters struct { + + // The criteria for determining a SAN's match. + // +kubebuilder:validation:Required + Match []ValidationSubjectAlternativeNamesMatchParameters `json:"match" tf:"match,omitempty"` +} + +type ValidationTrustFileObservation struct { +} + +type ValidationTrustFileParameters struct { + + // The certificate chain for the certificate. + // +kubebuilder:validation:Required + CertificateChain *string `json:"certificateChain" tf:"certificate_chain,omitempty"` +} + +type ValidationTrustObservation struct { +} + +type ValidationTrustParameters struct { + + // A local file certificate. + // +kubebuilder:validation:Optional + File []ValidationTrustFileParameters `json:"file,omitempty" tf:"file,omitempty"` + + // A Secret Discovery Service certificate. + // +kubebuilder:validation:Optional + Sds []ValidationTrustSdsParameters `json:"sds,omitempty" tf:"sds,omitempty"` +} + +type ValidationTrustSdsObservation struct { +} + +type ValidationTrustSdsParameters struct { + + // The name of the secret secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain. + // +kubebuilder:validation:Required + SecretName *string `json:"secretName" tf:"secret_name,omitempty"` +} + +type VirtualGatewayObservation struct { + + // The ARN of the virtual gateway. + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // The creation date of the virtual gateway. + CreatedDate *string `json:"createdDate,omitempty" tf:"created_date,omitempty"` + + // The ID of the virtual gateway. + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // The last update date of the virtual gateway. + LastUpdatedDate *string `json:"lastUpdatedDate,omitempty" tf:"last_updated_date,omitempty"` + + // The resource owner's AWS account ID. + ResourceOwner *string `json:"resourceOwner,omitempty" tf:"resource_owner,omitempty"` + + // A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. + TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` +} + +type VirtualGatewayParameters struct { + + // The name of the service mesh in which to create the virtual gateway. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + MeshName *string `json:"meshName" tf:"mesh_name,omitempty"` + + // The AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. + // +kubebuilder:validation:Optional + MeshOwner *string `json:"meshOwner,omitempty" tf:"mesh_owner,omitempty"` + + // The name to use for the virtual gateway. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Region is the region you'd like your resource to be created in. + // +upjet:crd:field:TFTag=- + // +kubebuilder:validation:Required + Region *string `json:"region" tf:"-"` + + // The virtual gateway specification to apply. + // +kubebuilder:validation:Required + Spec []VirtualGatewaySpecParameters `json:"spec" tf:"spec,omitempty"` + + // Key-value map of resource tags. + // +kubebuilder:validation:Optional + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` +} + +type VirtualGatewaySpecObservation struct { +} + +type VirtualGatewaySpecParameters struct { + + // The defaults for backends. + // +kubebuilder:validation:Optional + BackendDefaults []BackendDefaultsParameters `json:"backendDefaults,omitempty" tf:"backend_defaults,omitempty"` + + // The listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. + // +kubebuilder:validation:Required + Listener []ListenerParameters `json:"listener" tf:"listener,omitempty"` + + // The inbound and outbound access logging information for the virtual gateway. + // +kubebuilder:validation:Optional + Logging []LoggingParameters `json:"logging,omitempty" tf:"logging,omitempty"` +} + +// VirtualGatewaySpec defines the desired state of VirtualGateway +type VirtualGatewaySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider VirtualGatewayParameters `json:"forProvider"` +} + +// VirtualGatewayStatus defines the observed state of VirtualGateway. +type VirtualGatewayStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider VirtualGatewayObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// VirtualGateway is the Schema for the VirtualGateways API. Provides an AWS App Mesh virtual gateway resource. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws} +type VirtualGateway struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec VirtualGatewaySpec `json:"spec"` + Status VirtualGatewayStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// VirtualGatewayList contains a list of VirtualGateways +type VirtualGatewayList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []VirtualGateway `json:"items"` +} + +// Repository type metadata. +var ( + VirtualGateway_Kind = "VirtualGateway" + VirtualGateway_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: VirtualGateway_Kind}.String() + VirtualGateway_KindAPIVersion = VirtualGateway_Kind + "." + CRDGroupVersion.String() + VirtualGateway_GroupVersionKind = CRDGroupVersion.WithKind(VirtualGateway_Kind) +) + +func init() { + SchemeBuilder.Register(&VirtualGateway{}, &VirtualGatewayList{}) +} diff --git a/apis/appmesh/v1beta1/zz_virtualnode_types.go b/apis/appmesh/v1beta1/zz_virtualnode_types.go new file mode 100755 index 0000000000..76210f3b2f --- /dev/null +++ b/apis/appmesh/v1beta1/zz_virtualnode_types.go @@ -0,0 +1,1074 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type AwsCloudMapObservation struct { +} + +type AwsCloudMapParameters struct { + + // A string map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned. + // +kubebuilder:validation:Optional + Attributes map[string]*string `json:"attributes,omitempty" tf:"attributes,omitempty"` + + // The name of the AWS Cloud Map namespace to use. + // Use the aws_service_discovery_http_namespace resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/servicediscovery/v1beta1.HTTPNamespace + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("name",false) + // +kubebuilder:validation:Optional + NamespaceName *string `json:"namespaceName,omitempty" tf:"namespace_name,omitempty"` + + // Reference to a HTTPNamespace in servicediscovery to populate namespaceName. + // +kubebuilder:validation:Optional + NamespaceNameRef *v1.Reference `json:"namespaceNameRef,omitempty" tf:"-"` + + // Selector for a HTTPNamespace in servicediscovery to populate namespaceName. + // +kubebuilder:validation:Optional + NamespaceNameSelector *v1.Selector `json:"namespaceNameSelector,omitempty" tf:"-"` + + // attribute of the dns object to hostname. + // +kubebuilder:validation:Required + ServiceName *string `json:"serviceName" tf:"service_name,omitempty"` +} + +type BackendDefaultsClientPolicyObservation struct { +} + +type BackendDefaultsClientPolicyParameters struct { + + // The Transport Layer Security (TLS) client policy. + // +kubebuilder:validation:Optional + TLS []BackendDefaultsClientPolicyTLSParameters `json:"tls,omitempty" tf:"tls,omitempty"` +} + +type BackendDefaultsClientPolicyTLSCertificateObservation struct { +} + +type BackendDefaultsClientPolicyTLSCertificateParameters struct { + + // A local file certificate. + // +kubebuilder:validation:Optional + File []ClientPolicyTLSCertificateFileParameters `json:"file,omitempty" tf:"file,omitempty"` + + // A Secret Discovery Service certificate. + // +kubebuilder:validation:Optional + Sds []ClientPolicyTLSCertificateSdsParameters `json:"sds,omitempty" tf:"sds,omitempty"` +} + +type BackendDefaultsClientPolicyTLSObservation struct { +} + +type BackendDefaultsClientPolicyTLSParameters struct { + + // The virtual node's client's Transport Layer Security (TLS) certificate. + // +kubebuilder:validation:Optional + Certificate []BackendDefaultsClientPolicyTLSCertificateParameters `json:"certificate,omitempty" tf:"certificate,omitempty"` + + // Whether the policy is enforced. Default is true. + // +kubebuilder:validation:Optional + Enforce *bool `json:"enforce,omitempty" tf:"enforce,omitempty"` + + // One or more ports that the policy is enforced for. + // +kubebuilder:validation:Optional + Ports []*float64 `json:"ports,omitempty" tf:"ports,omitempty"` + + // The TLS validation context. + // +kubebuilder:validation:Required + Validation []BackendDefaultsClientPolicyTLSValidationParameters `json:"validation" tf:"validation,omitempty"` +} + +type BackendDefaultsClientPolicyTLSValidationObservation struct { +} + +type BackendDefaultsClientPolicyTLSValidationParameters struct { + + // The SANs for a TLS validation context. + // +kubebuilder:validation:Optional + SubjectAlternativeNames []ClientPolicyTLSValidationSubjectAlternativeNamesParameters `json:"subjectAlternativeNames,omitempty" tf:"subject_alternative_names,omitempty"` + + // The TLS validation context trust. + // +kubebuilder:validation:Required + Trust []ClientPolicyTLSValidationTrustParameters `json:"trust" tf:"trust,omitempty"` +} + +type BackendObservation struct { +} + +type BackendParameters struct { + + // Specifies a virtual service to use as a backend for a virtual node. + // +kubebuilder:validation:Required + VirtualService []BackendVirtualServiceParameters `json:"virtualService" tf:"virtual_service,omitempty"` +} + +type BackendVirtualServiceObservation struct { +} + +type BackendVirtualServiceParameters struct { + + // The client policy for the backend. + // +kubebuilder:validation:Optional + ClientPolicy []VirtualServiceClientPolicyParameters `json:"clientPolicy,omitempty" tf:"client_policy,omitempty"` + + // The name of the virtual service that is acting as a virtual node backend. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + VirtualServiceName *string `json:"virtualServiceName" tf:"virtual_service_name,omitempty"` +} + +type BaseEjectionDurationObservation struct { +} + +type BaseEjectionDurationParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type ClientPolicyTLSCertificateFileObservation struct { +} + +type ClientPolicyTLSCertificateFileParameters struct { + + // The certificate chain for the certificate. + // +kubebuilder:validation:Required + CertificateChain *string `json:"certificateChain" tf:"certificate_chain,omitempty"` + + // The private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. + // +kubebuilder:validation:Required + PrivateKey *string `json:"privateKey" tf:"private_key,omitempty"` +} + +type ClientPolicyTLSCertificateObservation struct { +} + +type ClientPolicyTLSCertificateParameters struct { + + // A local file certificate. + // +kubebuilder:validation:Optional + File []TLSCertificateFileParameters `json:"file,omitempty" tf:"file,omitempty"` + + // A Secret Discovery Service certificate. + // +kubebuilder:validation:Optional + Sds []TLSCertificateSdsParameters `json:"sds,omitempty" tf:"sds,omitempty"` +} + +type ClientPolicyTLSCertificateSdsObservation struct { +} + +type ClientPolicyTLSCertificateSdsParameters struct { + + // The name of the secret secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain. + // +kubebuilder:validation:Required + SecretName *string `json:"secretName" tf:"secret_name,omitempty"` +} + +type ClientPolicyTLSObservation struct { +} + +type ClientPolicyTLSParameters struct { + + // The virtual node's client's Transport Layer Security (TLS) certificate. + // +kubebuilder:validation:Optional + Certificate []ClientPolicyTLSCertificateParameters `json:"certificate,omitempty" tf:"certificate,omitempty"` + + // Whether the policy is enforced. Default is true. + // +kubebuilder:validation:Optional + Enforce *bool `json:"enforce,omitempty" tf:"enforce,omitempty"` + + // One or more ports that the policy is enforced for. + // +kubebuilder:validation:Optional + Ports []*float64 `json:"ports,omitempty" tf:"ports,omitempty"` + + // The TLS validation context. + // +kubebuilder:validation:Required + Validation []ClientPolicyTLSValidationParameters `json:"validation" tf:"validation,omitempty"` +} + +type ClientPolicyTLSValidationObservation struct { +} + +type ClientPolicyTLSValidationParameters struct { + + // The SANs for a TLS validation context. + // +kubebuilder:validation:Optional + SubjectAlternativeNames []TLSValidationSubjectAlternativeNamesParameters `json:"subjectAlternativeNames,omitempty" tf:"subject_alternative_names,omitempty"` + + // The TLS validation context trust. + // +kubebuilder:validation:Required + Trust []TLSValidationTrustParameters `json:"trust" tf:"trust,omitempty"` +} + +type ClientPolicyTLSValidationSubjectAlternativeNamesMatchObservation struct { +} + +type ClientPolicyTLSValidationSubjectAlternativeNamesMatchParameters struct { + + // The values sent must match the specified values exactly. + // +kubebuilder:validation:Required + Exact []*string `json:"exact" tf:"exact,omitempty"` +} + +type ClientPolicyTLSValidationSubjectAlternativeNamesObservation struct { +} + +type ClientPolicyTLSValidationSubjectAlternativeNamesParameters struct { + + // The criteria for determining a SAN's match. + // +kubebuilder:validation:Required + Match []ClientPolicyTLSValidationSubjectAlternativeNamesMatchParameters `json:"match" tf:"match,omitempty"` +} + +type ClientPolicyTLSValidationTrustFileObservation struct { +} + +type ClientPolicyTLSValidationTrustFileParameters struct { + + // The certificate chain for the certificate. + // +kubebuilder:validation:Required + CertificateChain *string `json:"certificateChain" tf:"certificate_chain,omitempty"` +} + +type ClientPolicyTLSValidationTrustObservation struct { +} + +type ClientPolicyTLSValidationTrustParameters struct { + + // The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. + // +kubebuilder:validation:Optional + Acm []ValidationTrustAcmParameters `json:"acm,omitempty" tf:"acm,omitempty"` + + // A local file certificate. + // +kubebuilder:validation:Optional + File []ClientPolicyTLSValidationTrustFileParameters `json:"file,omitempty" tf:"file,omitempty"` + + // A Secret Discovery Service certificate. + // +kubebuilder:validation:Optional + Sds []ClientPolicyTLSValidationTrustSdsParameters `json:"sds,omitempty" tf:"sds,omitempty"` +} + +type ClientPolicyTLSValidationTrustSdsObservation struct { +} + +type ClientPolicyTLSValidationTrustSdsParameters struct { + + // The name of the secret secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain. + // +kubebuilder:validation:Required + SecretName *string `json:"secretName" tf:"secret_name,omitempty"` +} + +type ConnectionPoolGRPCObservation struct { +} + +type ConnectionPoolGRPCParameters struct { + + // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1. + // +kubebuilder:validation:Required + MaxRequests *float64 `json:"maxRequests" tf:"max_requests,omitempty"` +} + +type ConnectionPoolHTTPObservation struct { +} + +type ConnectionPoolHTTPParameters struct { + + // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of 1. + // +kubebuilder:validation:Required + MaxConnections *float64 `json:"maxConnections" tf:"max_connections,omitempty"` + + // Number of overflowing requests after max_connections Envoy will queue to upstream cluster. Minimum value of 1. + // +kubebuilder:validation:Optional + MaxPendingRequests *float64 `json:"maxPendingRequests,omitempty" tf:"max_pending_requests,omitempty"` +} + +type ConnectionPoolHttp2Observation struct { +} + +type ConnectionPoolHttp2Parameters struct { + + // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1. + // +kubebuilder:validation:Required + MaxRequests *float64 `json:"maxRequests" tf:"max_requests,omitempty"` +} + +type DNSObservation struct { +} + +type DNSParameters struct { + + // The DNS host name for your virtual node. + // +kubebuilder:validation:Required + Hostname *string `json:"hostname" tf:"hostname,omitempty"` +} + +type GRPCIdleObservation struct { +} + +type GRPCIdleParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type GRPCPerRequestObservation struct { +} + +type GRPCPerRequestParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type HTTPIdleObservation struct { +} + +type HTTPIdleParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type HTTPPerRequestObservation struct { +} + +type HTTPPerRequestParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type Http2IdleObservation struct { +} + +type Http2IdleParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type Http2PerRequestObservation struct { +} + +type Http2PerRequestParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type IntervalObservation struct { +} + +type IntervalParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type ListenerConnectionPoolObservation struct { +} + +type ListenerConnectionPoolParameters struct { + + // Connection pool information for gRPC listeners. + // +kubebuilder:validation:Optional + GRPC []ConnectionPoolGRPCParameters `json:"grpc,omitempty" tf:"grpc,omitempty"` + + // Connection pool information for HTTP listeners. + // +kubebuilder:validation:Optional + HTTP []ConnectionPoolHTTPParameters `json:"http,omitempty" tf:"http,omitempty"` + + // Connection pool information for HTTP2 listeners. + // +kubebuilder:validation:Optional + Http2 []ConnectionPoolHttp2Parameters `json:"http2,omitempty" tf:"http2,omitempty"` + + // Connection pool information for TCP listeners. + // +kubebuilder:validation:Optional + TCP []TCPParameters `json:"tcp,omitempty" tf:"tcp,omitempty"` +} + +type ListenerHealthCheckObservation struct { +} + +type ListenerHealthCheckParameters struct { + + // The number of consecutive successful health checks that must occur before declaring listener healthy. + // +kubebuilder:validation:Required + HealthyThreshold *float64 `json:"healthyThreshold" tf:"healthy_threshold,omitempty"` + + // The time period in milliseconds between each health check execution. + // +kubebuilder:validation:Required + IntervalMillis *float64 `json:"intervalMillis" tf:"interval_millis,omitempty"` + + // The file path to write access logs to. You can use /dev/stdout to send access logs to standard out. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Optional + Path *string `json:"path,omitempty" tf:"path,omitempty"` + + // The port used for the port mapping. + // +kubebuilder:validation:Optional + Port *float64 `json:"port,omitempty" tf:"port,omitempty"` + + // The protocol used for the port mapping. Valid values are http, http2, tcp and grpc. + // +kubebuilder:validation:Required + Protocol *string `json:"protocol" tf:"protocol,omitempty"` + + // The amount of time to wait when receiving a response from the health check, in milliseconds. + // +kubebuilder:validation:Required + TimeoutMillis *float64 `json:"timeoutMillis" tf:"timeout_millis,omitempty"` + + // The number of consecutive failed health checks that must occur before declaring a virtual node unhealthy. + // +kubebuilder:validation:Required + UnhealthyThreshold *float64 `json:"unhealthyThreshold" tf:"unhealthy_threshold,omitempty"` +} + +type ListenerPortMappingObservation struct { +} + +type ListenerPortMappingParameters struct { + + // The port used for the port mapping. + // +kubebuilder:validation:Required + Port *float64 `json:"port" tf:"port,omitempty"` + + // The protocol used for the port mapping. Valid values are http, http2, tcp and grpc. + // +kubebuilder:validation:Required + Protocol *string `json:"protocol" tf:"protocol,omitempty"` +} + +type ListenerTLSCertificateFileObservation struct { +} + +type ListenerTLSCertificateFileParameters struct { + + // The certificate chain for the certificate. + // +kubebuilder:validation:Required + CertificateChain *string `json:"certificateChain" tf:"certificate_chain,omitempty"` + + // The private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. + // +kubebuilder:validation:Required + PrivateKey *string `json:"privateKey" tf:"private_key,omitempty"` +} + +type ListenerTLSCertificateObservation struct { +} + +type ListenerTLSCertificateParameters struct { + + // The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. + // +kubebuilder:validation:Optional + Acm []TLSCertificateAcmParameters `json:"acm,omitempty" tf:"acm,omitempty"` + + // A local file certificate. + // +kubebuilder:validation:Optional + File []ListenerTLSCertificateFileParameters `json:"file,omitempty" tf:"file,omitempty"` + + // A Secret Discovery Service certificate. + // +kubebuilder:validation:Optional + Sds []ListenerTLSCertificateSdsParameters `json:"sds,omitempty" tf:"sds,omitempty"` +} + +type ListenerTLSCertificateSdsObservation struct { +} + +type ListenerTLSCertificateSdsParameters struct { + + // The name of the secret secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain. + // +kubebuilder:validation:Required + SecretName *string `json:"secretName" tf:"secret_name,omitempty"` +} + +type ListenerTLSValidationObservation struct { +} + +type ListenerTLSValidationParameters struct { + + // The SANs for a TLS validation context. + // +kubebuilder:validation:Optional + SubjectAlternativeNames []ListenerTLSValidationSubjectAlternativeNamesParameters `json:"subjectAlternativeNames,omitempty" tf:"subject_alternative_names,omitempty"` + + // The TLS validation context trust. + // +kubebuilder:validation:Required + Trust []ListenerTLSValidationTrustParameters `json:"trust" tf:"trust,omitempty"` +} + +type ListenerTLSValidationSubjectAlternativeNamesMatchObservation struct { +} + +type ListenerTLSValidationSubjectAlternativeNamesMatchParameters struct { + + // The values sent must match the specified values exactly. + // +kubebuilder:validation:Required + Exact []*string `json:"exact" tf:"exact,omitempty"` +} + +type ListenerTLSValidationSubjectAlternativeNamesObservation struct { +} + +type ListenerTLSValidationSubjectAlternativeNamesParameters struct { + + // The criteria for determining a SAN's match. + // +kubebuilder:validation:Required + Match []ListenerTLSValidationSubjectAlternativeNamesMatchParameters `json:"match" tf:"match,omitempty"` +} + +type ListenerTLSValidationTrustFileObservation struct { +} + +type ListenerTLSValidationTrustFileParameters struct { + + // The certificate chain for the certificate. + // +kubebuilder:validation:Required + CertificateChain *string `json:"certificateChain" tf:"certificate_chain,omitempty"` +} + +type ListenerTLSValidationTrustObservation struct { +} + +type ListenerTLSValidationTrustParameters struct { + + // A local file certificate. + // +kubebuilder:validation:Optional + File []ListenerTLSValidationTrustFileParameters `json:"file,omitempty" tf:"file,omitempty"` + + // A Secret Discovery Service certificate. + // +kubebuilder:validation:Optional + Sds []ListenerTLSValidationTrustSdsParameters `json:"sds,omitempty" tf:"sds,omitempty"` +} + +type ListenerTLSValidationTrustSdsObservation struct { +} + +type ListenerTLSValidationTrustSdsParameters struct { + + // The name of the secret secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain. + // +kubebuilder:validation:Required + SecretName *string `json:"secretName" tf:"secret_name,omitempty"` +} + +type ListenerTimeoutObservation struct { +} + +type ListenerTimeoutParameters struct { + + // Connection pool information for gRPC listeners. + // +kubebuilder:validation:Optional + GRPC []TimeoutGRPCParameters `json:"grpc,omitempty" tf:"grpc,omitempty"` + + // Connection pool information for HTTP listeners. + // +kubebuilder:validation:Optional + HTTP []TimeoutHTTPParameters `json:"http,omitempty" tf:"http,omitempty"` + + // Connection pool information for HTTP2 listeners. + // +kubebuilder:validation:Optional + Http2 []TimeoutHttp2Parameters `json:"http2,omitempty" tf:"http2,omitempty"` + + // Connection pool information for TCP listeners. + // +kubebuilder:validation:Optional + TCP []TimeoutTCPParameters `json:"tcp,omitempty" tf:"tcp,omitempty"` +} + +type LoggingAccessLogFileObservation struct { +} + +type LoggingAccessLogFileParameters struct { + + // The file path to write access logs to. You can use /dev/stdout to send access logs to standard out. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + Path *string `json:"path" tf:"path,omitempty"` +} + +type LoggingAccessLogObservation struct { +} + +type LoggingAccessLogParameters struct { + + // A local file certificate. + // +kubebuilder:validation:Optional + File []LoggingAccessLogFileParameters `json:"file,omitempty" tf:"file,omitempty"` +} + +type OutlierDetectionObservation struct { +} + +type OutlierDetectionParameters struct { + + // The base amount of time for which a host is ejected. + // +kubebuilder:validation:Required + BaseEjectionDuration []BaseEjectionDurationParameters `json:"baseEjectionDuration" tf:"base_ejection_duration,omitempty"` + + // The time interval between ejection sweep analysis. + // +kubebuilder:validation:Required + Interval []IntervalParameters `json:"interval" tf:"interval,omitempty"` + + // Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value. + // Minimum value of 0. Maximum value of 100. + // +kubebuilder:validation:Required + MaxEjectionPercent *float64 `json:"maxEjectionPercent" tf:"max_ejection_percent,omitempty"` + + // Number of consecutive 5xx errors required for ejection. Minimum value of 1. + // +kubebuilder:validation:Required + MaxServerErrors *float64 `json:"maxServerErrors" tf:"max_server_errors,omitempty"` +} + +type ServiceDiscoveryObservation struct { +} + +type ServiceDiscoveryParameters struct { + + // Specifies any AWS Cloud Map information for the virtual node. + // +kubebuilder:validation:Optional + AwsCloudMap []AwsCloudMapParameters `json:"awsCloudMap,omitempty" tf:"aws_cloud_map,omitempty"` + + // Specifies the DNS service name for the virtual node. + // +kubebuilder:validation:Optional + DNS []DNSParameters `json:"dns,omitempty" tf:"dns,omitempty"` +} + +type SpecBackendDefaultsObservation struct { +} + +type SpecBackendDefaultsParameters struct { + + // The client policy for the backend. + // +kubebuilder:validation:Optional + ClientPolicy []BackendDefaultsClientPolicyParameters `json:"clientPolicy,omitempty" tf:"client_policy,omitempty"` +} + +type SpecListenerObservation struct { +} + +type SpecListenerParameters struct { + + // The connection pool information for the listener. + // +kubebuilder:validation:Optional + ConnectionPool []ListenerConnectionPoolParameters `json:"connectionPool,omitempty" tf:"connection_pool,omitempty"` + + // The health check information for the listener. + // +kubebuilder:validation:Optional + HealthCheck []ListenerHealthCheckParameters `json:"healthCheck,omitempty" tf:"health_check,omitempty"` + + // The outlier detection information for the listener. + // +kubebuilder:validation:Optional + OutlierDetection []OutlierDetectionParameters `json:"outlierDetection,omitempty" tf:"outlier_detection,omitempty"` + + // The port mapping information for the listener. + // +kubebuilder:validation:Required + PortMapping []ListenerPortMappingParameters `json:"portMapping" tf:"port_mapping,omitempty"` + + // The Transport Layer Security (TLS) client policy. + // +kubebuilder:validation:Optional + TLS []SpecListenerTLSParameters `json:"tls,omitempty" tf:"tls,omitempty"` + + // Timeouts for different protocols. + // +kubebuilder:validation:Optional + Timeout []ListenerTimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"` +} + +type SpecListenerTLSObservation struct { +} + +type SpecListenerTLSParameters struct { + + // The virtual node's client's Transport Layer Security (TLS) certificate. + // +kubebuilder:validation:Required + Certificate []ListenerTLSCertificateParameters `json:"certificate" tf:"certificate,omitempty"` + + // The listener's TLS mode. Valid values: DISABLED, PERMISSIVE, STRICT. + // +kubebuilder:validation:Required + Mode *string `json:"mode" tf:"mode,omitempty"` + + // The TLS validation context. + // +kubebuilder:validation:Optional + Validation []ListenerTLSValidationParameters `json:"validation,omitempty" tf:"validation,omitempty"` +} + +type SpecLoggingObservation struct { +} + +type SpecLoggingParameters struct { + + // The access log configuration for a virtual node. + // +kubebuilder:validation:Optional + AccessLog []LoggingAccessLogParameters `json:"accessLog,omitempty" tf:"access_log,omitempty"` +} + +type TCPIdleObservation struct { +} + +type TCPIdleParameters struct { + + // The unit of time. Valid values: ms, s. + // +kubebuilder:validation:Required + Unit *string `json:"unit" tf:"unit,omitempty"` + + // The number of time units. Minimum value of 0. + // +kubebuilder:validation:Required + Value *float64 `json:"value" tf:"value,omitempty"` +} + +type TCPObservation struct { +} + +type TCPParameters struct { + + // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of 1. + // +kubebuilder:validation:Required + MaxConnections *float64 `json:"maxConnections" tf:"max_connections,omitempty"` +} + +type TLSCertificateAcmObservation struct { +} + +type TLSCertificateAcmParameters struct { + + // The Amazon Resource Name (ARN) for the certificate. + // +kubebuilder:validation:Required + CertificateArn *string `json:"certificateArn" tf:"certificate_arn,omitempty"` +} + +type TLSCertificateFileObservation struct { +} + +type TLSCertificateFileParameters struct { + + // The certificate chain for the certificate. + // +kubebuilder:validation:Required + CertificateChain *string `json:"certificateChain" tf:"certificate_chain,omitempty"` + + // The private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. + // +kubebuilder:validation:Required + PrivateKey *string `json:"privateKey" tf:"private_key,omitempty"` +} + +type TLSCertificateSdsObservation struct { +} + +type TLSCertificateSdsParameters struct { + + // The name of the secret secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain. + // +kubebuilder:validation:Required + SecretName *string `json:"secretName" tf:"secret_name,omitempty"` +} + +type TLSValidationSubjectAlternativeNamesMatchObservation struct { +} + +type TLSValidationSubjectAlternativeNamesMatchParameters struct { + + // The values sent must match the specified values exactly. + // +kubebuilder:validation:Required + Exact []*string `json:"exact" tf:"exact,omitempty"` +} + +type TLSValidationSubjectAlternativeNamesObservation struct { +} + +type TLSValidationSubjectAlternativeNamesParameters struct { + + // The criteria for determining a SAN's match. + // +kubebuilder:validation:Required + Match []TLSValidationSubjectAlternativeNamesMatchParameters `json:"match" tf:"match,omitempty"` +} + +type TLSValidationTrustFileObservation struct { +} + +type TLSValidationTrustFileParameters struct { + + // The certificate chain for the certificate. + // +kubebuilder:validation:Required + CertificateChain *string `json:"certificateChain" tf:"certificate_chain,omitempty"` +} + +type TLSValidationTrustObservation struct { +} + +type TLSValidationTrustParameters struct { + + // The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. + // +kubebuilder:validation:Optional + Acm []TrustAcmParameters `json:"acm,omitempty" tf:"acm,omitempty"` + + // A local file certificate. + // +kubebuilder:validation:Optional + File []TLSValidationTrustFileParameters `json:"file,omitempty" tf:"file,omitempty"` + + // A Secret Discovery Service certificate. + // +kubebuilder:validation:Optional + Sds []TLSValidationTrustSdsParameters `json:"sds,omitempty" tf:"sds,omitempty"` +} + +type TLSValidationTrustSdsObservation struct { +} + +type TLSValidationTrustSdsParameters struct { + + // The name of the secret secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain. + // +kubebuilder:validation:Required + SecretName *string `json:"secretName" tf:"secret_name,omitempty"` +} + +type TimeoutGRPCObservation struct { +} + +type TimeoutGRPCParameters struct { + + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + // +kubebuilder:validation:Optional + Idle []GRPCIdleParameters `json:"idle,omitempty" tf:"idle,omitempty"` + + // The per request timeout. + // +kubebuilder:validation:Optional + PerRequest []GRPCPerRequestParameters `json:"perRequest,omitempty" tf:"per_request,omitempty"` +} + +type TimeoutHTTPObservation struct { +} + +type TimeoutHTTPParameters struct { + + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + // +kubebuilder:validation:Optional + Idle []HTTPIdleParameters `json:"idle,omitempty" tf:"idle,omitempty"` + + // The per request timeout. + // +kubebuilder:validation:Optional + PerRequest []HTTPPerRequestParameters `json:"perRequest,omitempty" tf:"per_request,omitempty"` +} + +type TimeoutHttp2Observation struct { +} + +type TimeoutHttp2Parameters struct { + + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + // +kubebuilder:validation:Optional + Idle []Http2IdleParameters `json:"idle,omitempty" tf:"idle,omitempty"` + + // The per request timeout. + // +kubebuilder:validation:Optional + PerRequest []Http2PerRequestParameters `json:"perRequest,omitempty" tf:"per_request,omitempty"` +} + +type TimeoutTCPObservation struct { +} + +type TimeoutTCPParameters struct { + + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + // +kubebuilder:validation:Optional + Idle []TCPIdleParameters `json:"idle,omitempty" tf:"idle,omitempty"` +} + +type TrustAcmObservation struct { +} + +type TrustAcmParameters struct { + + // One or more ACM Amazon Resource Name (ARN)s. + // +kubebuilder:validation:Required + CertificateAuthorityArns []*string `json:"certificateAuthorityArns" tf:"certificate_authority_arns,omitempty"` +} + +type ValidationTrustAcmObservation struct { +} + +type ValidationTrustAcmParameters struct { + + // One or more ACM Amazon Resource Name (ARN)s. + // +kubebuilder:validation:Required + CertificateAuthorityArns []*string `json:"certificateAuthorityArns" tf:"certificate_authority_arns,omitempty"` +} + +type VirtualNodeObservation struct { + + // The ARN of the virtual node. + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // The creation date of the virtual node. + CreatedDate *string `json:"createdDate,omitempty" tf:"created_date,omitempty"` + + // The ID of the virtual node. + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // The last update date of the virtual node. + LastUpdatedDate *string `json:"lastUpdatedDate,omitempty" tf:"last_updated_date,omitempty"` + + // The resource owner's AWS account ID. + ResourceOwner *string `json:"resourceOwner,omitempty" tf:"resource_owner,omitempty"` + + // A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. + TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` +} + +type VirtualNodeParameters struct { + + // The name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/appmesh/v1beta1.Mesh + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + MeshName *string `json:"meshName,omitempty" tf:"mesh_name,omitempty"` + + // Reference to a Mesh in appmesh to populate meshName. + // +kubebuilder:validation:Optional + MeshNameRef *v1.Reference `json:"meshNameRef,omitempty" tf:"-"` + + // Selector for a Mesh in appmesh to populate meshName. + // +kubebuilder:validation:Optional + MeshNameSelector *v1.Selector `json:"meshNameSelector,omitempty" tf:"-"` + + // The AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. + // +kubebuilder:validation:Optional + MeshOwner *string `json:"meshOwner,omitempty" tf:"mesh_owner,omitempty"` + + // The name to use for the virtual node. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Region is the region you'd like your resource to be created in. + // +upjet:crd:field:TFTag=- + // +kubebuilder:validation:Required + Region *string `json:"region" tf:"-"` + + // The virtual node specification to apply. + // +kubebuilder:validation:Required + Spec []VirtualNodeSpecParameters `json:"spec" tf:"spec,omitempty"` + + // Key-value map of resource tags. + // +kubebuilder:validation:Optional + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` +} + +type VirtualNodeSpecObservation struct { +} + +type VirtualNodeSpecParameters struct { + + // The backends to which the virtual node is expected to send outbound traffic. + // +kubebuilder:validation:Optional + Backend []BackendParameters `json:"backend,omitempty" tf:"backend,omitempty"` + + // The defaults for backends. + // +kubebuilder:validation:Optional + BackendDefaults []SpecBackendDefaultsParameters `json:"backendDefaults,omitempty" tf:"backend_defaults,omitempty"` + + // The listeners from which the virtual node is expected to receive inbound traffic. + // +kubebuilder:validation:Optional + Listener []SpecListenerParameters `json:"listener,omitempty" tf:"listener,omitempty"` + + // The inbound and outbound access logging information for the virtual node. + // +kubebuilder:validation:Optional + Logging []SpecLoggingParameters `json:"logging,omitempty" tf:"logging,omitempty"` + + // The service discovery information for the virtual node. + // +kubebuilder:validation:Optional + ServiceDiscovery []ServiceDiscoveryParameters `json:"serviceDiscovery,omitempty" tf:"service_discovery,omitempty"` +} + +type VirtualServiceClientPolicyObservation struct { +} + +type VirtualServiceClientPolicyParameters struct { + + // The Transport Layer Security (TLS) client policy. + // +kubebuilder:validation:Optional + TLS []ClientPolicyTLSParameters `json:"tls,omitempty" tf:"tls,omitempty"` +} + +// VirtualNodeSpec defines the desired state of VirtualNode +type VirtualNodeSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider VirtualNodeParameters `json:"forProvider"` +} + +// VirtualNodeStatus defines the observed state of VirtualNode. +type VirtualNodeStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider VirtualNodeObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// VirtualNode is the Schema for the VirtualNodes API. Provides an AWS App Mesh virtual node resource. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws} +type VirtualNode struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec VirtualNodeSpec `json:"spec"` + Status VirtualNodeStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// VirtualNodeList contains a list of VirtualNodes +type VirtualNodeList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []VirtualNode `json:"items"` +} + +// Repository type metadata. +var ( + VirtualNode_Kind = "VirtualNode" + VirtualNode_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: VirtualNode_Kind}.String() + VirtualNode_KindAPIVersion = VirtualNode_Kind + "." + CRDGroupVersion.String() + VirtualNode_GroupVersionKind = CRDGroupVersion.WithKind(VirtualNode_Kind) +) + +func init() { + SchemeBuilder.Register(&VirtualNode{}, &VirtualNodeList{}) +} diff --git a/apis/appmesh/v1beta1/zz_virtualrouter_types.go b/apis/appmesh/v1beta1/zz_virtualrouter_types.go new file mode 100755 index 0000000000..87b41b7cff --- /dev/null +++ b/apis/appmesh/v1beta1/zz_virtualrouter_types.go @@ -0,0 +1,156 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type SpecListenerPortMappingObservation struct { +} + +type SpecListenerPortMappingParameters struct { + + // The port used for the port mapping. + // +kubebuilder:validation:Required + Port *float64 `json:"port" tf:"port,omitempty"` + + // The protocol used for the port mapping. Valid values are http,http2, tcp and grpc. + // +kubebuilder:validation:Required + Protocol *string `json:"protocol" tf:"protocol,omitempty"` +} + +type VirtualRouterObservation struct { + + // The ARN of the virtual router. + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // The creation date of the virtual router. + CreatedDate *string `json:"createdDate,omitempty" tf:"created_date,omitempty"` + + // The ID of the virtual router. + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // The last update date of the virtual router. + LastUpdatedDate *string `json:"lastUpdatedDate,omitempty" tf:"last_updated_date,omitempty"` + + // The resource owner's AWS account ID. + ResourceOwner *string `json:"resourceOwner,omitempty" tf:"resource_owner,omitempty"` + + // A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. + TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` +} + +type VirtualRouterParameters struct { + + // The name of the service mesh in which to create the virtual router. Must be between 1 and 255 characters in length. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/appmesh/v1beta1.Mesh + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + MeshName *string `json:"meshName,omitempty" tf:"mesh_name,omitempty"` + + // Reference to a Mesh in appmesh to populate meshName. + // +kubebuilder:validation:Optional + MeshNameRef *v1.Reference `json:"meshNameRef,omitempty" tf:"-"` + + // Selector for a Mesh in appmesh to populate meshName. + // +kubebuilder:validation:Optional + MeshNameSelector *v1.Selector `json:"meshNameSelector,omitempty" tf:"-"` + + // The AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. + // +kubebuilder:validation:Optional + MeshOwner *string `json:"meshOwner,omitempty" tf:"mesh_owner,omitempty"` + + // The name to use for the virtual router. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Region is the region you'd like your resource to be created in. + // +upjet:crd:field:TFTag=- + // +kubebuilder:validation:Required + Region *string `json:"region" tf:"-"` + + // The virtual router specification to apply. + // +kubebuilder:validation:Required + Spec []VirtualRouterSpecParameters `json:"spec" tf:"spec,omitempty"` + + // Key-value map of resource tags. + // +kubebuilder:validation:Optional + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` +} + +type VirtualRouterSpecListenerObservation struct { +} + +type VirtualRouterSpecListenerParameters struct { + + // The port mapping information for the listener. + // +kubebuilder:validation:Required + PortMapping []SpecListenerPortMappingParameters `json:"portMapping" tf:"port_mapping,omitempty"` +} + +type VirtualRouterSpecObservation struct { +} + +type VirtualRouterSpecParameters struct { + + // configuration block to the spec argument. + // +kubebuilder:validation:Required + Listener []VirtualRouterSpecListenerParameters `json:"listener" tf:"listener,omitempty"` +} + +// VirtualRouterSpec defines the desired state of VirtualRouter +type VirtualRouterSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider VirtualRouterParameters `json:"forProvider"` +} + +// VirtualRouterStatus defines the observed state of VirtualRouter. +type VirtualRouterStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider VirtualRouterObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// VirtualRouter is the Schema for the VirtualRouters API. Provides an AWS App Mesh virtual router resource. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws} +type VirtualRouter struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec VirtualRouterSpec `json:"spec"` + Status VirtualRouterStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// VirtualRouterList contains a list of VirtualRouters +type VirtualRouterList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []VirtualRouter `json:"items"` +} + +// Repository type metadata. +var ( + VirtualRouter_Kind = "VirtualRouter" + VirtualRouter_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: VirtualRouter_Kind}.String() + VirtualRouter_KindAPIVersion = VirtualRouter_Kind + "." + CRDGroupVersion.String() + VirtualRouter_GroupVersionKind = CRDGroupVersion.WithKind(VirtualRouter_Kind) +) + +func init() { + SchemeBuilder.Register(&VirtualRouter{}, &VirtualRouterList{}) +} diff --git a/apis/appmesh/v1beta1/zz_virtualservice_types.go b/apis/appmesh/v1beta1/zz_virtualservice_types.go new file mode 100755 index 0000000000..6676564fc3 --- /dev/null +++ b/apis/appmesh/v1beta1/zz_virtualservice_types.go @@ -0,0 +1,186 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type ProviderObservation struct { +} + +type ProviderParameters struct { + + // The virtual node associated with a virtual service. + // +kubebuilder:validation:Optional + VirtualNode []ProviderVirtualNodeParameters `json:"virtualNode,omitempty" tf:"virtual_node,omitempty"` + + // The virtual router associated with a virtual service. + // +kubebuilder:validation:Optional + VirtualRouter []ProviderVirtualRouterParameters `json:"virtualRouter,omitempty" tf:"virtual_router,omitempty"` +} + +type ProviderVirtualNodeObservation struct { +} + +type ProviderVirtualNodeParameters struct { + + // The name of the virtual node that is acting as a service provider. Must be between 1 and 255 characters in length. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/appmesh/v1beta1.VirtualNode + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("name",false) + // +kubebuilder:validation:Optional + VirtualNodeName *string `json:"virtualNodeName,omitempty" tf:"virtual_node_name,omitempty"` + + // Reference to a VirtualNode in appmesh to populate virtualNodeName. + // +kubebuilder:validation:Optional + VirtualNodeNameRef *v1.Reference `json:"virtualNodeNameRef,omitempty" tf:"-"` + + // Selector for a VirtualNode in appmesh to populate virtualNodeName. + // +kubebuilder:validation:Optional + VirtualNodeNameSelector *v1.Selector `json:"virtualNodeNameSelector,omitempty" tf:"-"` +} + +type ProviderVirtualRouterObservation struct { +} + +type ProviderVirtualRouterParameters struct { + + // The name of the virtual router that is acting as a service provider. Must be between 1 and 255 characters in length. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/appmesh/v1beta1.VirtualRouter + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("name",false) + // +kubebuilder:validation:Optional + VirtualRouterName *string `json:"virtualRouterName,omitempty" tf:"virtual_router_name,omitempty"` + + // Reference to a VirtualRouter in appmesh to populate virtualRouterName. + // +kubebuilder:validation:Optional + VirtualRouterNameRef *v1.Reference `json:"virtualRouterNameRef,omitempty" tf:"-"` + + // Selector for a VirtualRouter in appmesh to populate virtualRouterName. + // +kubebuilder:validation:Optional + VirtualRouterNameSelector *v1.Selector `json:"virtualRouterNameSelector,omitempty" tf:"-"` +} + +type VirtualServiceObservation_2 struct { + + // The ARN of the virtual service. + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // The creation date of the virtual service. + CreatedDate *string `json:"createdDate,omitempty" tf:"created_date,omitempty"` + + // The ID of the virtual service. + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // The last update date of the virtual service. + LastUpdatedDate *string `json:"lastUpdatedDate,omitempty" tf:"last_updated_date,omitempty"` + + // The resource owner's AWS account ID. + ResourceOwner *string `json:"resourceOwner,omitempty" tf:"resource_owner,omitempty"` + + // A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. + TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` +} + +type VirtualServiceParameters_2 struct { + + // The name of the service mesh in which to create the virtual service. Must be between 1 and 255 characters in length. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/appmesh/v1beta1.Mesh + // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + MeshName *string `json:"meshName,omitempty" tf:"mesh_name,omitempty"` + + // Reference to a Mesh in appmesh to populate meshName. + // +kubebuilder:validation:Optional + MeshNameRef *v1.Reference `json:"meshNameRef,omitempty" tf:"-"` + + // Selector for a Mesh in appmesh to populate meshName. + // +kubebuilder:validation:Optional + MeshNameSelector *v1.Selector `json:"meshNameSelector,omitempty" tf:"-"` + + // The AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. + // +kubebuilder:validation:Optional + MeshOwner *string `json:"meshOwner,omitempty" tf:"mesh_owner,omitempty"` + + // The name to use for the virtual service. Must be between 1 and 255 characters in length. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Region is the region you'd like your resource to be created in. + // +upjet:crd:field:TFTag=- + // +kubebuilder:validation:Required + Region *string `json:"region" tf:"-"` + + // The virtual service specification to apply. + // +kubebuilder:validation:Required + Spec []VirtualServiceSpecParameters `json:"spec" tf:"spec,omitempty"` + + // Key-value map of resource tags. + // +kubebuilder:validation:Optional + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` +} + +type VirtualServiceSpecObservation struct { +} + +type VirtualServiceSpecParameters struct { + + // The App Mesh object that is acting as the provider for a virtual service. You can specify a single virtual node or virtual router. + // +kubebuilder:validation:Optional + Provider []ProviderParameters `json:"provider,omitempty" tf:"provider,omitempty"` +} + +// VirtualServiceSpec defines the desired state of VirtualService +type VirtualServiceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider VirtualServiceParameters_2 `json:"forProvider"` +} + +// VirtualServiceStatus defines the observed state of VirtualService. +type VirtualServiceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider VirtualServiceObservation_2 `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// VirtualService is the Schema for the VirtualServices API. Provides an AWS App Mesh virtual service resource. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws} +type VirtualService struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec VirtualServiceSpec `json:"spec"` + Status VirtualServiceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// VirtualServiceList contains a list of VirtualServices +type VirtualServiceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []VirtualService `json:"items"` +} + +// Repository type metadata. +var ( + VirtualService_Kind = "VirtualService" + VirtualService_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: VirtualService_Kind}.String() + VirtualService_KindAPIVersion = VirtualService_Kind + "." + CRDGroupVersion.String() + VirtualService_GroupVersionKind = CRDGroupVersion.WithKind(VirtualService_Kind) +) + +func init() { + SchemeBuilder.Register(&VirtualService{}, &VirtualServiceList{}) +} diff --git a/config/externalname.go b/config/externalname.go index f110d26755..c47db63f27 100644 --- a/config/externalname.go +++ b/config/externalname.go @@ -1111,6 +1111,19 @@ var ExternalNameConfigs = map[string]config.ExternalName{ // // App Mesh service meshes can be imported using the name "aws_appmesh_mesh": config.NameAsIdentifier, + // App Mesh virtual nodes can be imported using mesh_name together with the virtual node's name: simpleapp/serviceBv1 + "aws_appmesh_virtual_node": config.IdentifierFromProvider, + // App Mesh virtual routers can be imported using mesh_name together with the virtual router's name: simpleapp/serviceB + "aws_appmesh_virtual_router": config.IdentifierFromProvider, + // App Mesh virtual gateway can be imported using mesh_name together with the virtual gateway's name: mesh/gw1 + "aws_appmesh_virtual_gateway": config.IdentifierFromProvider, + // App Mesh virtual services can be imported using mesh_name together with the virtual service's name: simpleapp/servicea.simpleapp.local + "aws_appmesh_virtual_service": config.IdentifierFromProvider, + // mesh/gw1/example-gateway-route + "aws_appmesh_gateway_route": config.IdentifierFromProvider, + // App Mesh virtual routes can be imported using mesh_name and virtual_router_name together with the route's name, e.g., + // simpleapp/serviceB/serviceB-route + "aws_appmesh_route": config.IdentifierFromProvider, // configservice // diff --git a/config/externalnamenottested.go b/config/externalnamenottested.go index f02710e82b..7ac7e9ef5e 100644 --- a/config/externalnamenottested.go +++ b/config/externalnamenottested.go @@ -68,23 +68,6 @@ var ExternalNameNotTestedConfigs = map[string]config.ExternalName{ // Amazon AppIntegrations Event Integrations can be imported using the name "aws_appintegrations_event_integration": config.NameAsIdentifier, - // appmesh - // - // App Mesh gateway routes can be imported using mesh_name and virtual_gateway_name together with the gateway route's name, e.g., - // mesh/gw1/example-gateway-route - "aws_appmesh_gateway_route": config.TemplatedStringAsIdentifier("name", "{{ .parameters.mesh_name }}/{{ .parameters.virtual_gateway_name }}/{{ .external_name }}"), - // App Mesh virtual routes can be imported using mesh_name and virtual_router_name together with the route's name, e.g., - // simpleapp/serviceB/serviceB-route - "aws_appmesh_route": config.TemplatedStringAsIdentifier("name", "{{ .parameters.mesh_name }}/{{ .parameters.virtual_router_name }}/{{ .external_name }}"), - // App Mesh virtual gateway can be imported using mesh_name together with the virtual gateway's name: mesh/gw1 - "aws_appmesh_virtual_gateway": config.TemplatedStringAsIdentifier("name", "{{ .parameters.mesh_name }}/{{ .external_name }}"), - // App Mesh virtual nodes can be imported using mesh_name together with the virtual node's name: simpleapp/serviceBv1 - "aws_appmesh_virtual_node": config.TemplatedStringAsIdentifier("name", "{{ .parameters.mesh_name }}/{{ .external_name }}"), - // App Mesh virtual routers can be imported using mesh_name together with the virtual router's name: simpleapp/serviceB - "aws_appmesh_virtual_router": config.TemplatedStringAsIdentifier("name", "{{ .parameters.mesh_name }}/{{ .external_name }}"), - // App Mesh virtual services can be imported using mesh_name together with the virtual service's name: simpleapp/servicea.simpleapp.local - "aws_appmesh_virtual_service": config.TemplatedStringAsIdentifier("name", "{{ .parameters.mesh_name }}/{{ .external_name }}"), - // apprunner // // App Runner AutoScaling Configuration Versions can be imported by using the arn diff --git a/examples-generated/appmesh/gatewayroute.yaml b/examples-generated/appmesh/gatewayroute.yaml new file mode 100644 index 0000000000..5c289b7b33 --- /dev/null +++ b/examples-generated/appmesh/gatewayroute.yaml @@ -0,0 +1,31 @@ +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: GatewayRoute +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/gatewayroute + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + meshName: example-service-mesh + name: example-gateway-route + region: us-west-1 + spec: + - httpRoute: + - action: + - target: + - virtualService: + - virtualServiceNameSelector: + matchLabels: + testing.upbound.io/example-name: example + match: + - prefix: / + tags: + Environment: test + virtualGatewayNameSelector: + matchLabels: + testing.upbound.io/example-name: example + +--- + diff --git a/examples-generated/appmesh/route.yaml b/examples-generated/appmesh/route.yaml new file mode 100644 index 0000000000..bef36cacd6 --- /dev/null +++ b/examples-generated/appmesh/route.yaml @@ -0,0 +1,35 @@ +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: Route +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/route + labels: + testing.upbound.io/example-name: serviceb + name: serviceb +spec: + forProvider: + meshNameSelector: + matchLabels: + testing.upbound.io/example-name: simple + name: serviceB-route + region: us-west-1 + spec: + - httpRoute: + - action: + - weightedTarget: + - virtualNodeSelector: + matchLabels: + testing.upbound.io/example-name: serviceb1 + weight: 90 + - virtualNodeSelector: + matchLabels: + testing.upbound.io/example-name: serviceb2 + weight: 10 + match: + - prefix: / + virtualRouterNameSelector: + matchLabels: + testing.upbound.io/example-name: serviceb + +--- + diff --git a/examples-generated/appmesh/virtualgateway.yaml b/examples-generated/appmesh/virtualgateway.yaml new file mode 100644 index 0000000000..6491415c84 --- /dev/null +++ b/examples-generated/appmesh/virtualgateway.yaml @@ -0,0 +1,23 @@ +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: VirtualGateway +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/virtualgateway + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + meshName: example-service-mesh + name: example-virtual-gateway + region: us-west-1 + spec: + - listener: + - portMapping: + - port: 8080 + protocol: http + tags: + Environment: test + +--- + diff --git a/examples-generated/appmesh/virtualnode.yaml b/examples-generated/appmesh/virtualnode.yaml new file mode 100644 index 0000000000..64d39bef80 --- /dev/null +++ b/examples-generated/appmesh/virtualnode.yaml @@ -0,0 +1,29 @@ +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: VirtualNode +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/virtualnode + labels: + testing.upbound.io/example-name: serviceb1 + name: serviceb1 +spec: + forProvider: + meshNameSelector: + matchLabels: + testing.upbound.io/example-name: simple + name: serviceBv1 + region: us-west-1 + spec: + - backend: + - virtualService: + - virtualServiceName: servicea.simpleapp.local + listener: + - portMapping: + - port: 8080 + protocol: http + serviceDiscovery: + - dns: + - hostname: serviceb.simpleapp.local + +--- + diff --git a/examples-generated/appmesh/virtualrouter.yaml b/examples-generated/appmesh/virtualrouter.yaml new file mode 100644 index 0000000000..3bde05e715 --- /dev/null +++ b/examples-generated/appmesh/virtualrouter.yaml @@ -0,0 +1,23 @@ +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: VirtualRouter +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/virtualrouter + labels: + testing.upbound.io/example-name: serviceb + name: serviceb +spec: + forProvider: + meshNameSelector: + matchLabels: + testing.upbound.io/example-name: simple + name: serviceB + region: us-west-1 + spec: + - listener: + - portMapping: + - port: 8080 + protocol: http + +--- + diff --git a/examples-generated/appmesh/virtualservice.yaml b/examples-generated/appmesh/virtualservice.yaml new file mode 100644 index 0000000000..f038230833 --- /dev/null +++ b/examples-generated/appmesh/virtualservice.yaml @@ -0,0 +1,24 @@ +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: VirtualService +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/virtualservice + labels: + testing.upbound.io/example-name: servicea + name: servicea +spec: + forProvider: + meshNameSelector: + matchLabels: + testing.upbound.io/example-name: simple + name: servicea.simpleapp.local + region: us-west-1 + spec: + - provider: + - virtualNode: + - virtualNodeNameSelector: + matchLabels: + testing.upbound.io/example-name: serviceb1 + +--- + diff --git a/examples/appmesh/gatewayroute.yaml b/examples/appmesh/gatewayroute.yaml new file mode 100644 index 0000000000..c406e08467 --- /dev/null +++ b/examples/appmesh/gatewayroute.yaml @@ -0,0 +1,110 @@ +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: GatewayRoute +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/gatewayroute + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + meshName: simple + name: example-gateway-route + region: us-west-1 + spec: + - httpRoute: + - action: + - target: + - virtualService: + - virtualServiceNameSelector: + matchLabels: + testing.upbound.io/example-name: servicea + match: + - prefix: / + tags: + Environment: test + virtualGatewayNameSelector: + matchLabels: + testing.upbound.io/example-name: example +--- +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: VirtualGateway +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/virtualgateway + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + meshName: simple + name: example-virtual-gateway + region: us-west-1 + spec: + - listener: + - portMapping: + - port: 8080 + protocol: http + tags: + Environment: test +--- +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: Mesh +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/mesh + labels: + testing.upbound.io/example-name: simple + name: simple +spec: + forProvider: + region: us-west-1 +--- +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: VirtualService +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/virtualservice + labels: + testing.upbound.io/example-name: servicea + name: servicea +spec: + forProvider: + meshNameSelector: + matchLabels: + testing.upbound.io/example-name: simple + name: servicea.simpleapp.local + region: us-west-1 + spec: + - provider: + - virtualNode: + - virtualNodeNameSelector: + matchLabels: + testing.upbound.io/example-name: serviceb1 +--- +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: VirtualNode +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/virtualnode + labels: + testing.upbound.io/example-name: serviceb1 + name: serviceb1 +spec: + forProvider: + meshNameSelector: + matchLabels: + testing.upbound.io/example-name: simple + name: serviceBv1 + region: us-west-1 + spec: + - backend: + - virtualService: + - virtualServiceName: servicea.simpleapp.local + listener: + - portMapping: + - port: 8080 + protocol: http + serviceDiscovery: + - dns: + - hostname: serviceb.simpleapp.local \ No newline at end of file diff --git a/examples/appmesh/route.yaml b/examples/appmesh/route.yaml new file mode 100644 index 0000000000..486683d833 --- /dev/null +++ b/examples/appmesh/route.yaml @@ -0,0 +1,119 @@ +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: Route +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/route + labels: + testing.upbound.io/example-name: serviceb + name: serviceb +spec: + forProvider: + meshNameSelector: + matchLabels: + testing.upbound.io/example-name: simple + name: serviceB-route + region: us-west-1 + spec: + - httpRoute: + - action: + - weightedTarget: + - virtualNodeSelector: + matchLabels: + testing.upbound.io/example-name: serviceb1 + weight: 90 + - virtualNodeSelector: + matchLabels: + testing.upbound.io/example-name: serviceb2 + weight: 10 + match: + - prefix: / + virtualRouterNameSelector: + matchLabels: + testing.upbound.io/example-name: serviceb +--- +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: VirtualNode +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/virtualnode + labels: + testing.upbound.io/example-name: serviceb1 + name: serviceb1 +spec: + forProvider: + meshNameSelector: + matchLabels: + testing.upbound.io/example-name: simple + name: serviceBv1 + region: us-west-1 + spec: + - backend: + - virtualService: + - virtualServiceName: servicea.simpleapp.local + listener: + - portMapping: + - port: 8080 + protocol: http + serviceDiscovery: + - dns: + - hostname: serviceb.simpleapp.local +--- +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: Mesh +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/mesh + labels: + testing.upbound.io/example-name: simple + name: simple +spec: + forProvider: + region: us-west-1 +--- +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: VirtualNode +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/virtualnode + labels: + testing.upbound.io/example-name: serviceb2 + name: serviceb2 +spec: + forProvider: + meshNameSelector: + matchLabels: + testing.upbound.io/example-name: simple + name: serviceBv2 + region: us-west-1 + spec: + - backend: + - virtualService: + - virtualServiceName: servicea2.simpleapp.local + listener: + - portMapping: + - port: 8080 + protocol: http + serviceDiscovery: + - dns: + - hostname: serviceb2.simpleapp.local +--- +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: VirtualRouter +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/virtualrouter + labels: + testing.upbound.io/example-name: serviceb + name: serviceb +spec: + forProvider: + meshNameSelector: + matchLabels: + testing.upbound.io/example-name: simple + name: serviceB + region: us-west-1 + spec: + - listener: + - portMapping: + - port: 8080 + protocol: http \ No newline at end of file diff --git a/examples/appmesh/virtualgateway.yaml b/examples/appmesh/virtualgateway.yaml new file mode 100644 index 0000000000..237eae8d56 --- /dev/null +++ b/examples/appmesh/virtualgateway.yaml @@ -0,0 +1,32 @@ +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: VirtualGateway +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/virtualgateway + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + meshName: simple + name: example-virtual-gateway + region: us-west-1 + spec: + - listener: + - portMapping: + - port: 8080 + protocol: http + tags: + Environment: test +--- +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: Mesh +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/mesh + labels: + testing.upbound.io/example-name: simple + name: simple +spec: + forProvider: + region: us-west-1 \ No newline at end of file diff --git a/examples/appmesh/virtualnode.yaml b/examples/appmesh/virtualnode.yaml new file mode 100644 index 0000000000..8b87b6dfbb --- /dev/null +++ b/examples/appmesh/virtualnode.yaml @@ -0,0 +1,38 @@ +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: VirtualNode +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/virtualnode + labels: + testing.upbound.io/example-name: serviceb1 + name: serviceb1 +spec: + forProvider: + meshNameSelector: + matchLabels: + testing.upbound.io/example-name: simple + name: serviceBv1 + region: us-west-1 + spec: + - backend: + - virtualService: + - virtualServiceName: servicea.simpleapp.local + listener: + - portMapping: + - port: 8080 + protocol: http + serviceDiscovery: + - dns: + - hostname: serviceb.simpleapp.local +--- +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: Mesh +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/mesh + labels: + testing.upbound.io/example-name: simple + name: simple +spec: + forProvider: + region: us-west-1 \ No newline at end of file diff --git a/examples/appmesh/virtualrouter.yaml b/examples/appmesh/virtualrouter.yaml new file mode 100644 index 0000000000..4441e29327 --- /dev/null +++ b/examples/appmesh/virtualrouter.yaml @@ -0,0 +1,32 @@ +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: VirtualRouter +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/virtualrouter + labels: + testing.upbound.io/example-name: serviceb + name: serviceb +spec: + forProvider: + meshNameSelector: + matchLabels: + testing.upbound.io/example-name: simple + name: serviceB + region: us-west-1 + spec: + - listener: + - portMapping: + - port: 8080 + protocol: http +--- +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: Mesh +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/mesh + labels: + testing.upbound.io/example-name: simple + name: simple +spec: + forProvider: + region: us-west-1 \ No newline at end of file diff --git a/examples/appmesh/virtualservice.yaml b/examples/appmesh/virtualservice.yaml new file mode 100644 index 0000000000..d0871c6c29 --- /dev/null +++ b/examples/appmesh/virtualservice.yaml @@ -0,0 +1,60 @@ +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: VirtualService +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/virtualservice + labels: + testing.upbound.io/example-name: servicea + name: servicea +spec: + forProvider: + meshNameSelector: + matchLabels: + testing.upbound.io/example-name: simple + name: servicea.simpleapp.local + region: us-west-1 + spec: + - provider: + - virtualNode: + - virtualNodeNameSelector: + matchLabels: + testing.upbound.io/example-name: serviceb1 +--- +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: Mesh +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/mesh + labels: + testing.upbound.io/example-name: simple + name: simple +spec: + forProvider: + region: us-west-1 +--- +apiVersion: appmesh.aws.upbound.io/v1beta1 +kind: VirtualNode +metadata: + annotations: + meta.upbound.io/example-id: appmesh/v1beta1/virtualnode + labels: + testing.upbound.io/example-name: serviceb1 + name: serviceb1 +spec: + forProvider: + meshNameSelector: + matchLabels: + testing.upbound.io/example-name: simple + name: serviceBv1 + region: us-west-1 + spec: + - backend: + - virtualService: + - virtualServiceName: servicea.simpleapp.local + listener: + - portMapping: + - port: 8080 + protocol: http + serviceDiscovery: + - dns: + - hostname: serviceb.simpleapp.local \ No newline at end of file diff --git a/internal/controller/appmesh/gatewayroute/zz_controller.go b/internal/controller/appmesh/gatewayroute/zz_controller.go new file mode 100755 index 0000000000..2eeb7d6f00 --- /dev/null +++ b/internal/controller/appmesh/gatewayroute/zz_controller.go @@ -0,0 +1,54 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package gatewayroute + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1beta1 "github.com/upbound/provider-aws/apis/appmesh/v1beta1" +) + +// Setup adds a controller that reconciles GatewayRoute managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1beta1.GatewayRoute_GroupVersionKind.String()) + var initializers managed.InitializerChain + for _, i := range o.Provider.Resources["aws_appmesh_gateway_route"].InitializerFns { + initializers = append(initializers, i(mgr.GetClient())) + } + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1beta1.GatewayRoute_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["aws_appmesh_gateway_route"], + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.GatewayRoute_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1beta1.GatewayRoute{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/appmesh/route/zz_controller.go b/internal/controller/appmesh/route/zz_controller.go new file mode 100755 index 0000000000..65ba2b2886 --- /dev/null +++ b/internal/controller/appmesh/route/zz_controller.go @@ -0,0 +1,54 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package route + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1beta1 "github.com/upbound/provider-aws/apis/appmesh/v1beta1" +) + +// Setup adds a controller that reconciles Route managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1beta1.Route_GroupVersionKind.String()) + var initializers managed.InitializerChain + for _, i := range o.Provider.Resources["aws_appmesh_route"].InitializerFns { + initializers = append(initializers, i(mgr.GetClient())) + } + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1beta1.Route_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["aws_appmesh_route"], + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.Route_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1beta1.Route{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/appmesh/virtualgateway/zz_controller.go b/internal/controller/appmesh/virtualgateway/zz_controller.go new file mode 100755 index 0000000000..6e8ba4ef2c --- /dev/null +++ b/internal/controller/appmesh/virtualgateway/zz_controller.go @@ -0,0 +1,54 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package virtualgateway + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1beta1 "github.com/upbound/provider-aws/apis/appmesh/v1beta1" +) + +// Setup adds a controller that reconciles VirtualGateway managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1beta1.VirtualGateway_GroupVersionKind.String()) + var initializers managed.InitializerChain + for _, i := range o.Provider.Resources["aws_appmesh_virtual_gateway"].InitializerFns { + initializers = append(initializers, i(mgr.GetClient())) + } + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1beta1.VirtualGateway_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["aws_appmesh_virtual_gateway"], + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.VirtualGateway_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1beta1.VirtualGateway{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/appmesh/virtualnode/zz_controller.go b/internal/controller/appmesh/virtualnode/zz_controller.go new file mode 100755 index 0000000000..fe126211b0 --- /dev/null +++ b/internal/controller/appmesh/virtualnode/zz_controller.go @@ -0,0 +1,54 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package virtualnode + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1beta1 "github.com/upbound/provider-aws/apis/appmesh/v1beta1" +) + +// Setup adds a controller that reconciles VirtualNode managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1beta1.VirtualNode_GroupVersionKind.String()) + var initializers managed.InitializerChain + for _, i := range o.Provider.Resources["aws_appmesh_virtual_node"].InitializerFns { + initializers = append(initializers, i(mgr.GetClient())) + } + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1beta1.VirtualNode_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["aws_appmesh_virtual_node"], + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.VirtualNode_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1beta1.VirtualNode{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/appmesh/virtualrouter/zz_controller.go b/internal/controller/appmesh/virtualrouter/zz_controller.go new file mode 100755 index 0000000000..d6b7e09a00 --- /dev/null +++ b/internal/controller/appmesh/virtualrouter/zz_controller.go @@ -0,0 +1,54 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package virtualrouter + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1beta1 "github.com/upbound/provider-aws/apis/appmesh/v1beta1" +) + +// Setup adds a controller that reconciles VirtualRouter managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1beta1.VirtualRouter_GroupVersionKind.String()) + var initializers managed.InitializerChain + for _, i := range o.Provider.Resources["aws_appmesh_virtual_router"].InitializerFns { + initializers = append(initializers, i(mgr.GetClient())) + } + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1beta1.VirtualRouter_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["aws_appmesh_virtual_router"], + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.VirtualRouter_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1beta1.VirtualRouter{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/appmesh/virtualservice/zz_controller.go b/internal/controller/appmesh/virtualservice/zz_controller.go new file mode 100755 index 0000000000..2003168c8f --- /dev/null +++ b/internal/controller/appmesh/virtualservice/zz_controller.go @@ -0,0 +1,54 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package virtualservice + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1beta1 "github.com/upbound/provider-aws/apis/appmesh/v1beta1" +) + +// Setup adds a controller that reconciles VirtualService managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1beta1.VirtualService_GroupVersionKind.String()) + var initializers managed.InitializerChain + for _, i := range o.Provider.Resources["aws_appmesh_virtual_service"].InitializerFns { + initializers = append(initializers, i(mgr.GetClient())) + } + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1beta1.VirtualService_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["aws_appmesh_virtual_service"], + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.VirtualService_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1beta1.VirtualService{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/zz_setup.go b/internal/controller/zz_setup.go index 042dcc1677..b2e94f8225 100755 --- a/internal/controller/zz_setup.go +++ b/internal/controller/zz_setup.go @@ -56,7 +56,13 @@ import ( policy "github.com/upbound/provider-aws/internal/controller/appautoscaling/policy" scheduledaction "github.com/upbound/provider-aws/internal/controller/appautoscaling/scheduledaction" target "github.com/upbound/provider-aws/internal/controller/appautoscaling/target" + gatewayroute "github.com/upbound/provider-aws/internal/controller/appmesh/gatewayroute" mesh "github.com/upbound/provider-aws/internal/controller/appmesh/mesh" + routeappmesh "github.com/upbound/provider-aws/internal/controller/appmesh/route" + virtualgateway "github.com/upbound/provider-aws/internal/controller/appmesh/virtualgateway" + virtualnode "github.com/upbound/provider-aws/internal/controller/appmesh/virtualnode" + virtualrouter "github.com/upbound/provider-aws/internal/controller/appmesh/virtualrouter" + virtualservice "github.com/upbound/provider-aws/internal/controller/appmesh/virtualservice" database "github.com/upbound/provider-aws/internal/controller/athena/database" datacatalog "github.com/upbound/provider-aws/internal/controller/athena/datacatalog" namedquery "github.com/upbound/provider-aws/internal/controller/athena/namedquery" @@ -477,7 +483,13 @@ func Setup(mgr ctrl.Manager, o controller.Options) error { policy.Setup, scheduledaction.Setup, target.Setup, + gatewayroute.Setup, mesh.Setup, + routeappmesh.Setup, + virtualgateway.Setup, + virtualnode.Setup, + virtualrouter.Setup, + virtualservice.Setup, database.Setup, datacatalog.Setup, namedquery.Setup, diff --git a/package/crds/appmesh.aws.upbound.io_gatewayroutes.yaml b/package/crds/appmesh.aws.upbound.io_gatewayroutes.yaml new file mode 100644 index 0000000000..98183ba23d --- /dev/null +++ b/package/crds/appmesh.aws.upbound.io_gatewayroutes.yaml @@ -0,0 +1,689 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: gatewayroutes.appmesh.aws.upbound.io +spec: + group: appmesh.aws.upbound.io + names: + categories: + - crossplane + - managed + - aws + kind: GatewayRoute + listKind: GatewayRouteList + plural: gatewayroutes + singular: gatewayroute + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: GatewayRoute is the Schema for the GatewayRoutes API. Provides + an AWS App Mesh gateway route resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: GatewayRouteSpec defines the desired state of GatewayRoute + properties: + deletionPolicy: + default: Delete + description: DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + meshName: + description: The name of the service mesh in which to create the + gateway route. Must be between 1 and 255 characters in length. + type: string + meshOwner: + description: The AWS account ID of the service mesh's owner. Defaults + to the account ID the AWS provider is currently connected to. + type: string + name: + description: The name to use for the gateway route. Must be between + 1 and 255 characters in length. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + spec: + description: The gateway route specification to apply. + items: + properties: + grpcRoute: + description: The specification of a gRPC gateway route. + items: + properties: + action: + description: The action to take if a match is determined. + items: + properties: + target: + description: The target that traffic is routed + to when a request matches the gateway route. + items: + properties: + virtualService: + description: The virtual service gateway + route target. + items: + properties: + virtualServiceName: + description: The name of the virtual + service that traffic is routed + to. Must be between 1 and 255 + characters in length. + type: string + required: + - virtualServiceName + type: object + type: array + required: + - virtualService + type: object + type: array + required: + - target + type: object + type: array + match: + description: The criteria for determining a request + match. + items: + properties: + serviceName: + description: The fully qualified domain name + for the service to match from the request. + type: string + required: + - serviceName + type: object + type: array + required: + - action + - match + type: object + type: array + http2Route: + description: The specification of an HTTP/2 gateway route. + items: + properties: + action: + description: The action to take if a match is determined. + items: + properties: + target: + description: The target that traffic is routed + to when a request matches the gateway route. + items: + properties: + virtualService: + description: The virtual service gateway + route target. + items: + properties: + virtualServiceName: + description: The name of the virtual + service that traffic is routed + to. Must be between 1 and 255 + characters in length. + type: string + required: + - virtualServiceName + type: object + type: array + required: + - virtualService + type: object + type: array + required: + - target + type: object + type: array + match: + description: The criteria for determining a request + match. + items: + properties: + prefix: + description: Specifies the path to match requests + with. This parameter must always start with + /, which by itself matches all requests to + the virtual service name. + type: string + required: + - prefix + type: object + type: array + required: + - action + - match + type: object + type: array + httpRoute: + description: The specification of an HTTP gateway route. + items: + properties: + action: + description: The action to take if a match is determined. + items: + properties: + target: + description: The target that traffic is routed + to when a request matches the gateway route. + items: + properties: + virtualService: + description: The virtual service gateway + route target. + items: + properties: + virtualServiceName: + description: The name of the virtual + service that traffic is routed + to. Must be between 1 and 255 + characters in length. + type: string + virtualServiceNameRef: + description: Reference to a VirtualService + in appmesh to populate virtualServiceName. + properties: + name: + description: Name of the referenced + object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution + specifies whether resolution + of this reference is required. + The default is 'Required', + which means the reconcile + will fail if the reference + cannot be resolved. 'Optional' + means this reference will + be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies + when this reference should + be resolved. The default + is 'IfNotPresent', which + will attempt to resolve + the reference only when + the corresponding field + is not present. Use 'Always' + to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + virtualServiceNameSelector: + description: Selector for a VirtualService + in appmesh to populate virtualServiceName. + properties: + matchControllerRef: + description: MatchControllerRef + ensures an object with the + same controller reference + as the selecting object is + selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures + an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution + specifies whether resolution + of this reference is required. + The default is 'Required', + which means the reconcile + will fail if the reference + cannot be resolved. 'Optional' + means this reference will + be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies + when this reference should + be resolved. The default + is 'IfNotPresent', which + will attempt to resolve + the reference only when + the corresponding field + is not present. Use 'Always' + to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + type: array + required: + - virtualService + type: object + type: array + required: + - target + type: object + type: array + match: + description: The criteria for determining a request + match. + items: + properties: + prefix: + description: Specifies the path to match requests + with. This parameter must always start with + /, which by itself matches all requests to + the virtual service name. + type: string + required: + - prefix + type: object + type: array + required: + - action + - match + type: object + type: array + type: object + type: array + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + virtualGatewayName: + description: The name of the virtual gateway to associate the + gateway route with. Must be between 1 and 255 characters in + length. + type: string + virtualGatewayNameRef: + description: Reference to a VirtualGateway in appmesh to populate + virtualGatewayName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + virtualGatewayNameSelector: + description: Selector for a VirtualGateway in appmesh to populate + virtualGatewayName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + required: + - meshName + - name + - region + - spec + type: object + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: GatewayRouteStatus defines the observed state of GatewayRoute. + properties: + atProvider: + properties: + arn: + description: The ARN of the gateway route. + type: string + createdDate: + description: The creation date of the gateway route. + type: string + id: + description: The ID of the gateway route. + type: string + lastUpdatedDate: + description: The last update date of the gateway route. + type: string + resourceOwner: + description: The resource owner's AWS account ID. + type: string + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/appmesh.aws.upbound.io_routes.yaml b/package/crds/appmesh.aws.upbound.io_routes.yaml new file mode 100644 index 0000000000..2d475c68e1 --- /dev/null +++ b/package/crds/appmesh.aws.upbound.io_routes.yaml @@ -0,0 +1,1406 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: routes.appmesh.aws.upbound.io +spec: + group: appmesh.aws.upbound.io + names: + categories: + - crossplane + - managed + - aws + kind: Route + listKind: RouteList + plural: routes + singular: route + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Route is the Schema for the Routes API. Provides an AWS App Mesh + route resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: RouteSpec defines the desired state of Route + properties: + deletionPolicy: + default: Delete + description: DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + meshName: + description: The name of the service mesh in which to create the + route. Must be between 1 and 255 characters in length. + type: string + meshNameRef: + description: Reference to a Mesh in appmesh to populate meshName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + meshNameSelector: + description: Selector for a Mesh in appmesh to populate meshName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + meshOwner: + description: The AWS account ID of the service mesh's owner. Defaults + to the account ID the AWS provider is currently connected to. + type: string + name: + description: The name to use for the route. Must be between 1 + and 255 characters in length. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + spec: + description: The route specification to apply. + items: + properties: + grpcRoute: + description: The gRPC routing information for the route. + items: + properties: + action: + description: The action to take if a match is determined. + items: + properties: + weightedTarget: + description: The targets that traffic is routed + to when a request matches the route. You can + specify one or more targets and their relative + weights with which to distribute traffic. + items: + properties: + virtualNode: + description: The virtual node to associate + with the weighted target. Must be between + 1 and 255 characters in length. + type: string + weight: + description: The relative weight of the + weighted target. An integer between + 0 and 100. + type: number + required: + - virtualNode + - weight + type: object + type: array + required: + - weightedTarget + type: object + type: array + match: + description: The criteria for determining an gRPC + request match. + items: + properties: + metadata: + description: The data to match from the gRPC + request. + items: + properties: + invert: + description: If true, the match is on + the opposite of the match criteria. + Default is false. + type: boolean + match: + description: The criteria for determining + an gRPC request match. + items: + properties: + exact: + description: The value sent by the + client must match the specified + value exactly. Must be between + 1 and 255 characters in length. + type: string + prefix: + description: The value sent by the + client must begin with the specified + characters. Must be between 1 + and 255 characters in length. + type: string + range: + description: The object that specifies + the range of numbers that the + value sent by the client must + be included in. + items: + properties: + end: + description: The end of the + range. + type: number + start: + description: (Requited) The + start of the range. + type: number + required: + - end + - start + type: object + type: array + regex: + description: The value sent by the + client must include the specified + characters. Must be between 1 + and 255 characters in length. + type: string + suffix: + description: The value sent by the + client must end with the specified + characters. Must be between 1 + and 255 characters in length. + type: string + type: object + type: array + name: + description: The name to use for the route. + Must be between 1 and 255 characters + in length. + type: string + required: + - name + type: object + type: array + methodName: + description: The method name to match from the + request. If you specify a name, you must also + specify a service_name. + type: string + prefix: + description: The value sent by the client must + begin with the specified characters. Must + be between 1 and 255 characters in length. + type: string + serviceName: + description: The fully qualified domain name + for the service to match from the request. + type: string + type: object + type: array + retryPolicy: + description: The retry policy. + items: + properties: + grpcRetryEvents: + description: 'List of gRPC retry events. Valid + values: cancelled, deadline-exceeded, internal, + resource-exhausted, unavailable.' + items: + type: string + type: array + httpRetryEvents: + description: 'List of HTTP retry events. Valid + values: client-error (HTTP status code 409), + gateway-error (HTTP status codes 502, 503, + and 504), server-error (HTTP status codes + 500, 501, 502, 503, 504, 505, 506, 507, 508, + 510, and 511), stream-error (retry on refused + stream).' + items: + type: string + type: array + maxRetries: + description: The maximum number of retries. + type: number + perRetryTimeout: + description: The per-retry timeout. + items: + properties: + unit: + description: 'The unit of time. Valid + values: ms, s.' + type: string + value: + description: The number of time units. + Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + tcpRetryEvents: + description: List of TCP retry events. The only + valid value is connection-error. + items: + type: string + type: array + required: + - maxRetries + - perRetryTimeout + type: object + type: array + timeout: + description: The types of timeouts. + items: + properties: + idle: + description: The idle timeout. An idle timeout + bounds the amount of time that a connection + may be idle. + items: + properties: + unit: + description: 'The unit of time. Valid + values: ms, s.' + type: string + value: + description: The number of time units. + Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + perRequest: + description: The per request timeout. + items: + properties: + unit: + description: 'The unit of time. Valid + values: ms, s.' + type: string + value: + description: The number of time units. + Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + type: object + type: array + required: + - action + type: object + type: array + http2Route: + description: The HTTP/2 routing information for the route. + items: + properties: + action: + description: The action to take if a match is determined. + items: + properties: + weightedTarget: + description: The targets that traffic is routed + to when a request matches the route. You can + specify one or more targets and their relative + weights with which to distribute traffic. + items: + properties: + virtualNode: + description: The virtual node to associate + with the weighted target. Must be between + 1 and 255 characters in length. + type: string + weight: + description: The relative weight of the + weighted target. An integer between + 0 and 100. + type: number + required: + - virtualNode + - weight + type: object + type: array + required: + - weightedTarget + type: object + type: array + match: + description: The criteria for determining an gRPC + request match. + items: + properties: + header: + description: The client request headers to match + on. + items: + properties: + invert: + description: If true, the match is on + the opposite of the match criteria. + Default is false. + type: boolean + match: + description: The criteria for determining + an gRPC request match. + items: + properties: + exact: + description: The value sent by the + client must match the specified + value exactly. Must be between + 1 and 255 characters in length. + type: string + prefix: + description: The value sent by the + client must begin with the specified + characters. Must be between 1 + and 255 characters in length. + type: string + range: + description: The object that specifies + the range of numbers that the + value sent by the client must + be included in. + items: + properties: + end: + description: The end of the + range. + type: number + start: + description: (Requited) The + start of the range. + type: number + required: + - end + - start + type: object + type: array + regex: + description: The value sent by the + client must include the specified + characters. Must be between 1 + and 255 characters in length. + type: string + suffix: + description: The value sent by the + client must end with the specified + characters. Must be between 1 + and 255 characters in length. + type: string + type: object + type: array + name: + description: The name to use for the route. + Must be between 1 and 255 characters + in length. + type: string + required: + - name + type: object + type: array + method: + description: 'The client request header method + to match on. Valid values: GET, HEAD, POST, + PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH.' + type: string + prefix: + description: The value sent by the client must + begin with the specified characters. Must + be between 1 and 255 characters in length. + type: string + scheme: + description: 'The client request header scheme + to match on. Valid values: http, https.' + type: string + required: + - prefix + type: object + type: array + retryPolicy: + description: The retry policy. + items: + properties: + httpRetryEvents: + description: 'List of HTTP retry events. Valid + values: client-error (HTTP status code 409), + gateway-error (HTTP status codes 502, 503, + and 504), server-error (HTTP status codes + 500, 501, 502, 503, 504, 505, 506, 507, 508, + 510, and 511), stream-error (retry on refused + stream).' + items: + type: string + type: array + maxRetries: + description: The maximum number of retries. + type: number + perRetryTimeout: + description: The per-retry timeout. + items: + properties: + unit: + description: 'The unit of time. Valid + values: ms, s.' + type: string + value: + description: The number of time units. + Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + tcpRetryEvents: + description: List of TCP retry events. The only + valid value is connection-error. + items: + type: string + type: array + required: + - maxRetries + - perRetryTimeout + type: object + type: array + timeout: + description: The types of timeouts. + items: + properties: + idle: + description: The idle timeout. An idle timeout + bounds the amount of time that a connection + may be idle. + items: + properties: + unit: + description: 'The unit of time. Valid + values: ms, s.' + type: string + value: + description: The number of time units. + Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + perRequest: + description: The per request timeout. + items: + properties: + unit: + description: 'The unit of time. Valid + values: ms, s.' + type: string + value: + description: The number of time units. + Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + type: object + type: array + required: + - action + - match + type: object + type: array + httpRoute: + description: The HTTP routing information for the route. + items: + properties: + action: + description: The action to take if a match is determined. + items: + properties: + weightedTarget: + description: The targets that traffic is routed + to when a request matches the route. You can + specify one or more targets and their relative + weights with which to distribute traffic. + items: + properties: + virtualNode: + description: The virtual node to associate + with the weighted target. Must be between + 1 and 255 characters in length. + type: string + virtualNodeRef: + description: Reference to a VirtualNode + in appmesh to populate virtualNode. + properties: + name: + description: Name of the referenced + object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies + whether resolution of this reference + is required. The default is + 'Required', which means the + reconcile will fail if the reference + cannot be resolved. 'Optional' + means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies + when this reference should be + resolved. The default is 'IfNotPresent', + which will attempt to resolve + the reference only when the + corresponding field is not present. + Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + virtualNodeSelector: + description: Selector for a VirtualNode + in appmesh to populate virtualNode. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller + reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an + object with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies + whether resolution of this reference + is required. The default is + 'Required', which means the + reconcile will fail if the reference + cannot be resolved. 'Optional' + means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies + when this reference should be + resolved. The default is 'IfNotPresent', + which will attempt to resolve + the reference only when the + corresponding field is not present. + Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + weight: + description: The relative weight of the + weighted target. An integer between + 0 and 100. + type: number + required: + - weight + type: object + type: array + required: + - weightedTarget + type: object + type: array + match: + description: The criteria for determining an gRPC + request match. + items: + properties: + header: + description: The client request headers to match + on. + items: + properties: + invert: + description: If true, the match is on + the opposite of the match criteria. + Default is false. + type: boolean + match: + description: The criteria for determining + an gRPC request match. + items: + properties: + exact: + description: The value sent by the + client must match the specified + value exactly. Must be between + 1 and 255 characters in length. + type: string + prefix: + description: The value sent by the + client must begin with the specified + characters. Must be between 1 + and 255 characters in length. + type: string + range: + description: The object that specifies + the range of numbers that the + value sent by the client must + be included in. + items: + properties: + end: + description: The end of the + range. + type: number + start: + description: (Requited) The + start of the range. + type: number + required: + - end + - start + type: object + type: array + regex: + description: The value sent by the + client must include the specified + characters. Must be between 1 + and 255 characters in length. + type: string + suffix: + description: The value sent by the + client must end with the specified + characters. Must be between 1 + and 255 characters in length. + type: string + type: object + type: array + name: + description: The name to use for the route. + Must be between 1 and 255 characters + in length. + type: string + required: + - name + type: object + type: array + method: + description: 'The client request header method + to match on. Valid values: GET, HEAD, POST, + PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH.' + type: string + prefix: + description: The value sent by the client must + begin with the specified characters. Must + be between 1 and 255 characters in length. + type: string + scheme: + description: 'The client request header scheme + to match on. Valid values: http, https.' + type: string + required: + - prefix + type: object + type: array + retryPolicy: + description: The retry policy. + items: + properties: + httpRetryEvents: + description: 'List of HTTP retry events. Valid + values: client-error (HTTP status code 409), + gateway-error (HTTP status codes 502, 503, + and 504), server-error (HTTP status codes + 500, 501, 502, 503, 504, 505, 506, 507, 508, + 510, and 511), stream-error (retry on refused + stream).' + items: + type: string + type: array + maxRetries: + description: The maximum number of retries. + type: number + perRetryTimeout: + description: The per-retry timeout. + items: + properties: + unit: + description: 'The unit of time. Valid + values: ms, s.' + type: string + value: + description: The number of time units. + Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + tcpRetryEvents: + description: List of TCP retry events. The only + valid value is connection-error. + items: + type: string + type: array + required: + - maxRetries + - perRetryTimeout + type: object + type: array + timeout: + description: The types of timeouts. + items: + properties: + idle: + description: The idle timeout. An idle timeout + bounds the amount of time that a connection + may be idle. + items: + properties: + unit: + description: 'The unit of time. Valid + values: ms, s.' + type: string + value: + description: The number of time units. + Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + perRequest: + description: The per request timeout. + items: + properties: + unit: + description: 'The unit of time. Valid + values: ms, s.' + type: string + value: + description: The number of time units. + Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + type: object + type: array + required: + - action + - match + type: object + type: array + priority: + description: The priority for the route, between 0 and 1000. + Routes are matched based on the specified value, where + 0 is the highest priority. + type: number + tcpRoute: + description: The TCP routing information for the route. + items: + properties: + action: + description: The action to take if a match is determined. + items: + properties: + weightedTarget: + description: The targets that traffic is routed + to when a request matches the route. You can + specify one or more targets and their relative + weights with which to distribute traffic. + items: + properties: + virtualNode: + description: The virtual node to associate + with the weighted target. Must be between + 1 and 255 characters in length. + type: string + virtualNodeRef: + description: Reference to a VirtualNode + in appmesh to populate virtualNode. + properties: + name: + description: Name of the referenced + object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies + whether resolution of this reference + is required. The default is + 'Required', which means the + reconcile will fail if the reference + cannot be resolved. 'Optional' + means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies + when this reference should be + resolved. The default is 'IfNotPresent', + which will attempt to resolve + the reference only when the + corresponding field is not present. + Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + virtualNodeSelector: + description: Selector for a VirtualNode + in appmesh to populate virtualNode. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller + reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an + object with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies + whether resolution of this reference + is required. The default is + 'Required', which means the + reconcile will fail if the reference + cannot be resolved. 'Optional' + means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies + when this reference should be + resolved. The default is 'IfNotPresent', + which will attempt to resolve + the reference only when the + corresponding field is not present. + Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + weight: + description: The relative weight of the + weighted target. An integer between + 0 and 100. + type: number + required: + - weight + type: object + type: array + required: + - weightedTarget + type: object + type: array + timeout: + description: The types of timeouts. + items: + properties: + idle: + description: The idle timeout. An idle timeout + bounds the amount of time that a connection + may be idle. + items: + properties: + unit: + description: 'The unit of time. Valid + values: ms, s.' + type: string + value: + description: The number of time units. + Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + type: object + type: array + required: + - action + type: object + type: array + type: object + type: array + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + virtualRouterName: + description: The name of the virtual router in which to create + the route. Must be between 1 and 255 characters in length. + type: string + virtualRouterNameRef: + description: Reference to a VirtualRouter in appmesh to populate + virtualRouterName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + virtualRouterNameSelector: + description: Selector for a VirtualRouter in appmesh to populate + virtualRouterName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + required: + - name + - region + - spec + type: object + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: RouteStatus defines the observed state of Route. + properties: + atProvider: + properties: + arn: + description: The ARN of the route. + type: string + createdDate: + description: The creation date of the route. + type: string + id: + description: The ID of the route. + type: string + lastUpdatedDate: + description: The last update date of the route. + type: string + resourceOwner: + description: The resource owner's AWS account ID. + type: string + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/appmesh.aws.upbound.io_virtualgateways.yaml b/package/crds/appmesh.aws.upbound.io_virtualgateways.yaml new file mode 100644 index 0000000000..6b22c11b6a --- /dev/null +++ b/package/crds/appmesh.aws.upbound.io_virtualgateways.yaml @@ -0,0 +1,917 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: virtualgateways.appmesh.aws.upbound.io +spec: + group: appmesh.aws.upbound.io + names: + categories: + - crossplane + - managed + - aws + kind: VirtualGateway + listKind: VirtualGatewayList + plural: virtualgateways + singular: virtualgateway + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: VirtualGateway is the Schema for the VirtualGateways API. Provides + an AWS App Mesh virtual gateway resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: VirtualGatewaySpec defines the desired state of VirtualGateway + properties: + deletionPolicy: + default: Delete + description: DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + meshName: + description: The name of the service mesh in which to create the + virtual gateway. Must be between 1 and 255 characters in length. + type: string + meshOwner: + description: The AWS account ID of the service mesh's owner. Defaults + to the account ID the AWS provider is currently connected to. + type: string + name: + description: The name to use for the virtual gateway. Must be + between 1 and 255 characters in length. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + spec: + description: The virtual gateway specification to apply. + items: + properties: + backendDefaults: + description: The defaults for backends. + items: + properties: + clientPolicy: + description: The default client policy for virtual + gateway backends. + items: + properties: + tls: + description: The Transport Layer Security (TLS) + client policy. + items: + properties: + certificate: + description: The virtual gateway's client's + Transport Layer Security (TLS) certificate. + items: + properties: + file: + description: A local file certificate. + items: + properties: + certificateChain: + description: The certificate + chain for the certificate. + type: string + privateKey: + description: The private key + for a certificate stored + on the file system of the + mesh endpoint that the proxy + is running on. + type: string + required: + - certificateChain + - privateKey + type: object + type: array + sds: + description: A Secret Discovery + Service certificate. + items: + properties: + secretName: + description: The name of the + secret secret requested + from the Secret Discovery + Service provider representing + Transport Layer Security + (TLS) materials like a certificate + or certificate chain. + type: string + required: + - secretName + type: object + type: array + type: object + type: array + enforce: + description: Whether the policy is enforced. + Default is true. + type: boolean + ports: + description: One or more ports that the + policy is enforced for. + items: + type: number + type: array + validation: + description: The TLS validation context. + items: + properties: + subjectAlternativeNames: + description: The SANs for a virtual + gateway's listener's Transport + Layer Security (TLS) validation + context. + items: + properties: + match: + description: The criteria + for determining a SAN's + match. + items: + properties: + exact: + description: The values + sent must match the + specified values exactly. + items: + type: string + type: array + required: + - exact + type: object + type: array + required: + - match + type: object + type: array + trust: + description: The TLS validation + context trust. + items: + properties: + acm: + description: The TLS validation + context trust for an AWS + Certificate Manager (ACM) + certificate. + items: + properties: + certificateAuthorityArns: + description: One or + more ACM Amazon Resource + Name (ARN)s. + items: + type: string + type: array + required: + - certificateAuthorityArns + type: object + type: array + file: + description: A local file + certificate. + items: + properties: + certificateChain: + description: The certificate + chain for the certificate. + type: string + required: + - certificateChain + type: object + type: array + sds: + description: A Secret Discovery + Service certificate. + items: + properties: + secretName: + description: The name + of the secret secret + requested from the + Secret Discovery Service + provider representing + Transport Layer Security + (TLS) materials like + a certificate or certificate + chain. + type: string + required: + - secretName + type: object + type: array + type: object + type: array + required: + - trust + type: object + type: array + required: + - validation + type: object + type: array + type: object + type: array + type: object + type: array + listener: + description: The listeners that the mesh endpoint is expected + to receive inbound traffic from. You can specify one listener. + items: + properties: + connectionPool: + description: The connection pool information for the + listener. + items: + properties: + grpc: + description: Connection pool information for + gRPC listeners. + items: + properties: + maxRequests: + description: Maximum number of inflight + requests Envoy can concurrently support + across hosts in upstream cluster. Minimum + value of 1. + type: number + required: + - maxRequests + type: object + type: array + http: + description: Connection pool information for + HTTP listeners. + items: + properties: + maxConnections: + description: Maximum number of outbound + TCP connections Envoy can establish + concurrently with all hosts in upstream + cluster. Minimum value of 1. + type: number + maxPendingRequests: + description: Number of overflowing requests + after max_connections Envoy will queue + to upstream cluster. Minimum value of + 1. + type: number + required: + - maxConnections + type: object + type: array + http2: + description: Connection pool information for + HTTP2 listeners. + items: + properties: + maxRequests: + description: Maximum number of inflight + requests Envoy can concurrently support + across hosts in upstream cluster. Minimum + value of 1. + type: number + required: + - maxRequests + type: object + type: array + type: object + type: array + healthCheck: + description: The health check information for the + listener. + items: + properties: + healthyThreshold: + description: The number of consecutive successful + health checks that must occur before declaring + listener healthy. + type: number + intervalMillis: + description: The time period in milliseconds + between each health check execution. + type: number + path: + description: The file path to write access logs + to. You can use /dev/stdout to send access + logs to standard out. Must be between 1 and + 255 characters in length. + type: string + port: + description: The port used for the port mapping. + type: number + protocol: + description: The protocol used for the port + mapping. Valid values are http, http2, tcp + and grpc. + type: string + timeoutMillis: + description: The amount of time to wait when + receiving a response from the health check, + in milliseconds. + type: number + unhealthyThreshold: + description: The number of consecutive failed + health checks that must occur before declaring + a virtual gateway unhealthy. + type: number + required: + - healthyThreshold + - intervalMillis + - protocol + - timeoutMillis + - unhealthyThreshold + type: object + type: array + portMapping: + description: The port mapping information for the + listener. + items: + properties: + port: + description: The port used for the port mapping. + type: number + protocol: + description: The protocol used for the port + mapping. Valid values are http, http2, tcp + and grpc. + type: string + required: + - port + - protocol + type: object + type: array + tls: + description: The Transport Layer Security (TLS) client + policy. + items: + properties: + certificate: + description: The virtual gateway's client's + Transport Layer Security (TLS) certificate. + items: + properties: + acm: + description: The TLS validation context + trust for an AWS Certificate Manager + (ACM) certificate. + items: + properties: + certificateArn: + description: The Amazon Resource + Name (ARN) for the certificate. + type: string + certificateArnRef: + description: Reference to a Certificate + in acm to populate certificateArn. + properties: + name: + description: Name of the referenced + object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution + specifies whether resolution + of this reference is required. + The default is 'Required', + which means the reconcile + will fail if the reference + cannot be resolved. 'Optional' + means this reference will + be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies + when this reference should + be resolved. The default + is 'IfNotPresent', which + will attempt to resolve + the reference only when + the corresponding field + is not present. Use 'Always' + to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + certificateArnSelector: + description: Selector for a Certificate + in acm to populate certificateArn. + properties: + matchControllerRef: + description: MatchControllerRef + ensures an object with the + same controller reference + as the selecting object is + selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures + an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution + specifies whether resolution + of this reference is required. + The default is 'Required', + which means the reconcile + will fail if the reference + cannot be resolved. 'Optional' + means this reference will + be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies + when this reference should + be resolved. The default + is 'IfNotPresent', which + will attempt to resolve + the reference only when + the corresponding field + is not present. Use 'Always' + to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + type: array + file: + description: A local file certificate. + items: + properties: + certificateChain: + description: The certificate chain + for the certificate. + type: string + privateKey: + description: The private key for + a certificate stored on the file + system of the mesh endpoint that + the proxy is running on. + type: string + required: + - certificateChain + - privateKey + type: object + type: array + sds: + description: A Secret Discovery Service + certificate. + items: + properties: + secretName: + description: The name of the secret + secret requested from the Secret + Discovery Service provider representing + Transport Layer Security (TLS) + materials like a certificate or + certificate chain. + type: string + required: + - secretName + type: object + type: array + type: object + type: array + mode: + description: 'The listener''s TLS mode. Valid + values: DISABLED, PERMISSIVE, STRICT.' + type: string + validation: + description: The TLS validation context. + items: + properties: + subjectAlternativeNames: + description: The SANs for a virtual gateway's + listener's Transport Layer Security + (TLS) validation context. + items: + properties: + match: + description: The criteria for determining + a SAN's match. + items: + properties: + exact: + description: The values sent + must match the specified + values exactly. + items: + type: string + type: array + required: + - exact + type: object + type: array + required: + - match + type: object + type: array + trust: + description: The TLS validation context + trust. + items: + properties: + file: + description: A local file certificate. + items: + properties: + certificateChain: + description: The certificate + chain for the certificate. + type: string + required: + - certificateChain + type: object + type: array + sds: + description: A Secret Discovery + Service certificate. + items: + properties: + secretName: + description: The name of the + secret secret requested + from the Secret Discovery + Service provider representing + Transport Layer Security + (TLS) materials like a certificate + or certificate chain. + type: string + required: + - secretName + type: object + type: array + type: object + type: array + required: + - trust + type: object + type: array + required: + - certificate + - mode + type: object + type: array + required: + - portMapping + type: object + type: array + logging: + description: The inbound and outbound access logging information + for the virtual gateway. + items: + properties: + accessLog: + description: The access log configuration for a virtual + gateway. + items: + properties: + file: + description: A local file certificate. + items: + properties: + path: + description: The file path to write access + logs to. You can use /dev/stdout to + send access logs to standard out. Must + be between 1 and 255 characters in length. + type: string + required: + - path + type: object + type: array + type: object + type: array + type: object + type: array + required: + - listener + type: object + type: array + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + required: + - meshName + - name + - region + - spec + type: object + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: VirtualGatewayStatus defines the observed state of VirtualGateway. + properties: + atProvider: + properties: + arn: + description: The ARN of the virtual gateway. + type: string + createdDate: + description: The creation date of the virtual gateway. + type: string + id: + description: The ID of the virtual gateway. + type: string + lastUpdatedDate: + description: The last update date of the virtual gateway. + type: string + resourceOwner: + description: The resource owner's AWS account ID. + type: string + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/appmesh.aws.upbound.io_virtualnodes.yaml b/package/crds/appmesh.aws.upbound.io_virtualnodes.yaml new file mode 100644 index 0000000000..7fbbf3ef9e --- /dev/null +++ b/package/crds/appmesh.aws.upbound.io_virtualnodes.yaml @@ -0,0 +1,1454 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: virtualnodes.appmesh.aws.upbound.io +spec: + group: appmesh.aws.upbound.io + names: + categories: + - crossplane + - managed + - aws + kind: VirtualNode + listKind: VirtualNodeList + plural: virtualnodes + singular: virtualnode + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: VirtualNode is the Schema for the VirtualNodes API. Provides + an AWS App Mesh virtual node resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: VirtualNodeSpec defines the desired state of VirtualNode + properties: + deletionPolicy: + default: Delete + description: DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + meshName: + description: The name of the service mesh in which to create the + virtual node. Must be between 1 and 255 characters in length. + type: string + meshNameRef: + description: Reference to a Mesh in appmesh to populate meshName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + meshNameSelector: + description: Selector for a Mesh in appmesh to populate meshName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + meshOwner: + description: The AWS account ID of the service mesh's owner. Defaults + to the account ID the AWS provider is currently connected to. + type: string + name: + description: The name to use for the virtual node. Must be between + 1 and 255 characters in length. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + spec: + description: The virtual node specification to apply. + items: + properties: + backend: + description: The backends to which the virtual node is expected + to send outbound traffic. + items: + properties: + virtualService: + description: Specifies a virtual service to use as + a backend for a virtual node. + items: + properties: + clientPolicy: + description: The client policy for the backend. + items: + properties: + tls: + description: The Transport Layer Security + (TLS) client policy. + items: + properties: + certificate: + description: The virtual node's + client's Transport Layer Security + (TLS) certificate. + items: + properties: + file: + description: A local file + certificate. + items: + properties: + certificateChain: + description: The certificate + chain for the certificate. + type: string + privateKey: + description: The private + key for a certificate + stored on the file + system of the mesh + endpoint that the + proxy is running on. + type: string + required: + - certificateChain + - privateKey + type: object + type: array + sds: + description: A Secret Discovery + Service certificate. + items: + properties: + secretName: + description: The name + of the secret secret + requested from the + Secret Discovery Service + provider representing + Transport Layer Security + (TLS) materials like + a certificate or certificate + chain. + type: string + required: + - secretName + type: object + type: array + type: object + type: array + enforce: + description: Whether the policy + is enforced. Default is true. + type: boolean + ports: + description: One or more ports that + the policy is enforced for. + items: + type: number + type: array + validation: + description: The TLS validation + context. + items: + properties: + subjectAlternativeNames: + description: The SANs for + a TLS validation context. + items: + properties: + match: + description: The criteria + for determining a + SAN's match. + items: + properties: + exact: + description: The + values sent + must match the + specified values + exactly. + items: + type: string + type: array + required: + - exact + type: object + type: array + required: + - match + type: object + type: array + trust: + description: The TLS validation + context trust. + items: + properties: + acm: + description: The TLS + validation context + trust for an AWS Certificate + Manager (ACM) certificate. + items: + properties: + certificateAuthorityArns: + description: One + or more ACM + Amazon Resource + Name (ARN)s. + items: + type: string + type: array + required: + - certificateAuthorityArns + type: object + type: array + file: + description: A local + file certificate. + items: + properties: + certificateChain: + description: The + certificate + chain for the + certificate. + type: string + required: + - certificateChain + type: object + type: array + sds: + description: A Secret + Discovery Service + certificate. + items: + properties: + secretName: + description: The + name of the + secret secret + requested from + the Secret Discovery + Service provider + representing + Transport Layer + Security (TLS) + materials like + a certificate + or certificate + chain. + type: string + required: + - secretName + type: object + type: array + type: object + type: array + required: + - trust + type: object + type: array + required: + - validation + type: object + type: array + type: object + type: array + virtualServiceName: + description: The name of the virtual service + that is acting as a virtual node backend. + Must be between 1 and 255 characters in length. + type: string + required: + - virtualServiceName + type: object + type: array + required: + - virtualService + type: object + type: array + backendDefaults: + description: The defaults for backends. + items: + properties: + clientPolicy: + description: The client policy for the backend. + items: + properties: + tls: + description: The Transport Layer Security (TLS) + client policy. + items: + properties: + certificate: + description: The virtual node's client's + Transport Layer Security (TLS) certificate. + items: + properties: + file: + description: A local file certificate. + items: + properties: + certificateChain: + description: The certificate + chain for the certificate. + type: string + privateKey: + description: The private key + for a certificate stored + on the file system of the + mesh endpoint that the proxy + is running on. + type: string + required: + - certificateChain + - privateKey + type: object + type: array + sds: + description: A Secret Discovery + Service certificate. + items: + properties: + secretName: + description: The name of the + secret secret requested + from the Secret Discovery + Service provider representing + Transport Layer Security + (TLS) materials like a certificate + or certificate chain. + type: string + required: + - secretName + type: object + type: array + type: object + type: array + enforce: + description: Whether the policy is enforced. + Default is true. + type: boolean + ports: + description: One or more ports that the + policy is enforced for. + items: + type: number + type: array + validation: + description: The TLS validation context. + items: + properties: + subjectAlternativeNames: + description: The SANs for a TLS + validation context. + items: + properties: + match: + description: The criteria + for determining a SAN's + match. + items: + properties: + exact: + description: The values + sent must match the + specified values exactly. + items: + type: string + type: array + required: + - exact + type: object + type: array + required: + - match + type: object + type: array + trust: + description: The TLS validation + context trust. + items: + properties: + acm: + description: The TLS validation + context trust for an AWS + Certificate Manager (ACM) + certificate. + items: + properties: + certificateAuthorityArns: + description: One or + more ACM Amazon Resource + Name (ARN)s. + items: + type: string + type: array + required: + - certificateAuthorityArns + type: object + type: array + file: + description: A local file + certificate. + items: + properties: + certificateChain: + description: The certificate + chain for the certificate. + type: string + required: + - certificateChain + type: object + type: array + sds: + description: A Secret Discovery + Service certificate. + items: + properties: + secretName: + description: The name + of the secret secret + requested from the + Secret Discovery Service + provider representing + Transport Layer Security + (TLS) materials like + a certificate or certificate + chain. + type: string + required: + - secretName + type: object + type: array + type: object + type: array + required: + - trust + type: object + type: array + required: + - validation + type: object + type: array + type: object + type: array + type: object + type: array + listener: + description: The listeners from which the virtual node is + expected to receive inbound traffic. + items: + properties: + connectionPool: + description: The connection pool information for the + listener. + items: + properties: + grpc: + description: Connection pool information for + gRPC listeners. + items: + properties: + maxRequests: + description: Maximum number of inflight + requests Envoy can concurrently support + across hosts in upstream cluster. Minimum + value of 1. + type: number + required: + - maxRequests + type: object + type: array + http: + description: Connection pool information for + HTTP listeners. + items: + properties: + maxConnections: + description: Maximum number of outbound + TCP connections Envoy can establish + concurrently with all hosts in upstream + cluster. Minimum value of 1. + type: number + maxPendingRequests: + description: Number of overflowing requests + after max_connections Envoy will queue + to upstream cluster. Minimum value of + 1. + type: number + required: + - maxConnections + type: object + type: array + http2: + description: Connection pool information for + HTTP2 listeners. + items: + properties: + maxRequests: + description: Maximum number of inflight + requests Envoy can concurrently support + across hosts in upstream cluster. Minimum + value of 1. + type: number + required: + - maxRequests + type: object + type: array + tcp: + description: Connection pool information for + TCP listeners. + items: + properties: + maxConnections: + description: Maximum number of outbound + TCP connections Envoy can establish + concurrently with all hosts in upstream + cluster. Minimum value of 1. + type: number + required: + - maxConnections + type: object + type: array + type: object + type: array + healthCheck: + description: The health check information for the + listener. + items: + properties: + healthyThreshold: + description: The number of consecutive successful + health checks that must occur before declaring + listener healthy. + type: number + intervalMillis: + description: The time period in milliseconds + between each health check execution. + type: number + path: + description: The file path to write access logs + to. You can use /dev/stdout to send access + logs to standard out. Must be between 1 and + 255 characters in length. + type: string + port: + description: The port used for the port mapping. + type: number + protocol: + description: The protocol used for the port + mapping. Valid values are http, http2, tcp + and grpc. + type: string + timeoutMillis: + description: The amount of time to wait when + receiving a response from the health check, + in milliseconds. + type: number + unhealthyThreshold: + description: The number of consecutive failed + health checks that must occur before declaring + a virtual node unhealthy. + type: number + required: + - healthyThreshold + - intervalMillis + - protocol + - timeoutMillis + - unhealthyThreshold + type: object + type: array + outlierDetection: + description: The outlier detection information for + the listener. + items: + properties: + baseEjectionDuration: + description: The base amount of time for which + a host is ejected. + items: + properties: + unit: + description: 'The unit of time. Valid + values: ms, s.' + type: string + value: + description: The number of time units. + Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + interval: + description: The time interval between ejection + sweep analysis. + items: + properties: + unit: + description: 'The unit of time. Valid + values: ms, s.' + type: string + value: + description: The number of time units. + Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + maxEjectionPercent: + description: Maximum percentage of hosts in + load balancing pool for upstream service that + can be ejected. Will eject at least one host + regardless of the value. Minimum value of + 0. Maximum value of 100. + type: number + maxServerErrors: + description: Number of consecutive 5xx errors + required for ejection. Minimum value of 1. + type: number + required: + - baseEjectionDuration + - interval + - maxEjectionPercent + - maxServerErrors + type: object + type: array + portMapping: + description: The port mapping information for the + listener. + items: + properties: + port: + description: The port used for the port mapping. + type: number + protocol: + description: The protocol used for the port + mapping. Valid values are http, http2, tcp + and grpc. + type: string + required: + - port + - protocol + type: object + type: array + timeout: + description: Timeouts for different protocols. + items: + properties: + grpc: + description: Connection pool information for + gRPC listeners. + items: + properties: + idle: + description: The idle timeout. An idle + timeout bounds the amount of time that + a connection may be idle. + items: + properties: + unit: + description: 'The unit of time. + Valid values: ms, s.' + type: string + value: + description: The number of time + units. Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + perRequest: + description: The per request timeout. + items: + properties: + unit: + description: 'The unit of time. + Valid values: ms, s.' + type: string + value: + description: The number of time + units. Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + type: object + type: array + http: + description: Connection pool information for + HTTP listeners. + items: + properties: + idle: + description: The idle timeout. An idle + timeout bounds the amount of time that + a connection may be idle. + items: + properties: + unit: + description: 'The unit of time. + Valid values: ms, s.' + type: string + value: + description: The number of time + units. Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + perRequest: + description: The per request timeout. + items: + properties: + unit: + description: 'The unit of time. + Valid values: ms, s.' + type: string + value: + description: The number of time + units. Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + type: object + type: array + http2: + description: Connection pool information for + HTTP2 listeners. + items: + properties: + idle: + description: The idle timeout. An idle + timeout bounds the amount of time that + a connection may be idle. + items: + properties: + unit: + description: 'The unit of time. + Valid values: ms, s.' + type: string + value: + description: The number of time + units. Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + perRequest: + description: The per request timeout. + items: + properties: + unit: + description: 'The unit of time. + Valid values: ms, s.' + type: string + value: + description: The number of time + units. Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + type: object + type: array + tcp: + description: Connection pool information for + TCP listeners. + items: + properties: + idle: + description: The idle timeout. An idle + timeout bounds the amount of time that + a connection may be idle. + items: + properties: + unit: + description: 'The unit of time. + Valid values: ms, s.' + type: string + value: + description: The number of time + units. Minimum value of 0. + type: number + required: + - unit + - value + type: object + type: array + type: object + type: array + type: object + type: array + tls: + description: The Transport Layer Security (TLS) client + policy. + items: + properties: + certificate: + description: The virtual node's client's Transport + Layer Security (TLS) certificate. + items: + properties: + acm: + description: The TLS validation context + trust for an AWS Certificate Manager + (ACM) certificate. + items: + properties: + certificateArn: + description: The Amazon Resource + Name (ARN) for the certificate. + type: string + required: + - certificateArn + type: object + type: array + file: + description: A local file certificate. + items: + properties: + certificateChain: + description: The certificate chain + for the certificate. + type: string + privateKey: + description: The private key for + a certificate stored on the file + system of the mesh endpoint that + the proxy is running on. + type: string + required: + - certificateChain + - privateKey + type: object + type: array + sds: + description: A Secret Discovery Service + certificate. + items: + properties: + secretName: + description: The name of the secret + secret requested from the Secret + Discovery Service provider representing + Transport Layer Security (TLS) + materials like a certificate or + certificate chain. + type: string + required: + - secretName + type: object + type: array + type: object + type: array + mode: + description: 'The listener''s TLS mode. Valid + values: DISABLED, PERMISSIVE, STRICT.' + type: string + validation: + description: The TLS validation context. + items: + properties: + subjectAlternativeNames: + description: The SANs for a TLS validation + context. + items: + properties: + match: + description: The criteria for determining + a SAN's match. + items: + properties: + exact: + description: The values sent + must match the specified + values exactly. + items: + type: string + type: array + required: + - exact + type: object + type: array + required: + - match + type: object + type: array + trust: + description: The TLS validation context + trust. + items: + properties: + file: + description: A local file certificate. + items: + properties: + certificateChain: + description: The certificate + chain for the certificate. + type: string + required: + - certificateChain + type: object + type: array + sds: + description: A Secret Discovery + Service certificate. + items: + properties: + secretName: + description: The name of the + secret secret requested + from the Secret Discovery + Service provider representing + Transport Layer Security + (TLS) materials like a certificate + or certificate chain. + type: string + required: + - secretName + type: object + type: array + type: object + type: array + required: + - trust + type: object + type: array + required: + - certificate + - mode + type: object + type: array + required: + - portMapping + type: object + type: array + logging: + description: The inbound and outbound access logging information + for the virtual node. + items: + properties: + accessLog: + description: The access log configuration for a virtual + node. + items: + properties: + file: + description: A local file certificate. + items: + properties: + path: + description: The file path to write access + logs to. You can use /dev/stdout to + send access logs to standard out. Must + be between 1 and 255 characters in length. + type: string + required: + - path + type: object + type: array + type: object + type: array + type: object + type: array + serviceDiscovery: + description: The service discovery information for the virtual + node. + items: + properties: + awsCloudMap: + description: Specifies any AWS Cloud Map information + for the virtual node. + items: + properties: + attributes: + additionalProperties: + type: string + description: A string map that contains attributes + with values that you can use to filter instances + by any custom attribute that you specified + when you registered the instance. Only instances + that match all of the specified key/value + pairs will be returned. + type: object + namespaceName: + description: The name of the AWS Cloud Map namespace + to use. Use the aws_service_discovery_http_namespace + resource to configure a Cloud Map namespace. + Must be between 1 and 1024 characters in length. + type: string + namespaceNameRef: + description: Reference to a HTTPNamespace in + servicediscovery to populate namespaceName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + namespaceNameSelector: + description: Selector for a HTTPNamespace in + servicediscovery to populate namespaceName. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object + with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + serviceName: + description: attribute of the dns object to + hostname. + type: string + required: + - serviceName + type: object + type: array + dns: + description: Specifies the DNS service name for the + virtual node. + items: + properties: + hostname: + description: The DNS host name for your virtual + node. + type: string + required: + - hostname + type: object + type: array + type: object + type: array + type: object + type: array + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + required: + - name + - region + - spec + type: object + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: VirtualNodeStatus defines the observed state of VirtualNode. + properties: + atProvider: + properties: + arn: + description: The ARN of the virtual node. + type: string + createdDate: + description: The creation date of the virtual node. + type: string + id: + description: The ID of the virtual node. + type: string + lastUpdatedDate: + description: The last update date of the virtual node. + type: string + resourceOwner: + description: The resource owner's AWS account ID. + type: string + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/appmesh.aws.upbound.io_virtualrouters.yaml b/package/crds/appmesh.aws.upbound.io_virtualrouters.yaml new file mode 100644 index 0000000000..f8235391fe --- /dev/null +++ b/package/crds/appmesh.aws.upbound.io_virtualrouters.yaml @@ -0,0 +1,445 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: virtualrouters.appmesh.aws.upbound.io +spec: + group: appmesh.aws.upbound.io + names: + categories: + - crossplane + - managed + - aws + kind: VirtualRouter + listKind: VirtualRouterList + plural: virtualrouters + singular: virtualrouter + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: VirtualRouter is the Schema for the VirtualRouters API. Provides + an AWS App Mesh virtual router resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: VirtualRouterSpec defines the desired state of VirtualRouter + properties: + deletionPolicy: + default: Delete + description: DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + meshName: + description: The name of the service mesh in which to create the + virtual router. Must be between 1 and 255 characters in length. + type: string + meshNameRef: + description: Reference to a Mesh in appmesh to populate meshName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + meshNameSelector: + description: Selector for a Mesh in appmesh to populate meshName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + meshOwner: + description: The AWS account ID of the service mesh's owner. Defaults + to the account ID the AWS provider is currently connected to. + type: string + name: + description: The name to use for the virtual router. Must be between + 1 and 255 characters in length. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + spec: + description: The virtual router specification to apply. + items: + properties: + listener: + description: configuration block to the spec argument. + items: + properties: + portMapping: + description: The port mapping information for the + listener. + items: + properties: + port: + description: The port used for the port mapping. + type: number + protocol: + description: The protocol used for the port + mapping. Valid values are http,http2, tcp + and grpc. + type: string + required: + - port + - protocol + type: object + type: array + required: + - portMapping + type: object + type: array + required: + - listener + type: object + type: array + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + required: + - name + - region + - spec + type: object + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: VirtualRouterStatus defines the observed state of VirtualRouter. + properties: + atProvider: + properties: + arn: + description: The ARN of the virtual router. + type: string + createdDate: + description: The creation date of the virtual router. + type: string + id: + description: The ID of the virtual router. + type: string + lastUpdatedDate: + description: The last update date of the virtual router. + type: string + resourceOwner: + description: The resource owner's AWS account ID. + type: string + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/appmesh.aws.upbound.io_virtualservices.yaml b/package/crds/appmesh.aws.upbound.io_virtualservices.yaml new file mode 100644 index 0000000000..ca3abbd916 --- /dev/null +++ b/package/crds/appmesh.aws.upbound.io_virtualservices.yaml @@ -0,0 +1,617 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.8.0 + creationTimestamp: null + name: virtualservices.appmesh.aws.upbound.io +spec: + group: appmesh.aws.upbound.io + names: + categories: + - crossplane + - managed + - aws + kind: VirtualService + listKind: VirtualServiceList + plural: virtualservices + singular: virtualservice + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: VirtualService is the Schema for the VirtualServices API. Provides + an AWS App Mesh virtual service resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: VirtualServiceSpec defines the desired state of VirtualService + properties: + deletionPolicy: + default: Delete + description: DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + meshName: + description: The name of the service mesh in which to create the + virtual service. Must be between 1 and 255 characters in length. + type: string + meshNameRef: + description: Reference to a Mesh in appmesh to populate meshName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + meshNameSelector: + description: Selector for a Mesh in appmesh to populate meshName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + meshOwner: + description: The AWS account ID of the service mesh's owner. Defaults + to the account ID the AWS provider is currently connected to. + type: string + name: + description: The name to use for the virtual service. Must be + between 1 and 255 characters in length. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + spec: + description: The virtual service specification to apply. + items: + properties: + provider: + description: The App Mesh object that is acting as the provider + for a virtual service. You can specify a single virtual + node or virtual router. + items: + properties: + virtualNode: + description: The virtual node associated with a virtual + service. + items: + properties: + virtualNodeName: + description: The name of the virtual node that + is acting as a service provider. Must be between + 1 and 255 characters in length. + type: string + virtualNodeNameRef: + description: Reference to a VirtualNode in appmesh + to populate virtualNodeName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + virtualNodeNameSelector: + description: Selector for a VirtualNode in appmesh + to populate virtualNodeName. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object + with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + type: array + virtualRouter: + description: The virtual router associated with a + virtual service. + items: + properties: + virtualRouterName: + description: The name of the virtual router + that is acting as a service provider. Must + be between 1 and 255 characters in length. + type: string + virtualRouterNameRef: + description: Reference to a VirtualRouter in + appmesh to populate virtualRouterName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + virtualRouterNameSelector: + description: Selector for a VirtualRouter in + appmesh to populate virtualRouterName. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object + with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + type: array + type: object + type: array + type: object + type: array + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + required: + - name + - region + - spec + type: object + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: VirtualServiceStatus defines the observed state of VirtualService. + properties: + atProvider: + properties: + arn: + description: The ARN of the virtual service. + type: string + createdDate: + description: The creation date of the virtual service. + type: string + id: + description: The ID of the virtual service. + type: string + lastUpdatedDate: + description: The last update date of the virtual service. + type: string + resourceOwner: + description: The resource owner's AWS account ID. + type: string + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] From 4be3a2093a2f38c82cac2dee5d751779ae867634 Mon Sep 17 00:00:00 2001 From: Schegolevatych Svetlana Date: Tue, 15 Nov 2022 11:08:45 +0200 Subject: [PATCH 2/3] fix annotations --- config/externalname.go | 2 +- examples/appmesh/gatewayroute.yaml | 8 ++++---- examples/appmesh/route.yaml | 8 ++++---- examples/appmesh/virtualgateway.yaml | 2 +- examples/appmesh/virtualnode.yaml | 2 +- examples/appmesh/virtualrouter.yaml | 2 +- examples/appmesh/virtualservice.yaml | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/config/externalname.go b/config/externalname.go index c47db63f27..5e6d0dc897 100644 --- a/config/externalname.go +++ b/config/externalname.go @@ -1111,7 +1111,7 @@ var ExternalNameConfigs = map[string]config.ExternalName{ // // App Mesh service meshes can be imported using the name "aws_appmesh_mesh": config.NameAsIdentifier, - // App Mesh virtual nodes can be imported using mesh_name together with the virtual node's name: simpleapp/serviceBv1 + // App Mesh virtual nodes can be imported using mesh_name together with the virtual node's name: simpleapp/serviceBv1 "aws_appmesh_virtual_node": config.IdentifierFromProvider, // App Mesh virtual routers can be imported using mesh_name together with the virtual router's name: simpleapp/serviceB "aws_appmesh_virtual_router": config.IdentifierFromProvider, diff --git a/examples/appmesh/gatewayroute.yaml b/examples/appmesh/gatewayroute.yaml index c406e08467..9d0dbc4c81 100644 --- a/examples/appmesh/gatewayroute.yaml +++ b/examples/appmesh/gatewayroute.yaml @@ -31,7 +31,7 @@ apiVersion: appmesh.aws.upbound.io/v1beta1 kind: VirtualGateway metadata: annotations: - meta.upbound.io/example-id: appmesh/v1beta1/virtualgateway + meta.upbound.io/example-id: appmesh/v1beta1/gatewayroute labels: testing.upbound.io/example-name: example name: example @@ -52,7 +52,7 @@ apiVersion: appmesh.aws.upbound.io/v1beta1 kind: Mesh metadata: annotations: - meta.upbound.io/example-id: appmesh/v1beta1/mesh + meta.upbound.io/example-id: appmesh/v1beta1/gatewayroute labels: testing.upbound.io/example-name: simple name: simple @@ -64,7 +64,7 @@ apiVersion: appmesh.aws.upbound.io/v1beta1 kind: VirtualService metadata: annotations: - meta.upbound.io/example-id: appmesh/v1beta1/virtualservice + meta.upbound.io/example-id: appmesh/v1beta1/gatewayroute labels: testing.upbound.io/example-name: servicea name: servicea @@ -86,7 +86,7 @@ apiVersion: appmesh.aws.upbound.io/v1beta1 kind: VirtualNode metadata: annotations: - meta.upbound.io/example-id: appmesh/v1beta1/virtualnode + meta.upbound.io/example-id: appmesh/v1beta1/gatewayroute labels: testing.upbound.io/example-name: serviceb1 name: serviceb1 diff --git a/examples/appmesh/route.yaml b/examples/appmesh/route.yaml index 486683d833..d028101441 100644 --- a/examples/appmesh/route.yaml +++ b/examples/appmesh/route.yaml @@ -35,7 +35,7 @@ apiVersion: appmesh.aws.upbound.io/v1beta1 kind: VirtualNode metadata: annotations: - meta.upbound.io/example-id: appmesh/v1beta1/virtualnode + meta.upbound.io/example-id: appmesh/v1beta1/route labels: testing.upbound.io/example-name: serviceb1 name: serviceb1 @@ -62,7 +62,7 @@ apiVersion: appmesh.aws.upbound.io/v1beta1 kind: Mesh metadata: annotations: - meta.upbound.io/example-id: appmesh/v1beta1/mesh + meta.upbound.io/example-id: appmesh/v1beta1/route labels: testing.upbound.io/example-name: simple name: simple @@ -74,7 +74,7 @@ apiVersion: appmesh.aws.upbound.io/v1beta1 kind: VirtualNode metadata: annotations: - meta.upbound.io/example-id: appmesh/v1beta1/virtualnode + meta.upbound.io/example-id: appmesh/v1beta1/route labels: testing.upbound.io/example-name: serviceb2 name: serviceb2 @@ -101,7 +101,7 @@ apiVersion: appmesh.aws.upbound.io/v1beta1 kind: VirtualRouter metadata: annotations: - meta.upbound.io/example-id: appmesh/v1beta1/virtualrouter + meta.upbound.io/example-id: appmesh/v1beta1/route labels: testing.upbound.io/example-name: serviceb name: serviceb diff --git a/examples/appmesh/virtualgateway.yaml b/examples/appmesh/virtualgateway.yaml index 237eae8d56..e1309b224b 100644 --- a/examples/appmesh/virtualgateway.yaml +++ b/examples/appmesh/virtualgateway.yaml @@ -23,7 +23,7 @@ apiVersion: appmesh.aws.upbound.io/v1beta1 kind: Mesh metadata: annotations: - meta.upbound.io/example-id: appmesh/v1beta1/mesh + meta.upbound.io/example-id: appmesh/v1beta1/virtualgateway labels: testing.upbound.io/example-name: simple name: simple diff --git a/examples/appmesh/virtualnode.yaml b/examples/appmesh/virtualnode.yaml index 8b87b6dfbb..90875352ed 100644 --- a/examples/appmesh/virtualnode.yaml +++ b/examples/appmesh/virtualnode.yaml @@ -29,7 +29,7 @@ apiVersion: appmesh.aws.upbound.io/v1beta1 kind: Mesh metadata: annotations: - meta.upbound.io/example-id: appmesh/v1beta1/mesh + meta.upbound.io/example-id: appmesh/v1beta1/virtualnode labels: testing.upbound.io/example-name: simple name: simple diff --git a/examples/appmesh/virtualrouter.yaml b/examples/appmesh/virtualrouter.yaml index 4441e29327..731cb70d22 100644 --- a/examples/appmesh/virtualrouter.yaml +++ b/examples/appmesh/virtualrouter.yaml @@ -23,7 +23,7 @@ apiVersion: appmesh.aws.upbound.io/v1beta1 kind: Mesh metadata: annotations: - meta.upbound.io/example-id: appmesh/v1beta1/mesh + meta.upbound.io/example-id: appmesh/v1beta1/virtualrouter labels: testing.upbound.io/example-name: simple name: simple diff --git a/examples/appmesh/virtualservice.yaml b/examples/appmesh/virtualservice.yaml index d0871c6c29..4542df4948 100644 --- a/examples/appmesh/virtualservice.yaml +++ b/examples/appmesh/virtualservice.yaml @@ -24,7 +24,7 @@ apiVersion: appmesh.aws.upbound.io/v1beta1 kind: Mesh metadata: annotations: - meta.upbound.io/example-id: appmesh/v1beta1/mesh + meta.upbound.io/example-id: appmesh/v1beta1/virtualservice labels: testing.upbound.io/example-name: simple name: simple @@ -36,7 +36,7 @@ apiVersion: appmesh.aws.upbound.io/v1beta1 kind: VirtualNode metadata: annotations: - meta.upbound.io/example-id: appmesh/v1beta1/virtualnode + meta.upbound.io/example-id: appmesh/v1beta1/virtualservice labels: testing.upbound.io/example-name: serviceb1 name: serviceb1 From f982d22213edcaaff3cd759520bc4ecc4c4e52f2 Mon Sep 17 00:00:00 2001 From: Schegolevatych Svetlana Date: Wed, 16 Nov 2022 15:23:04 +0200 Subject: [PATCH 3/3] rebase upstream --- examples/appmesh/virtualservice.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/appmesh/virtualservice.yaml b/examples/appmesh/virtualservice.yaml index 4542df4948..0f951deed2 100644 --- a/examples/appmesh/virtualservice.yaml +++ b/examples/appmesh/virtualservice.yaml @@ -57,4 +57,4 @@ spec: protocol: http serviceDiscovery: - dns: - - hostname: serviceb.simpleapp.local \ No newline at end of file + - hostname: serviceb.simpleapp.local