Documentation
¶
Overview ¶
Package v1alpha1 contains managed resources for GCP compute services such as Firewall. +kubebuilder:object:generate=true +groupName=compute.gcp.crossplane.io +versionName=v1alpha1
Index ¶
- Constants
- Variables
- type Firewall
- func (in *Firewall) DeepCopy() *Firewall
- func (in *Firewall) DeepCopyInto(out *Firewall)
- func (in *Firewall) DeepCopyObject() runtime.Object
- func (mg *Firewall) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (mg *Firewall) GetDeletionPolicy() xpv1.DeletionPolicy
- func (mg *Firewall) GetProviderConfigReference() *xpv1.Reference
- func (mg *Firewall) GetProviderReference() *xpv1.Reference
- func (mg *Firewall) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
- func (mg *Firewall) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (mg *Firewall) ResolveReferences(ctx context.Context, c client.Reader) error
- func (mg *Firewall) SetConditions(c ...xpv1.Condition)
- func (mg *Firewall) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *Firewall) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *Firewall) SetProviderReference(r *xpv1.Reference)
- func (mg *Firewall) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
- func (mg *Firewall) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type FirewallAllowed
- type FirewallDenied
- type FirewallList
- type FirewallLogConfig
- type FirewallObservation
- type FirewallParameters
- type FirewallSpec
- type FirewallStatus
- type Router
- func (in *Router) DeepCopy() *Router
- func (in *Router) DeepCopyInto(out *Router)
- func (in *Router) DeepCopyObject() runtime.Object
- func (mg *Router) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (mg *Router) GetDeletionPolicy() xpv1.DeletionPolicy
- func (mg *Router) GetProviderConfigReference() *xpv1.Reference
- func (mg *Router) GetProviderReference() *xpv1.Reference
- func (mg *Router) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
- func (mg *Router) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (mg *Router) ResolveReferences(ctx context.Context, c client.Reader) error
- func (mg *Router) SetConditions(c ...xpv1.Condition)
- func (mg *Router) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *Router) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *Router) SetProviderReference(r *xpv1.Reference)
- func (mg *Router) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
- func (mg *Router) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type RouterAdvertisedIpRange
- type RouterBgp
- type RouterBgpPeer
- type RouterInterface
- type RouterList
- type RouterNat
- type RouterNatLogConfig
- type RouterNatSubnetworkToNat
- type RouterObservation
- type RouterParameters
- type RouterSpec
- type RouterStatus
Constants ¶
const ( Group = "compute.gcp.crossplane.io" Version = "v1alpha1" )
Package type metadata.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} )
var ( FirewallKind = reflect.TypeOf(Firewall{}).Name() FirewallGroupKind = schema.GroupKind{Group: Group, Kind: FirewallKind}.String() FirewallKindAPIVersion = FirewallKind + "." + SchemeGroupVersion.String() FirewallGroupVersionKind = SchemeGroupVersion.WithKind(FirewallKind) )
Firewall type metadata.
var ( RouterKind = reflect.TypeOf(Router{}).Name() RouterGroupKind = schema.GroupKind{Group: Group, Kind: RouterKind}.String() RouterKindAPIVersion = RouterKind + "." + SchemeGroupVersion.String() RouterGroupVersionKind = SchemeGroupVersion.WithKind(RouterKind) )
Router type metadata.
Functions ¶
This section is empty.
Types ¶
type Firewall ¶
type Firewall struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FirewallSpec `json:"spec"` Status FirewallStatus `json:"status,omitempty"` }
A Firewall is a managed resource that represents a Google Compute Engine Firewall +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:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp}
func (*Firewall) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Firewall.
func (*Firewall) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Firewall) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Firewall) GetCondition ¶
func (mg *Firewall) GetCondition(ct xpv1.ConditionType) xpv1.Condition
GetCondition of this Firewall.
func (*Firewall) GetDeletionPolicy ¶
func (mg *Firewall) GetDeletionPolicy() xpv1.DeletionPolicy
GetDeletionPolicy of this Firewall.
func (*Firewall) GetProviderConfigReference ¶
GetProviderConfigReference of this Firewall.
func (*Firewall) GetProviderReference ¶
GetProviderReference of this Firewall. Deprecated: Use GetProviderConfigReference.
func (*Firewall) GetPublishConnectionDetailsTo ¶
func (mg *Firewall) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
GetPublishConnectionDetailsTo of this Firewall.
func (*Firewall) GetWriteConnectionSecretToReference ¶
func (mg *Firewall) GetWriteConnectionSecretToReference() *xpv1.SecretReference
GetWriteConnectionSecretToReference of this Firewall.
func (*Firewall) ResolveReferences ¶
ResolveReferences of this Firewall
func (*Firewall) SetConditions ¶
SetConditions of this Firewall.
func (*Firewall) SetDeletionPolicy ¶
func (mg *Firewall) SetDeletionPolicy(r xpv1.DeletionPolicy)
SetDeletionPolicy of this Firewall.
func (*Firewall) SetProviderConfigReference ¶
SetProviderConfigReference of this Firewall.
func (*Firewall) SetProviderReference ¶
SetProviderReference of this Firewall. Deprecated: Use SetProviderConfigReference.
func (*Firewall) SetPublishConnectionDetailsTo ¶
func (mg *Firewall) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
SetPublishConnectionDetailsTo of this Firewall.
func (*Firewall) SetWriteConnectionSecretToReference ¶
func (mg *Firewall) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
SetWriteConnectionSecretToReference of this Firewall.
type FirewallAllowed ¶
type FirewallAllowed struct { // IPProtocol: The IP protocol to which this rule applies. The protocol // type is required when creating a firewall rule. This value can either // be one of the following well known protocol strings (tcp, udp, icmp, // esp, ah, ipip, sctp) or the IP protocol number. IPProtocol string `json:"IPProtocol"` // Ports: An optional list of ports to which this rule applies. This // field is only applicable for the UDP or TCP protocol. Each entry must // be either an integer or a range. If not specified, this rule applies // to connections through any port. // // Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. // +optional Ports []string `json:"ports,omitempty"` }
FirewallAllowed represents the ALLOW rule by the firewall
func (*FirewallAllowed) DeepCopy ¶
func (in *FirewallAllowed) DeepCopy() *FirewallAllowed
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallAllowed.
func (*FirewallAllowed) DeepCopyInto ¶
func (in *FirewallAllowed) DeepCopyInto(out *FirewallAllowed)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FirewallDenied ¶
type FirewallDenied struct { // IPProtocol: The IP protocol to which this rule applies. The protocol // type is required when creating a firewall rule. This value can either // be one of the following well known protocol strings (tcp, udp, icmp, // esp, ah, ipip, sctp) or the IP protocol number. IPProtocol string `json:"IPProtocol"` // Ports: An optional list of ports to which this rule applies. This // field is only applicable for the UDP or TCP protocol. Each entry must // be either an integer or a range. If not specified, this rule applies // to connections through any port. // // Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. // +optional Ports []string `json:"ports,omitempty"` }
FirewallDenied represents the DENY rule by the firewall
func (*FirewallDenied) DeepCopy ¶
func (in *FirewallDenied) DeepCopy() *FirewallDenied
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallDenied.
func (*FirewallDenied) DeepCopyInto ¶
func (in *FirewallDenied) DeepCopyInto(out *FirewallDenied)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FirewallList ¶
type FirewallList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Firewall `json:"items"` }
FirewallList contains a list of Firewall.
func (*FirewallList) DeepCopy ¶
func (in *FirewallList) DeepCopy() *FirewallList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallList.
func (*FirewallList) DeepCopyInto ¶
func (in *FirewallList) DeepCopyInto(out *FirewallList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FirewallList) DeepCopyObject ¶
func (in *FirewallList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*FirewallList) GetItems ¶
func (l *FirewallList) GetItems() []resource.Managed
GetItems of this FirewallList.
type FirewallLogConfig ¶
type FirewallLogConfig struct { // Enable: This field denotes whether to enable logging for a particular // firewall rule. Enable bool `json:"enable"` }
A FirewallLogConfig represents the available logging options for firewall.
func (*FirewallLogConfig) DeepCopy ¶
func (in *FirewallLogConfig) DeepCopy() *FirewallLogConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallLogConfig.
func (*FirewallLogConfig) DeepCopyInto ¶
func (in *FirewallLogConfig) DeepCopyInto(out *FirewallLogConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FirewallObservation ¶
type FirewallObservation struct { // CreationTimestamp: Creation timestamp in RFC3339 text // format. CreationTimestamp string `json:"creationTimestamp,omitempty"` // Id: The unique identifier for the resource. This // identifier is defined by the server. ID uint64 `json:"id,omitempty"` // SelfLink: Server-defined URL for the resource. SelfLink string `json:"selfLink,omitempty"` }
A FirewallObservation represents the observed state of a Google Compute Engine Firewall rule.
func (*FirewallObservation) DeepCopy ¶
func (in *FirewallObservation) DeepCopy() *FirewallObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallObservation.
func (*FirewallObservation) DeepCopyInto ¶
func (in *FirewallObservation) DeepCopyInto(out *FirewallObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FirewallParameters ¶
type FirewallParameters struct { // Description: An optional description of this resource. Provide this // field when you create the resource. // +optional // +immutable Description *string `json:"description,omitempty"` // Network: URL of the network resource for this firewall rule. If not // specified when creating a firewall rule, the default network is // used: // global/networks/default // If you choose to specify this field, you can specify the network as a // full or partial URL. For example, the following are all valid URLs: // // - // https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network // - projects/myproject/global/networks/my-network // - global/networks/default // +optional // +immutable Network *string `json:"network,omitempty"` // NetworkRef references a Network and retrieves its URI // +optional // +immutable NetworkRef *xpv1.Reference `json:"networkRef,omitempty"` // NetworkSelector selects a reference to a Network // +optional // +immutable NetworkSelector *xpv1.Selector `json:"networkSelector,omitempty"` // Priority: Priority for this rule. This is an integer between `0` and // `65535`, both inclusive. The default value is `1000`. Relative // priorities determine which rule takes effect if multiple rules apply. // Lower values indicate higher priority. For example, a rule with // priority `0` has higher precedence than a rule with priority `1`. // DENY rules take precedence over ALLOW rules if they have equal // priority. Note that VPC networks have implied rules with a priority // of `65535`. To avoid conflicts with the implied rules, use a priority // number less than `65535`. // +optional Priority *int64 `json:"priority,omitempty"` // SourceRanges: If source ranges are specified, the firewall rule // applies only to traffic that has a source IP address in these ranges. // These ranges must be expressed in CIDR format. One or both of // sourceRanges and sourceTags may be set. If both fields are set, the // rule applies to traffic that has a source IP address within // sourceRanges OR a source IP from a resource with a matching tag // listed in the sourceTags field. The connection does not need to match // both fields for the rule to apply. Only IPv4 is supported. // +optional SourceRanges []string `json:"sourceRanges,omitempty"` // DestinationRanges: If destination ranges are specified, the firewall // rule applies only to traffic that has destination IP address in these // ranges. These ranges must be expressed in CIDR format. Only IPv4 is // supported. // +optional DestinationRanges []string `json:"destinationRanges,omitempty"` // SourceTags: If source tags are specified, the firewall rule applies // only to traffic with source IPs that match the primary network // interfaces of VM instances that have the tag and are in the same VPC // network. Source tags cannot be used to control traffic to an // instance's external IP address, it only applies to traffic between // instances in the same virtual network. Because tags are associated // with instances, not IP addresses. One or both of sourceRanges and // sourceTags may be set. If both fields are set, the firewall applies // to traffic that has a source IP address within sourceRanges OR a // source IP from a resource with a matching tag listed in the // sourceTags field. The connection does not need to match both fields // for the firewall to apply. // +optional SourceTags []string `json:"sourceTags,omitempty"` // TargetTags: A list of tags that controls which instances the firewall // rule applies to. If targetTags are specified, then the firewall rule // applies only to instances in the VPC network that have one of those // tags. If no targetTags are specified, the firewall rule applies to // all instances on the specified network. // +optional TargetTags []string `json:"targetTags,omitempty"` // SourceServiceAccounts: If source service accounts are specified, the // firewall rules apply only to traffic originating from an instance // with a service account in this list. Source service accounts cannot // be used to control traffic to an instance's external IP address // because service accounts are associated with an instance, not an IP // address. sourceRanges can be set at the same time as // sourceServiceAccounts. If both are set, the firewall applies to // traffic that has a source IP address within the sourceRanges OR a // source IP that belongs to an instance with service account listed in // sourceServiceAccount. The connection does not need to match both // fields for the firewall to apply. sourceServiceAccounts cannot be // used at the same time as sourceTags or targetTags. // +optional SourceServiceAccounts []string `json:"sourceServiceAccounts,omitempty"` // TargetServiceAccounts: A list of service accounts indicating sets of // instances located in the network that may make network connections as // specified in allowed[]. targetServiceAccounts cannot be used at the // same time as targetTags or sourceTags. If neither // targetServiceAccounts nor targetTags are specified, the firewall rule // applies to all instances on the specified network. // +optional TargetServiceAccounts []string `json:"targetServiceAccounts,omitempty"` // Allowed: The list of ALLOW rules specified by this firewall. Each // rule specifies a protocol and port-range tuple that describes a // permitted connection. // +optional Allowed []*FirewallAllowed `json:"allowed,omitempty"` // Denied: The list of DENY rules specified by this firewall. Each rule // specifies a protocol and port-range tuple that describes a denied // connection. // +optional Denied []*FirewallDenied `json:"denied,omitempty"` // Direction: Direction of traffic to which this firewall applies, // either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `INGRESS` // traffic, you cannot specify the destinationRanges field, and for // `EGRESS` traffic, you cannot specify the sourceRanges or sourceTags // fields. // // Possible values: // "EGRESS" // "INGRESS" // +optional Direction *string `json:"direction,omitempty"` // Disabled: Denotes whether the firewall rule is disabled. When set to // true, the firewall rule is not enforced and the network behaves as if // it did not exist. If this is unspecified, the firewall rule will be // enabled. // +optional Disabled *bool `json:"disabled,omitempty"` // LogConfig: This field denotes the logging options for a particular // firewall rule. If logging is enabled, logs will be exported to // Stackdriver. // +optional LogConfig *FirewallLogConfig `json:"logConfig,omitempty"` }
FirewallParameters define the desired state of a Google Compute Engine Firewall rule. Most fields map directly to a Firewall: https://cloud.google.com/compute/docs/reference/rest/v1/firewalls/
func (*FirewallParameters) DeepCopy ¶
func (in *FirewallParameters) DeepCopy() *FirewallParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallParameters.
func (*FirewallParameters) DeepCopyInto ¶
func (in *FirewallParameters) DeepCopyInto(out *FirewallParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FirewallSpec ¶
type FirewallSpec struct { xpv1.ResourceSpec `json:",inline"` ForProvider FirewallParameters `json:"forProvider"` }
A FirewallSpec defines the desired state of a Firewall.
func (*FirewallSpec) DeepCopy ¶
func (in *FirewallSpec) DeepCopy() *FirewallSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallSpec.
func (*FirewallSpec) DeepCopyInto ¶
func (in *FirewallSpec) DeepCopyInto(out *FirewallSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FirewallStatus ¶
type FirewallStatus struct { xpv1.ResourceStatus `json:",inline"` AtProvider FirewallObservation `json:"atProvider,omitempty"` }
A FirewallStatus represents the observed state of a Firewall.
func (*FirewallStatus) DeepCopy ¶
func (in *FirewallStatus) DeepCopy() *FirewallStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallStatus.
func (*FirewallStatus) DeepCopyInto ¶
func (in *FirewallStatus) DeepCopyInto(out *FirewallStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Router ¶
type Router struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RouterSpec `json:"spec"` Status RouterStatus `json:"status,omitempty"` }
A Router is a managed resource that represents a Google Compute Engine Router +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:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp}
func (*Router) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Router.
func (*Router) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Router) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Router) GetCondition ¶
func (mg *Router) GetCondition(ct xpv1.ConditionType) xpv1.Condition
GetCondition of this Router.
func (*Router) GetDeletionPolicy ¶
func (mg *Router) GetDeletionPolicy() xpv1.DeletionPolicy
GetDeletionPolicy of this Router.
func (*Router) GetProviderConfigReference ¶
GetProviderConfigReference of this Router.
func (*Router) GetProviderReference ¶
GetProviderReference of this Router. Deprecated: Use GetProviderConfigReference.
func (*Router) GetPublishConnectionDetailsTo ¶
func (mg *Router) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
GetPublishConnectionDetailsTo of this Router.
func (*Router) GetWriteConnectionSecretToReference ¶
func (mg *Router) GetWriteConnectionSecretToReference() *xpv1.SecretReference
GetWriteConnectionSecretToReference of this Router.
func (*Router) ResolveReferences ¶
ResolveReferences of this Router
func (*Router) SetConditions ¶
SetConditions of this Router.
func (*Router) SetDeletionPolicy ¶
func (mg *Router) SetDeletionPolicy(r xpv1.DeletionPolicy)
SetDeletionPolicy of this Router.
func (*Router) SetProviderConfigReference ¶
SetProviderConfigReference of this Router.
func (*Router) SetProviderReference ¶
SetProviderReference of this Router. Deprecated: Use SetProviderConfigReference.
func (*Router) SetPublishConnectionDetailsTo ¶
func (mg *Router) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
SetPublishConnectionDetailsTo of this Router.
func (*Router) SetWriteConnectionSecretToReference ¶
func (mg *Router) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
SetWriteConnectionSecretToReference of this Router.
type RouterAdvertisedIpRange ¶
type RouterAdvertisedIpRange struct { // Description: User-specified description for the IP range. // +optional Description *string `json:"description,omitempty"` // Range: The IP range to advertise. The value must be a CIDR-formatted // string. Range string `json:"range"` }
A RouterAdvertisedIpRange represents the IP ranges advertised by router.
func (*RouterAdvertisedIpRange) DeepCopy ¶
func (in *RouterAdvertisedIpRange) DeepCopy() *RouterAdvertisedIpRange
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterAdvertisedIpRange.
func (*RouterAdvertisedIpRange) DeepCopyInto ¶
func (in *RouterAdvertisedIpRange) DeepCopyInto(out *RouterAdvertisedIpRange)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterBgp ¶
type RouterBgp struct { // AdvertiseMode: User-specified flag to indicate which mode to use for // advertisement. The options are DEFAULT or CUSTOM. // // Possible values: // "CUSTOM" // "DEFAULT" // +optional // +kubebuilder:validation:Enum=CUSTOM;DEFAULT AdvertiseMode *string `json:"advertiseMode,omitempty"` // AdvertisedGroups: User-specified list of prefix groups to advertise // in custom mode. This field can only be populated if advertise_mode is // CUSTOM and is advertised to all peers of the router. These groups // will be advertised in addition to any specified prefixes. Leave this // field blank to advertise no custom groups. // // Possible values: // "ALL_SUBNETS" // +optional // +kubebuilder:validation:Enum=ALL_SUBNETS AdvertisedGroups []string `json:"advertisedGroups,omitempty"` // AdvertisedIpRanges: User-specified list of individual IP ranges to // advertise in custom mode. This field can only be populated if // advertise_mode is CUSTOM and is advertised to all peers of the // router. These IP ranges will be advertised in addition to any // specified groups. Leave this field blank to advertise no custom IP // ranges. // +optional AdvertisedIpRanges []*RouterAdvertisedIpRange `json:"advertisedIpRanges,omitempty"` // nolint // Asn: Local BGP Autonomous System Number (ASN). Must be an RFC6996 // private ASN, either 16-bit or 32-bit. The value will be fixed for // this router resource. All VPN tunnels that link to this router will // have the same local ASN. // +optional Asn *int64 `json:"asn,omitempty"` }
A RouterBgp represents the Bgp information for router.
func (*RouterBgp) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterBgp.
func (*RouterBgp) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterBgpPeer ¶
type RouterBgpPeer struct { // AdvertiseMode: User-specified flag to indicate which mode to use for // advertisement. // // Possible values: // "CUSTOM" // "DEFAULT" // +optional // +kubebuilder:validation:Enum=CUSTOM;DEFAULT AdvertiseMode *string `json:"advertiseMode,omitempty"` // AdvertisedGroups: User-specified list of prefix groups to advertise // in custom mode, which can take one of the following options: // - ALL_SUBNETS: Advertises all available subnets, including peer VPC // subnets. // - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that // this field can only be populated if advertise_mode is CUSTOM and // overrides the list defined for the router (in the "bgp" message). // These groups are advertised in addition to any specified prefixes. // Leave this field blank to advertise no custom groups. // // Possible values: // "ALL_SUBNETS" // +optional // +kubebuilder:validation:Enum=ALL_SUBNETS AdvertisedGroups []string `json:"advertisedGroups,omitempty"` // AdvertisedIpRanges: User-specified list of individual IP ranges to // advertise in custom mode. This field can only be populated if // advertise_mode is CUSTOM and overrides the list defined for the // router (in the "bgp" message). These IP ranges are advertised in // addition to any specified groups. Leave this field blank to advertise // no custom IP ranges. // +optional AdvertisedIpRanges []*RouterAdvertisedIpRange `json:"advertisedIpRanges,omitempty"` // nolint // AdvertisedRoutePriority: The priority of routes advertised to this // BGP peer. Where there is more than one matching route of maximum // length, the routes with the lowest priority value win. // +optional AdvertisedRoutePriority *int64 `json:"advertisedRoutePriority,omitempty"` // InterfaceName: Name of the interface the BGP peer is associated with. // +optional InterfaceName *string `json:"interfaceName,omitempty"` // IpAddress: IP address of the interface inside Google Cloud Platform. // Only IPv4 is supported. // +optional IpAddress *string `json:"ipAddress,omitempty"` // nolint // Name: Name of this BGP peer. The name must be 1-63 characters long, // and comply with RFC1035. Specifically, the name must be 1-63 // characters long and match the regular expression // `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be // a lowercase letter, and all following characters must be a dash, // lowercase letter, or digit, except the last character, which cannot // be a dash. Name string `json:"name"` // PeerAsn: Peer BGP Autonomous System Number (ASN). Each BGP interface // may use a different value. PeerAsn int64 `json:"peerAsn"` // PeerIpAddress: IP address of the BGP interface outside Google Cloud // Platform. Only IPv4 is supported. // +optional PeerIpAddress *string `json:"peerIpAddress,omitempty"` // nolint }
A RouterBgpPeer represents the BgpPeer configuration for the router.
func (*RouterBgpPeer) DeepCopy ¶
func (in *RouterBgpPeer) DeepCopy() *RouterBgpPeer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterBgpPeer.
func (*RouterBgpPeer) DeepCopyInto ¶
func (in *RouterBgpPeer) DeepCopyInto(out *RouterBgpPeer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterInterface ¶
type RouterInterface struct { // IpRange: IP address and range of the interface. The IP range must be // in the RFC3927 link-local IP address space. The value must be a // CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not // truncate the address as it represents the IP address of the // interface. // +optional IpRange *string `json:"ipRange,omitempty"` // nolint // LinkedInterconnectAttachment: URI of the linked Interconnect // attachment. It must be in the same region as the router. Each // interface can have one linked resource, which can be a VPN tunnel, an // Interconnect attachment, or a virtual machine instance. // +optional LinkedInterconnectAttachment *string `json:"linkedInterconnectAttachment,omitempty"` // LinkedVpnTunnel: URI of the linked VPN tunnel, which must be in the // same region as the router. Each interface can have one linked // resource, which can be a VPN tunnel, an Interconnect attachment, or a // virtual machine instance. // +optional LinkedVpnTunnel *string `json:"linkedVpnTunnel,omitempty"` // Name: Name of this interface entry. The name must be 1-63 characters // long, and comply with RFC1035. Specifically, the name must be 1-63 // characters long and match the regular expression // `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be // a lowercase letter, and all following characters must be a dash, // lowercase letter, or digit, except the last character, which cannot // be a dash. Name string `json:"name"` }
A RouterInterface represent the Interface information for router.
func (*RouterInterface) DeepCopy ¶
func (in *RouterInterface) DeepCopy() *RouterInterface
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterInterface.
func (*RouterInterface) DeepCopyInto ¶
func (in *RouterInterface) DeepCopyInto(out *RouterInterface)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterList ¶
type RouterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Router `json:"items"` }
RouterList contains a list of Routers.
func (*RouterList) DeepCopy ¶
func (in *RouterList) DeepCopy() *RouterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterList.
func (*RouterList) DeepCopyInto ¶
func (in *RouterList) DeepCopyInto(out *RouterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RouterList) DeepCopyObject ¶
func (in *RouterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*RouterList) GetItems ¶
func (l *RouterList) GetItems() []resource.Managed
GetItems of this RouterList.
type RouterNat ¶
type RouterNat struct { // DrainNatIps: A list of URLs of the IP resources to be drained. These // IPs must be valid static external IPs that have been assigned to the // NAT. These IPs should be used for updating/patching a NAT only. // +optional DrainNatIps []string `json:"drainNatIps,omitempty"` // +optional EnableEndpointIndependentMapping *bool `json:"enableEndpointIndependentMapping,omitempty"` // IcmpIdleTimeoutSec: Timeout (in seconds) for ICMP connections. // Defaults to 30s if not set. // +optional IcmpIdleTimeoutSec *int64 `json:"icmpIdleTimeoutSec,omitempty"` // LogConfig: Configure logging on this NAT. // +optional LogConfig *RouterNatLogConfig `json:"logConfig,omitempty"` // MinPortsPerVm: Minimum number of ports allocated to a VM from this // NAT config. If not set, a default number of ports is allocated to a // VM. This is rounded up to the nearest power of 2. For example, if the // value of this field is 50, at least 64 ports are allocated to a VM. // +optional MinPortsPerVm *int64 `json:"minPortsPerVm,omitempty"` // nolint // Name: Unique name of this Nat service. The name must be 1-63 // characters long and comply with RFC1035. // +optional Name *string `json:"name,omitempty"` // NatIpAllocateOption: Specify the NatIpAllocateOption, which can take // one of the following values: // - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When // there are not enough specified Nat IPs, the Nat service fails for new // VMs. // - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; // customers can't specify any Nat IPs. When choosing AUTO_ONLY, then // nat_ip should be empty. // // Possible values: // "AUTO_ONLY" // "MANUAL_ONLY" // +kubebuilder:validation:Enum=AUTO_ONLY;MANUAL_ONLY NatIpAllocateOption string `json:"natIpAllocateOption,omitempty"` // nolint // NatIps: A list of URLs of the IP resources used for this Nat service. // These IP addresses must be valid static external IP addresses // assigned to the project. // +optional NatIps []string `json:"natIps"` // SourceSubnetworkIpRangesToNat: Specify the Nat option, which can take // one of the following values: // - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every // Subnetwork are allowed to Nat. // - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges // in every Subnetwork are allowed to Nat. // - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat // (specified in the field subnetwork below) The default is // SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this // field contains ALL_SUBNETWORKS_ALL_IP_RANGES or // ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any // other Router.Nat section in any Router for this network in this // region. // // Possible values: // "ALL_SUBNETWORKS_ALL_IP_RANGES" // "ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES" // "LIST_OF_SUBNETWORKS" // +kubebuilder:validation:Enum=ALL_SUBNETWORKS_ALL_IP_RANGES;ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES;LIST_OF_SUBNETWORKS SourceSubnetworkIpRangesToNat string `json:"sourceSubnetworkIpRangesToNat"` // nolint // Subnetworks: A list of Subnetwork resources whose traffic should be // translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS // is selected for the SubnetworkIpRangeToNatOption above. // +optional Subnetworks []*RouterNatSubnetworkToNat `json:"subnetworks,omitempty"` // TcpEstablishedIdleTimeoutSec: Timeout (in seconds) for TCP // established connections. Defaults to 1200s if not set. // +optional TcpEstablishedIdleTimeoutSec *int64 `json:"tcpEstablishedIdleTimeoutSec,omitempty"` // nolint // TcpTransitoryIdleTimeoutSec: Timeout (in seconds) for TCP transitory // connections. Defaults to 30s if not set. // +optional TcpTransitoryIdleTimeoutSec *int64 `json:"tcpTransitoryIdleTimeoutSec,omitempty"` // nolint // UdpIdleTimeoutSec: Timeout (in seconds) for UDP connections. Defaults // to 30s if not set. // +optional UdpIdleTimeoutSec *int64 `json:"udpIdleTimeoutSec,omitempty"` // nolint }
RouterNat represents the Nat Service for the router.
func (*RouterNat) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterNat.
func (*RouterNat) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterNatLogConfig ¶
type RouterNatLogConfig struct { // Enable: Indicates whether or not to export logs. This is false by // default. // +optional Enable *bool `json:"enable,omitempty"` // Filter: Specify the desired filtering of logs on this NAT. If // unspecified, logs are exported for all connections handled by this // NAT. This option can take one of the following values: // - ERRORS_ONLY: Export logs only for connection failures. // - TRANSLATIONS_ONLY: Export logs only for successful connections. // - ALL: Export logs for all connections, successful and unsuccessful. // // Possible values: // "ALL" // "ERRORS_ONLY" // "TRANSLATIONS_ONLY" // +optional // +kubebuilder:validation:Enum=ALL;ERRORS_ONLY;TRANSLATIONS_ONLY Filter *string `json:"filter,omitempty"` }
A RouterNatLogConfig represent the Log config Router Nat service.
func (*RouterNatLogConfig) DeepCopy ¶
func (in *RouterNatLogConfig) DeepCopy() *RouterNatLogConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterNatLogConfig.
func (*RouterNatLogConfig) DeepCopyInto ¶
func (in *RouterNatLogConfig) DeepCopyInto(out *RouterNatLogConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterNatSubnetworkToNat ¶
type RouterNatSubnetworkToNat struct { // Name: URL for the subnetwork resource that will use NAT. // +optional Name *string `json:"name,omitempty"` // SecondaryIpRangeNames: A list of the secondary ranges of the // Subnetwork that are allowed to use NAT. This can be populated only if // "LIST_OF_SECONDARY_IP_RANGES" is one of the values in // source_ip_ranges_to_nat. // +optional SecondaryIpRangeNames []string `json:"secondaryIpRangeNames,omitempty"` // nolint // SourceIpRangesToNat: Specify the options for NAT ranges in the // Subnetwork. All options of a single value are valid except // NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple // values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] // Default: [ALL_IP_RANGES] // // Possible values: // "ALL_IP_RANGES" // "LIST_OF_SECONDARY_IP_RANGES" // "PRIMARY_IP_RANGE" // +optional // +kubebuilder:validation:Enum=ALL_IP_RANGES;LIST_OF_SECONDARY_IP_RANGES;PRIMARY_IP_RANGE SourceIpRangesToNat []string `json:"sourceIpRangesToNat,omitempty"` // nolint }
A RouterNatSubnetworkToNat represent the Subnetwork information for Router Nat Service.
func (*RouterNatSubnetworkToNat) DeepCopy ¶
func (in *RouterNatSubnetworkToNat) DeepCopy() *RouterNatSubnetworkToNat
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterNatSubnetworkToNat.
func (*RouterNatSubnetworkToNat) DeepCopyInto ¶
func (in *RouterNatSubnetworkToNat) DeepCopyInto(out *RouterNatSubnetworkToNat)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterObservation ¶
type RouterObservation struct { // CreationTimestamp: Creation timestamp in RFC3339 text // format. CreationTimestamp string `json:"creationTimestamp,omitempty"` // Id: The unique identifier for the resource. This // identifier is defined by the server. ID uint64 `json:"id,omitempty"` // SelfLink: Server-defined URL for the resource. SelfLink string `json:"selfLink,omitempty"` }
A RouterObservation represents the observed state of a Google Compute Engine Router.
func (*RouterObservation) DeepCopy ¶
func (in *RouterObservation) DeepCopy() *RouterObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterObservation.
func (*RouterObservation) DeepCopyInto ¶
func (in *RouterObservation) DeepCopyInto(out *RouterObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterParameters ¶
type RouterParameters struct { // Description: An optional description of this resource. Provide this // field when you create the resource. // +optional // +immutable Description *string `json:"description,omitempty"` // Region: URL of the region where the Subnetwork resides. This field // can be set only at resource creation time. // +immutable Region string `json:"region"` // Network: URI of the network to which this router belongs. // +immutable // +optional Network *string `json:"network,omitempty"` // NetworkRef references a Network and retrieves its URI // +optional // +immutable NetworkRef *xpv1.Reference `json:"networkRef,omitempty"` // NetworkSelector selects a reference to a Network // +optional // +immutable NetworkSelector *xpv1.Selector `json:"networkSelector,omitempty"` // Bgp: BGP information specific to this router. // +optional Bgp *RouterBgp `json:"bgp,omitempty"` // BgpPeers: BGP information that must be configured into the routing // stack to establish BGP peering. This information must specify the // peer ASN and either the interface name, IP address, or peer IP // address. Please refer to RFC4273. // +optional BgpPeers []*RouterBgpPeer `json:"bgpPeers,omitempty"` // EncryptedInterconnectRouter: Field to indicate if a router is // dedicated to use with encrypted Interconnect Attachment // (IPsec-encrypted Cloud Interconnect feature). // Not currently available in all Interconnect locations. // +optional EncryptedInterconnectRouter *bool `json:"encryptedInterconnectRouter,omitempty"` // Interfaces: Router interfaces. Each interface requires either one // linked resource, (for example, linkedVpnTunnel), or IP address and IP // address range (for example, ipRange), or both. // +optional Interfaces []*RouterInterface `json:"interfaces,omitempty"` // Nats: A list of NAT services created in this router. // +optional Nats []*RouterNat `json:"nats,omitempty"` }
RouterParameters define the desired state of a Google Compute Engine Router. Most fields map directly to a Router: https://cloud.google.com/compute/docs/reference/rest/v1/routers/
func (*RouterParameters) DeepCopy ¶
func (in *RouterParameters) DeepCopy() *RouterParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterParameters.
func (*RouterParameters) DeepCopyInto ¶
func (in *RouterParameters) DeepCopyInto(out *RouterParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterSpec ¶
type RouterSpec struct { xpv1.ResourceSpec `json:",inline"` ForProvider RouterParameters `json:"forProvider"` }
A RouterSpec defines the desired state of a Router.
func (*RouterSpec) DeepCopy ¶
func (in *RouterSpec) DeepCopy() *RouterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterSpec.
func (*RouterSpec) DeepCopyInto ¶
func (in *RouterSpec) DeepCopyInto(out *RouterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterStatus ¶
type RouterStatus struct { xpv1.ResourceStatus `json:",inline"` AtProvider RouterObservation `json:"atProvider,omitempty"` }
A RouterStatus represents the observed state of a Router.
func (*RouterStatus) DeepCopy ¶
func (in *RouterStatus) DeepCopy() *RouterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterStatus.
func (*RouterStatus) DeepCopyInto ¶
func (in *RouterStatus) DeepCopyInto(out *RouterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.