v1beta2

package
v1.3.0-rc.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=compute.gcp.upbound.io +versionName=v1beta2

Index

Constants

View Source
const (
	CRDGroup   = "compute.gcp.upbound.io"
	CRDVersion = "v1beta2"
)

Package type metadata.

Variables

View Source
var (
	Autoscaler_Kind             = "Autoscaler"
	Autoscaler_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Autoscaler_Kind}.String()
	Autoscaler_KindAPIVersion   = Autoscaler_Kind + "." + CRDGroupVersion.String()
	Autoscaler_GroupVersionKind = CRDGroupVersion.WithKind(Autoscaler_Kind)
)

Repository type metadata.

View Source
var (
	BackendBucket_Kind             = "BackendBucket"
	BackendBucket_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: BackendBucket_Kind}.String()
	BackendBucket_KindAPIVersion   = BackendBucket_Kind + "." + CRDGroupVersion.String()
	BackendBucket_GroupVersionKind = CRDGroupVersion.WithKind(BackendBucket_Kind)
)

Repository type metadata.

View Source
var (
	BackendService_Kind             = "BackendService"
	BackendService_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: BackendService_Kind}.String()
	BackendService_KindAPIVersion   = BackendService_Kind + "." + CRDGroupVersion.String()
	BackendService_GroupVersionKind = CRDGroupVersion.WithKind(BackendService_Kind)
)

Repository type metadata.

View Source
var (
	Disk_Kind             = "Disk"
	Disk_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Disk_Kind}.String()
	Disk_KindAPIVersion   = Disk_Kind + "." + CRDGroupVersion.String()
	Disk_GroupVersionKind = CRDGroupVersion.WithKind(Disk_Kind)
)

Repository type metadata.

View Source
var (
	DiskIAMMember_Kind             = "DiskIAMMember"
	DiskIAMMember_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: DiskIAMMember_Kind}.String()
	DiskIAMMember_KindAPIVersion   = DiskIAMMember_Kind + "." + CRDGroupVersion.String()
	DiskIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(DiskIAMMember_Kind)
)

Repository type metadata.

View Source
var (
	Firewall_Kind             = "Firewall"
	Firewall_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Firewall_Kind}.String()
	Firewall_KindAPIVersion   = Firewall_Kind + "." + CRDGroupVersion.String()
	Firewall_GroupVersionKind = CRDGroupVersion.WithKind(Firewall_Kind)
)

Repository type metadata.

View Source
var (
	FirewallPolicyRule_Kind             = "FirewallPolicyRule"
	FirewallPolicyRule_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: FirewallPolicyRule_Kind}.String()
	FirewallPolicyRule_KindAPIVersion   = FirewallPolicyRule_Kind + "." + CRDGroupVersion.String()
	FirewallPolicyRule_GroupVersionKind = CRDGroupVersion.WithKind(FirewallPolicyRule_Kind)
)

Repository type metadata.

View Source
var (
	ForwardingRule_Kind             = "ForwardingRule"
	ForwardingRule_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ForwardingRule_Kind}.String()
	ForwardingRule_KindAPIVersion   = ForwardingRule_Kind + "." + CRDGroupVersion.String()
	ForwardingRule_GroupVersionKind = CRDGroupVersion.WithKind(ForwardingRule_Kind)
)

Repository type metadata.

View Source
var (
	GlobalForwardingRule_Kind             = "GlobalForwardingRule"
	GlobalForwardingRule_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: GlobalForwardingRule_Kind}.String()
	GlobalForwardingRule_KindAPIVersion   = GlobalForwardingRule_Kind + "." + CRDGroupVersion.String()
	GlobalForwardingRule_GroupVersionKind = CRDGroupVersion.WithKind(GlobalForwardingRule_Kind)
)

Repository type metadata.

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	HealthCheck_Kind             = "HealthCheck"
	HealthCheck_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: HealthCheck_Kind}.String()
	HealthCheck_KindAPIVersion   = HealthCheck_Kind + "." + CRDGroupVersion.String()
	HealthCheck_GroupVersionKind = CRDGroupVersion.WithKind(HealthCheck_Kind)
)

Repository type metadata.

View Source
var (
	Image_Kind             = "Image"
	Image_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Image_Kind}.String()
	Image_KindAPIVersion   = Image_Kind + "." + CRDGroupVersion.String()
	Image_GroupVersionKind = CRDGroupVersion.WithKind(Image_Kind)
)

Repository type metadata.

View Source
var (
	ImageIAMMember_Kind             = "ImageIAMMember"
	ImageIAMMember_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ImageIAMMember_Kind}.String()
	ImageIAMMember_KindAPIVersion   = ImageIAMMember_Kind + "." + CRDGroupVersion.String()
	ImageIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(ImageIAMMember_Kind)
)

Repository type metadata.

View Source
var (
	Instance_Kind             = "Instance"
	Instance_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Instance_Kind}.String()
	Instance_KindAPIVersion   = Instance_Kind + "." + CRDGroupVersion.String()
	Instance_GroupVersionKind = CRDGroupVersion.WithKind(Instance_Kind)
)

Repository type metadata.

View Source
var (
	InstanceFromTemplate_Kind             = "InstanceFromTemplate"
	InstanceFromTemplate_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: InstanceFromTemplate_Kind}.String()
	InstanceFromTemplate_KindAPIVersion   = InstanceFromTemplate_Kind + "." + CRDGroupVersion.String()
	InstanceFromTemplate_GroupVersionKind = CRDGroupVersion.WithKind(InstanceFromTemplate_Kind)
)

Repository type metadata.

View Source
var (
	InstanceGroupManager_Kind             = "InstanceGroupManager"
	InstanceGroupManager_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: InstanceGroupManager_Kind}.String()
	InstanceGroupManager_KindAPIVersion   = InstanceGroupManager_Kind + "." + CRDGroupVersion.String()
	InstanceGroupManager_GroupVersionKind = CRDGroupVersion.WithKind(InstanceGroupManager_Kind)
)

Repository type metadata.

View Source
var (
	InstanceIAMMember_Kind             = "InstanceIAMMember"
	InstanceIAMMember_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: InstanceIAMMember_Kind}.String()
	InstanceIAMMember_KindAPIVersion   = InstanceIAMMember_Kind + "." + CRDGroupVersion.String()
	InstanceIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(InstanceIAMMember_Kind)
)

Repository type metadata.

View Source
var (
	InstanceTemplate_Kind             = "InstanceTemplate"
	InstanceTemplate_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: InstanceTemplate_Kind}.String()
	InstanceTemplate_KindAPIVersion   = InstanceTemplate_Kind + "." + CRDGroupVersion.String()
	InstanceTemplate_GroupVersionKind = CRDGroupVersion.WithKind(InstanceTemplate_Kind)
)

Repository type metadata.

View Source
var (
	ManagedSSLCertificate_Kind             = "ManagedSSLCertificate"
	ManagedSSLCertificate_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ManagedSSLCertificate_Kind}.String()
	ManagedSSLCertificate_KindAPIVersion   = ManagedSSLCertificate_Kind + "." + CRDGroupVersion.String()
	ManagedSSLCertificate_GroupVersionKind = CRDGroupVersion.WithKind(ManagedSSLCertificate_Kind)
)

Repository type metadata.

View Source
var (
	NodeGroup_Kind             = "NodeGroup"
	NodeGroup_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: NodeGroup_Kind}.String()
	NodeGroup_KindAPIVersion   = NodeGroup_Kind + "." + CRDGroupVersion.String()
	NodeGroup_GroupVersionKind = CRDGroupVersion.WithKind(NodeGroup_Kind)
)

Repository type metadata.

View Source
var (
	NodeTemplate_Kind             = "NodeTemplate"
	NodeTemplate_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: NodeTemplate_Kind}.String()
	NodeTemplate_KindAPIVersion   = NodeTemplate_Kind + "." + CRDGroupVersion.String()
	NodeTemplate_GroupVersionKind = CRDGroupVersion.WithKind(NodeTemplate_Kind)
)

Repository type metadata.

View Source
var (
	PacketMirroring_Kind             = "PacketMirroring"
	PacketMirroring_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: PacketMirroring_Kind}.String()
	PacketMirroring_KindAPIVersion   = PacketMirroring_Kind + "." + CRDGroupVersion.String()
	PacketMirroring_GroupVersionKind = CRDGroupVersion.WithKind(PacketMirroring_Kind)
)

Repository type metadata.

View Source
var (
	PerInstanceConfig_Kind             = "PerInstanceConfig"
	PerInstanceConfig_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: PerInstanceConfig_Kind}.String()
	PerInstanceConfig_KindAPIVersion   = PerInstanceConfig_Kind + "." + CRDGroupVersion.String()
	PerInstanceConfig_GroupVersionKind = CRDGroupVersion.WithKind(PerInstanceConfig_Kind)
)

Repository type metadata.

View Source
var (
	RegionAutoscaler_Kind             = "RegionAutoscaler"
	RegionAutoscaler_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: RegionAutoscaler_Kind}.String()
	RegionAutoscaler_KindAPIVersion   = RegionAutoscaler_Kind + "." + CRDGroupVersion.String()
	RegionAutoscaler_GroupVersionKind = CRDGroupVersion.WithKind(RegionAutoscaler_Kind)
)

Repository type metadata.

View Source
var (
	RegionBackendService_Kind             = "RegionBackendService"
	RegionBackendService_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: RegionBackendService_Kind}.String()
	RegionBackendService_KindAPIVersion   = RegionBackendService_Kind + "." + CRDGroupVersion.String()
	RegionBackendService_GroupVersionKind = CRDGroupVersion.WithKind(RegionBackendService_Kind)
)

Repository type metadata.

View Source
var (
	RegionDisk_Kind             = "RegionDisk"
	RegionDisk_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: RegionDisk_Kind}.String()
	RegionDisk_KindAPIVersion   = RegionDisk_Kind + "." + CRDGroupVersion.String()
	RegionDisk_GroupVersionKind = CRDGroupVersion.WithKind(RegionDisk_Kind)
)

Repository type metadata.

View Source
var (
	RegionDiskIAMMember_Kind             = "RegionDiskIAMMember"
	RegionDiskIAMMember_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: RegionDiskIAMMember_Kind}.String()
	RegionDiskIAMMember_KindAPIVersion   = RegionDiskIAMMember_Kind + "." + CRDGroupVersion.String()
	RegionDiskIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(RegionDiskIAMMember_Kind)
)

Repository type metadata.

View Source
var (
	RegionHealthCheck_Kind             = "RegionHealthCheck"
	RegionHealthCheck_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: RegionHealthCheck_Kind}.String()
	RegionHealthCheck_KindAPIVersion   = RegionHealthCheck_Kind + "." + CRDGroupVersion.String()
	RegionHealthCheck_GroupVersionKind = CRDGroupVersion.WithKind(RegionHealthCheck_Kind)
)

Repository type metadata.

View Source
var (
	RegionInstanceGroupManager_Kind             = "RegionInstanceGroupManager"
	RegionInstanceGroupManager_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: RegionInstanceGroupManager_Kind}.String()
	RegionInstanceGroupManager_KindAPIVersion   = RegionInstanceGroupManager_Kind + "." + CRDGroupVersion.String()
	RegionInstanceGroupManager_GroupVersionKind = CRDGroupVersion.WithKind(RegionInstanceGroupManager_Kind)
)

Repository type metadata.

View Source
var (
	RegionNetworkEndpointGroup_Kind             = "RegionNetworkEndpointGroup"
	RegionNetworkEndpointGroup_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: RegionNetworkEndpointGroup_Kind}.String()
	RegionNetworkEndpointGroup_KindAPIVersion   = RegionNetworkEndpointGroup_Kind + "." + CRDGroupVersion.String()
	RegionNetworkEndpointGroup_GroupVersionKind = CRDGroupVersion.WithKind(RegionNetworkEndpointGroup_Kind)
)

Repository type metadata.

View Source
var (
	RegionPerInstanceConfig_Kind             = "RegionPerInstanceConfig"
	RegionPerInstanceConfig_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: RegionPerInstanceConfig_Kind}.String()
	RegionPerInstanceConfig_KindAPIVersion   = RegionPerInstanceConfig_Kind + "." + CRDGroupVersion.String()
	RegionPerInstanceConfig_GroupVersionKind = CRDGroupVersion.WithKind(RegionPerInstanceConfig_Kind)
)

Repository type metadata.

View Source
var (
	RegionURLMap_Kind             = "RegionURLMap"
	RegionURLMap_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: RegionURLMap_Kind}.String()
	RegionURLMap_KindAPIVersion   = RegionURLMap_Kind + "." + CRDGroupVersion.String()
	RegionURLMap_GroupVersionKind = CRDGroupVersion.WithKind(RegionURLMap_Kind)
)

Repository type metadata.

View Source
var (
	Reservation_Kind             = "Reservation"
	Reservation_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Reservation_Kind}.String()
	Reservation_KindAPIVersion   = Reservation_Kind + "." + CRDGroupVersion.String()
	Reservation_GroupVersionKind = CRDGroupVersion.WithKind(Reservation_Kind)
)

Repository type metadata.

View Source
var (
	ResourcePolicy_Kind             = "ResourcePolicy"
	ResourcePolicy_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ResourcePolicy_Kind}.String()
	ResourcePolicy_KindAPIVersion   = ResourcePolicy_Kind + "." + CRDGroupVersion.String()
	ResourcePolicy_GroupVersionKind = CRDGroupVersion.WithKind(ResourcePolicy_Kind)
)

Repository type metadata.

View Source
var (
	Router_Kind             = "Router"
	Router_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Router_Kind}.String()
	Router_KindAPIVersion   = Router_Kind + "." + CRDGroupVersion.String()
	Router_GroupVersionKind = CRDGroupVersion.WithKind(Router_Kind)
)

Repository type metadata.

View Source
var (
	RouterNAT_Kind             = "RouterNAT"
	RouterNAT_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: RouterNAT_Kind}.String()
	RouterNAT_KindAPIVersion   = RouterNAT_Kind + "." + CRDGroupVersion.String()
	RouterNAT_GroupVersionKind = CRDGroupVersion.WithKind(RouterNAT_Kind)
)

Repository type metadata.

View Source
var (
	RouterPeer_Kind             = "RouterPeer"
	RouterPeer_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: RouterPeer_Kind}.String()
	RouterPeer_KindAPIVersion   = RouterPeer_Kind + "." + CRDGroupVersion.String()
	RouterPeer_GroupVersionKind = CRDGroupVersion.WithKind(RouterPeer_Kind)
)

Repository type metadata.

View Source
var (
	SecurityPolicy_Kind             = "SecurityPolicy"
	SecurityPolicy_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: SecurityPolicy_Kind}.String()
	SecurityPolicy_KindAPIVersion   = SecurityPolicy_Kind + "." + CRDGroupVersion.String()
	SecurityPolicy_GroupVersionKind = CRDGroupVersion.WithKind(SecurityPolicy_Kind)
)

Repository type metadata.

View Source
var (
	Snapshot_Kind             = "Snapshot"
	Snapshot_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Snapshot_Kind}.String()
	Snapshot_KindAPIVersion   = Snapshot_Kind + "." + CRDGroupVersion.String()
	Snapshot_GroupVersionKind = CRDGroupVersion.WithKind(Snapshot_Kind)
)

Repository type metadata.

View Source
var (
	SnapshotIAMMember_Kind             = "SnapshotIAMMember"
	SnapshotIAMMember_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: SnapshotIAMMember_Kind}.String()
	SnapshotIAMMember_KindAPIVersion   = SnapshotIAMMember_Kind + "." + CRDGroupVersion.String()
	SnapshotIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(SnapshotIAMMember_Kind)
)

Repository type metadata.

View Source
var (
	Subnetwork_Kind             = "Subnetwork"
	Subnetwork_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Subnetwork_Kind}.String()
	Subnetwork_KindAPIVersion   = Subnetwork_Kind + "." + CRDGroupVersion.String()
	Subnetwork_GroupVersionKind = CRDGroupVersion.WithKind(Subnetwork_Kind)
)

Repository type metadata.

View Source
var (
	SubnetworkIAMMember_Kind             = "SubnetworkIAMMember"
	SubnetworkIAMMember_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: SubnetworkIAMMember_Kind}.String()
	SubnetworkIAMMember_KindAPIVersion   = SubnetworkIAMMember_Kind + "." + CRDGroupVersion.String()
	SubnetworkIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(SubnetworkIAMMember_Kind)
)

Repository type metadata.

View Source
var (
	URLMap_Kind             = "URLMap"
	URLMap_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: URLMap_Kind}.String()
	URLMap_KindAPIVersion   = URLMap_Kind + "." + CRDGroupVersion.String()
	URLMap_GroupVersionKind = CRDGroupVersion.WithKind(URLMap_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type AbortInitParameters

type AbortInitParameters struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*AbortInitParameters) DeepCopy

func (in *AbortInitParameters) DeepCopy() *AbortInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AbortInitParameters.

func (*AbortInitParameters) DeepCopyInto

func (in *AbortInitParameters) DeepCopyInto(out *AbortInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AbortObservation

type AbortObservation struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*AbortObservation) DeepCopy

func (in *AbortObservation) DeepCopy() *AbortObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AbortObservation.

func (*AbortObservation) DeepCopyInto

func (in *AbortObservation) DeepCopyInto(out *AbortObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AbortParameters

type AbortParameters struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	// +kubebuilder:validation:Optional
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	// +kubebuilder:validation:Optional
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*AbortParameters) DeepCopy

func (in *AbortParameters) DeepCopy() *AbortParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AbortParameters.

func (*AbortParameters) DeepCopyInto

func (in *AbortParameters) DeepCopyInto(out *AbortParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AccessConfigInitParameters

type AccessConfigInitParameters struct {

	// If the instance has an access config, either the given external ip (in the nat_ip field) or the ephemeral (generated) ip (if you didn't provide one).
	NATIP *string `json:"natIp,omitempty" tf:"nat_ip,omitempty"`

	// The service-level to be provided for IPv6 traffic when the
	// subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`

	// The domain name to be used when creating DNSv6
	// records for the external IPv6 ranges..
	PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"`
}

func (*AccessConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessConfigInitParameters.

func (*AccessConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AccessConfigObservation

type AccessConfigObservation struct {

	// If the instance has an access config, either the given external ip (in the nat_ip field) or the ephemeral (generated) ip (if you didn't provide one).
	NATIP *string `json:"natIp,omitempty" tf:"nat_ip,omitempty"`

	// The service-level to be provided for IPv6 traffic when the
	// subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`

	// The domain name to be used when creating DNSv6
	// records for the external IPv6 ranges..
	PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"`
}

func (*AccessConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessConfigObservation.

func (*AccessConfigObservation) DeepCopyInto

func (in *AccessConfigObservation) DeepCopyInto(out *AccessConfigObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AccessConfigParameters

type AccessConfigParameters struct {

	// If the instance has an access config, either the given external ip (in the nat_ip field) or the ephemeral (generated) ip (if you didn't provide one).
	// +kubebuilder:validation:Optional
	NATIP *string `json:"natIp,omitempty" tf:"nat_ip,omitempty"`

	// The service-level to be provided for IPv6 traffic when the
	// subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
	// +kubebuilder:validation:Optional
	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`

	// The domain name to be used when creating DNSv6
	// records for the external IPv6 ranges..
	// +kubebuilder:validation:Optional
	PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"`
}

func (*AccessConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessConfigParameters.

func (*AccessConfigParameters) DeepCopyInto

func (in *AccessConfigParameters) DeepCopyInto(out *AccessConfigParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ActionInitParameters

type ActionInitParameters struct {

	// A list of URLs of the IP resources used for this NAT rule.
	// These IP addresses must be valid static external IP addresses assigned to the project.
	// This field is used for public NAT.
	// +listType=set
	SourceNATActiveIps []*string `json:"sourceNatActiveIps,omitempty" tf:"source_nat_active_ips,omitempty"`

	// 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 rule only.
	// This field is used for public NAT.
	// +listType=set
	SourceNATDrainIps []*string `json:"sourceNatDrainIps,omitempty" tf:"source_nat_drain_ips,omitempty"`
}

func (*ActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActionInitParameters.

func (*ActionInitParameters) DeepCopyInto

func (in *ActionInitParameters) DeepCopyInto(out *ActionInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ActionObservation

type ActionObservation struct {

	// A list of URLs of the IP resources used for this NAT rule.
	// These IP addresses must be valid static external IP addresses assigned to the project.
	// This field is used for public NAT.
	// +listType=set
	SourceNATActiveIps []*string `json:"sourceNatActiveIps,omitempty" tf:"source_nat_active_ips,omitempty"`

	// 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 rule only.
	// This field is used for public NAT.
	// +listType=set
	SourceNATDrainIps []*string `json:"sourceNatDrainIps,omitempty" tf:"source_nat_drain_ips,omitempty"`
}

func (*ActionObservation) DeepCopy

func (in *ActionObservation) DeepCopy() *ActionObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActionObservation.

func (*ActionObservation) DeepCopyInto

func (in *ActionObservation) DeepCopyInto(out *ActionObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ActionParameters

type ActionParameters struct {

	// A list of URLs of the IP resources used for this NAT rule.
	// These IP addresses must be valid static external IP addresses assigned to the project.
	// This field is used for public NAT.
	// +kubebuilder:validation:Optional
	// +listType=set
	SourceNATActiveIps []*string `json:"sourceNatActiveIps,omitempty" tf:"source_nat_active_ips,omitempty"`

	// 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 rule only.
	// This field is used for public NAT.
	// +kubebuilder:validation:Optional
	// +listType=set
	SourceNATDrainIps []*string `json:"sourceNatDrainIps,omitempty" tf:"source_nat_drain_ips,omitempty"`
}

func (*ActionParameters) DeepCopy

func (in *ActionParameters) DeepCopy() *ActionParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActionParameters.

func (*ActionParameters) DeepCopyInto

func (in *ActionParameters) DeepCopyInto(out *ActionParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdaptiveProtectionConfigInitParameters

type AdaptiveProtectionConfigInitParameters struct {

	// Configuration for Google Cloud Armor Adaptive Protection Layer 7 DDoS Defense. Structure is documented below.
	Layer7DdosDefenseConfig *Layer7DdosDefenseConfigInitParameters `json:"layer7DdosDefenseConfig,omitempty" tf:"layer_7_ddos_defense_config,omitempty"`
}

func (*AdaptiveProtectionConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdaptiveProtectionConfigInitParameters.

func (*AdaptiveProtectionConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdaptiveProtectionConfigObservation

type AdaptiveProtectionConfigObservation struct {

	// Configuration for Google Cloud Armor Adaptive Protection Layer 7 DDoS Defense. Structure is documented below.
	Layer7DdosDefenseConfig *Layer7DdosDefenseConfigObservation `json:"layer7DdosDefenseConfig,omitempty" tf:"layer_7_ddos_defense_config,omitempty"`
}

func (*AdaptiveProtectionConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdaptiveProtectionConfigObservation.

func (*AdaptiveProtectionConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdaptiveProtectionConfigParameters

type AdaptiveProtectionConfigParameters struct {

	// Configuration for Google Cloud Armor Adaptive Protection Layer 7 DDoS Defense. Structure is documented below.
	// +kubebuilder:validation:Optional
	Layer7DdosDefenseConfig *Layer7DdosDefenseConfigParameters `json:"layer7DdosDefenseConfig,omitempty" tf:"layer_7_ddos_defense_config,omitempty"`
}

func (*AdaptiveProtectionConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdaptiveProtectionConfigParameters.

func (*AdaptiveProtectionConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdvancedMachineFeaturesInitParameters

type AdvancedMachineFeaturesInitParameters struct {

	// Defines whether the instance should have nested virtualization  enabled. Defaults to false.
	EnableNestedVirtualization *bool `json:"enableNestedVirtualization,omitempty" tf:"enable_nested_virtualization,omitempty"`

	// he number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`

	// The number of physical cores to expose to an instance. visible cores info (VC).
	VisibleCoreCount *float64 `json:"visibleCoreCount,omitempty" tf:"visible_core_count,omitempty"`
}

func (*AdvancedMachineFeaturesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedMachineFeaturesInitParameters.

func (*AdvancedMachineFeaturesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdvancedMachineFeaturesObservation

type AdvancedMachineFeaturesObservation struct {

	// Defines whether the instance should have nested virtualization  enabled. Defaults to false.
	EnableNestedVirtualization *bool `json:"enableNestedVirtualization,omitempty" tf:"enable_nested_virtualization,omitempty"`

	// he number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`

	// The number of physical cores to expose to an instance. visible cores info (VC).
	VisibleCoreCount *float64 `json:"visibleCoreCount,omitempty" tf:"visible_core_count,omitempty"`
}

func (*AdvancedMachineFeaturesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedMachineFeaturesObservation.

func (*AdvancedMachineFeaturesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdvancedMachineFeaturesParameters

type AdvancedMachineFeaturesParameters struct {

	// Defines whether the instance should have nested virtualization  enabled. Defaults to false.
	// +kubebuilder:validation:Optional
	EnableNestedVirtualization *bool `json:"enableNestedVirtualization,omitempty" tf:"enable_nested_virtualization,omitempty"`

	// he number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
	// +kubebuilder:validation:Optional
	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`

	// The number of physical cores to expose to an instance. visible cores info (VC).
	// +kubebuilder:validation:Optional
	VisibleCoreCount *float64 `json:"visibleCoreCount,omitempty" tf:"visible_core_count,omitempty"`
}

func (*AdvancedMachineFeaturesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedMachineFeaturesParameters.

func (*AdvancedMachineFeaturesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdvancedOptionsConfigInitParameters

type AdvancedOptionsConfigInitParameters struct {

	// Custom configuration to apply the JSON parsing. Only applicable when
	// json_parsing is set to STANDARD. Structure is documented below.
	JSONCustomConfig *JSONCustomConfigInitParameters `json:"jsonCustomConfig,omitempty" tf:"json_custom_config,omitempty"`

	// Whether or not to JSON parse the payload body. Defaults to DISABLED.
	JSONParsing *string `json:"jsonParsing,omitempty" tf:"json_parsing,omitempty"`

	// Log level to use. Defaults to NORMAL.
	LogLevel *string `json:"logLevel,omitempty" tf:"log_level,omitempty"`

	// An optional list of case-insensitive request header names to use for resolving the callers client IP address.
	// +listType=set
	UserIPRequestHeaders []*string `json:"userIpRequestHeaders,omitempty" tf:"user_ip_request_headers,omitempty"`
}

func (*AdvancedOptionsConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedOptionsConfigInitParameters.

func (*AdvancedOptionsConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdvancedOptionsConfigObservation

type AdvancedOptionsConfigObservation struct {

	// Custom configuration to apply the JSON parsing. Only applicable when
	// json_parsing is set to STANDARD. Structure is documented below.
	JSONCustomConfig *JSONCustomConfigObservation `json:"jsonCustomConfig,omitempty" tf:"json_custom_config,omitempty"`

	// Whether or not to JSON parse the payload body. Defaults to DISABLED.
	JSONParsing *string `json:"jsonParsing,omitempty" tf:"json_parsing,omitempty"`

	// Log level to use. Defaults to NORMAL.
	LogLevel *string `json:"logLevel,omitempty" tf:"log_level,omitempty"`

	// An optional list of case-insensitive request header names to use for resolving the callers client IP address.
	// +listType=set
	UserIPRequestHeaders []*string `json:"userIpRequestHeaders,omitempty" tf:"user_ip_request_headers,omitempty"`
}

func (*AdvancedOptionsConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedOptionsConfigObservation.

func (*AdvancedOptionsConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdvancedOptionsConfigParameters

type AdvancedOptionsConfigParameters struct {

	// Custom configuration to apply the JSON parsing. Only applicable when
	// json_parsing is set to STANDARD. Structure is documented below.
	// +kubebuilder:validation:Optional
	JSONCustomConfig *JSONCustomConfigParameters `json:"jsonCustomConfig,omitempty" tf:"json_custom_config,omitempty"`

	// Whether or not to JSON parse the payload body. Defaults to DISABLED.
	// +kubebuilder:validation:Optional
	JSONParsing *string `json:"jsonParsing,omitempty" tf:"json_parsing,omitempty"`

	// Log level to use. Defaults to NORMAL.
	// +kubebuilder:validation:Optional
	LogLevel *string `json:"logLevel,omitempty" tf:"log_level,omitempty"`

	// An optional list of case-insensitive request header names to use for resolving the callers client IP address.
	// +kubebuilder:validation:Optional
	// +listType=set
	UserIPRequestHeaders []*string `json:"userIpRequestHeaders,omitempty" tf:"user_ip_request_headers,omitempty"`
}

func (*AdvancedOptionsConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedOptionsConfigParameters.

func (*AdvancedOptionsConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdvertisedIPRangesInitParameters

type AdvertisedIPRangesInitParameters struct {

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The IP range to advertise. The value must be a
	// CIDR-formatted string.
	Range *string `json:"range,omitempty" tf:"range,omitempty"`
}

func (*AdvertisedIPRangesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvertisedIPRangesInitParameters.

func (*AdvertisedIPRangesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdvertisedIPRangesObservation

type AdvertisedIPRangesObservation struct {

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The IP range to advertise. The value must be a
	// CIDR-formatted string.
	Range *string `json:"range,omitempty" tf:"range,omitempty"`
}

func (*AdvertisedIPRangesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvertisedIPRangesObservation.

func (*AdvertisedIPRangesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdvertisedIPRangesParameters

type AdvertisedIPRangesParameters struct {

	// An optional description of this resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The IP range to advertise. The value must be a
	// CIDR-formatted string.
	// +kubebuilder:validation:Optional
	Range *string `json:"range" tf:"range,omitempty"`
}

func (*AdvertisedIPRangesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvertisedIPRangesParameters.

func (*AdvertisedIPRangesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AliasIPRangeInitParameters

type AliasIPRangeInitParameters struct {

	// The IP CIDR range represented by this alias IP range. This IP CIDR range
	// must belong to the specified subnetwork and cannot contain IP addresses reserved by
	// system or used by other network interfaces. This range may be a single IP address
	// (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
	IPCidrRange *string `json:"ipCidrRange,omitempty" tf:"ip_cidr_range,omitempty"`

	// The subnetwork secondary range name specifying
	// the secondary range from which to allocate the IP CIDR range for this alias IP
	// range. If left unspecified, the primary range of the subnetwork will be used.
	SubnetworkRangeName *string `json:"subnetworkRangeName,omitempty" tf:"subnetwork_range_name,omitempty"`
}

func (*AliasIPRangeInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AliasIPRangeInitParameters.

func (*AliasIPRangeInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AliasIPRangeObservation

type AliasIPRangeObservation struct {

	// The IP CIDR range represented by this alias IP range. This IP CIDR range
	// must belong to the specified subnetwork and cannot contain IP addresses reserved by
	// system or used by other network interfaces. This range may be a single IP address
	// (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
	IPCidrRange *string `json:"ipCidrRange,omitempty" tf:"ip_cidr_range,omitempty"`

	// The subnetwork secondary range name specifying
	// the secondary range from which to allocate the IP CIDR range for this alias IP
	// range. If left unspecified, the primary range of the subnetwork will be used.
	SubnetworkRangeName *string `json:"subnetworkRangeName,omitempty" tf:"subnetwork_range_name,omitempty"`
}

func (*AliasIPRangeObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AliasIPRangeObservation.

func (*AliasIPRangeObservation) DeepCopyInto

func (in *AliasIPRangeObservation) DeepCopyInto(out *AliasIPRangeObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AliasIPRangeParameters

type AliasIPRangeParameters struct {

	// The IP CIDR range represented by this alias IP range. This IP CIDR range
	// must belong to the specified subnetwork and cannot contain IP addresses reserved by
	// system or used by other network interfaces. This range may be a single IP address
	// (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
	// +kubebuilder:validation:Optional
	IPCidrRange *string `json:"ipCidrRange" tf:"ip_cidr_range,omitempty"`

	// The subnetwork secondary range name specifying
	// the secondary range from which to allocate the IP CIDR range for this alias IP
	// range. If left unspecified, the primary range of the subnetwork will be used.
	// +kubebuilder:validation:Optional
	SubnetworkRangeName *string `json:"subnetworkRangeName,omitempty" tf:"subnetwork_range_name,omitempty"`
}

func (*AliasIPRangeParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AliasIPRangeParameters.

func (*AliasIPRangeParameters) DeepCopyInto

func (in *AliasIPRangeParameters) DeepCopyInto(out *AliasIPRangeParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AllInstancesConfigInitParameters

type AllInstancesConfigInitParameters struct {

	// , The label key-value pairs that you want to patch onto the instance.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// , The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
	// +mapType=granular
	Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"`
}

func (*AllInstancesConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllInstancesConfigInitParameters.

func (*AllInstancesConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AllInstancesConfigObservation

type AllInstancesConfigObservation struct {

	// , The label key-value pairs that you want to patch onto the instance.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// , The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
	// +mapType=granular
	Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"`
}

func (*AllInstancesConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllInstancesConfigObservation.

func (*AllInstancesConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AllInstancesConfigParameters

type AllInstancesConfigParameters struct {

	// , The label key-value pairs that you want to patch onto the instance.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// , The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"`
}

func (*AllInstancesConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllInstancesConfigParameters.

func (*AllInstancesConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AllowInitParameters

type AllowInitParameters struct {

	// An optional list of ports to which this rule applies. This field
	// is only applicable for 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"].
	Ports []*string `json:"ports,omitempty" tf:"ports,omitempty"`

	// 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, sctp, ipip, all), or the IP protocol number.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*AllowInitParameters) DeepCopy

func (in *AllowInitParameters) DeepCopy() *AllowInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowInitParameters.

func (*AllowInitParameters) DeepCopyInto

func (in *AllowInitParameters) DeepCopyInto(out *AllowInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AllowObservation

type AllowObservation struct {

	// An optional list of ports to which this rule applies. This field
	// is only applicable for 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"].
	Ports []*string `json:"ports,omitempty" tf:"ports,omitempty"`

	// 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, sctp, ipip, all), or the IP protocol number.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*AllowObservation) DeepCopy

func (in *AllowObservation) DeepCopy() *AllowObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowObservation.

func (*AllowObservation) DeepCopyInto

func (in *AllowObservation) DeepCopyInto(out *AllowObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AllowParameters

type AllowParameters struct {

	// An optional list of ports to which this rule applies. This field
	// is only applicable for 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"].
	// +kubebuilder:validation:Optional
	Ports []*string `json:"ports,omitempty" tf:"ports,omitempty"`

	// 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, sctp, ipip, all), or the IP protocol number.
	// +kubebuilder:validation:Optional
	Protocol *string `json:"protocol" tf:"protocol,omitempty"`
}

func (*AllowParameters) DeepCopy

func (in *AllowParameters) DeepCopy() *AllowParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowParameters.

func (*AllowParameters) DeepCopyInto

func (in *AllowParameters) DeepCopyInto(out *AllowParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AppEngineInitParameters

type AppEngineInitParameters struct {

	// Optional serving service.
	// The service name must be 1-63 characters long, and comply with RFC1035.
	// Example value: "default", "my-service".
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// A template to parse service and version fields from a request URL.
	// URL mask allows for routing to multiple App Engine services without
	// having to create multiple Network Endpoint Groups and backend services.
	// For example, the request URLs "foo1-dot-appname.appspot.com/v1" and
	// "foo1-dot-appname.appspot.com/v2" can be backed by the same Serverless NEG with
	// URL mask "-dot-appname.appspot.com/". The URL mask will parse
	// them to { service = "foo1", version = "v1" } and { service = "foo1", version = "v2" } respectively.
	URLMask *string `json:"urlMask,omitempty" tf:"url_mask,omitempty"`

	// Optional serving version.
	// The version must be 1-63 characters long, and comply with RFC1035.
	// Example value: "v1", "v2".
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*AppEngineInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineInitParameters.

func (*AppEngineInitParameters) DeepCopyInto

func (in *AppEngineInitParameters) DeepCopyInto(out *AppEngineInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AppEngineObservation

type AppEngineObservation struct {

	// Optional serving service.
	// The service name must be 1-63 characters long, and comply with RFC1035.
	// Example value: "default", "my-service".
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// A template to parse service and version fields from a request URL.
	// URL mask allows for routing to multiple App Engine services without
	// having to create multiple Network Endpoint Groups and backend services.
	// For example, the request URLs "foo1-dot-appname.appspot.com/v1" and
	// "foo1-dot-appname.appspot.com/v2" can be backed by the same Serverless NEG with
	// URL mask "-dot-appname.appspot.com/". The URL mask will parse
	// them to { service = "foo1", version = "v1" } and { service = "foo1", version = "v2" } respectively.
	URLMask *string `json:"urlMask,omitempty" tf:"url_mask,omitempty"`

	// Optional serving version.
	// The version must be 1-63 characters long, and comply with RFC1035.
	// Example value: "v1", "v2".
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*AppEngineObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineObservation.

func (*AppEngineObservation) DeepCopyInto

func (in *AppEngineObservation) DeepCopyInto(out *AppEngineObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AppEngineParameters

type AppEngineParameters struct {

	// Optional serving service.
	// The service name must be 1-63 characters long, and comply with RFC1035.
	// Example value: "default", "my-service".
	// +kubebuilder:validation:Optional
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// A template to parse service and version fields from a request URL.
	// URL mask allows for routing to multiple App Engine services without
	// having to create multiple Network Endpoint Groups and backend services.
	// For example, the request URLs "foo1-dot-appname.appspot.com/v1" and
	// "foo1-dot-appname.appspot.com/v2" can be backed by the same Serverless NEG with
	// URL mask "-dot-appname.appspot.com/". The URL mask will parse
	// them to { service = "foo1", version = "v1" } and { service = "foo1", version = "v2" } respectively.
	// +kubebuilder:validation:Optional
	URLMask *string `json:"urlMask,omitempty" tf:"url_mask,omitempty"`

	// Optional serving version.
	// The version must be 1-63 characters long, and comply with RFC1035.
	// Example value: "v1", "v2".
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*AppEngineParameters) DeepCopy

func (in *AppEngineParameters) DeepCopy() *AppEngineParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineParameters.

func (*AppEngineParameters) DeepCopyInto

func (in *AppEngineParameters) DeepCopyInto(out *AppEngineParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AsyncPrimaryDiskInitParameters

type AsyncPrimaryDiskInitParameters struct {

	// Primary disk for asynchronous disk replication.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Disk
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Disk *string `json:"disk,omitempty" tf:"disk,omitempty"`

	// Reference to a Disk in compute to populate disk.
	// +kubebuilder:validation:Optional
	DiskRef *v1.Reference `json:"diskRef,omitempty" tf:"-"`

	// Selector for a Disk in compute to populate disk.
	// +kubebuilder:validation:Optional
	DiskSelector *v1.Selector `json:"diskSelector,omitempty" tf:"-"`
}

func (*AsyncPrimaryDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AsyncPrimaryDiskInitParameters.

func (*AsyncPrimaryDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AsyncPrimaryDiskObservation

type AsyncPrimaryDiskObservation struct {

	// Primary disk for asynchronous disk replication.
	Disk *string `json:"disk,omitempty" tf:"disk,omitempty"`
}

func (*AsyncPrimaryDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AsyncPrimaryDiskObservation.

func (*AsyncPrimaryDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AsyncPrimaryDiskParameters

type AsyncPrimaryDiskParameters struct {

	// Primary disk for asynchronous disk replication.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Disk
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Disk *string `json:"disk,omitempty" tf:"disk,omitempty"`

	// Reference to a Disk in compute to populate disk.
	// +kubebuilder:validation:Optional
	DiskRef *v1.Reference `json:"diskRef,omitempty" tf:"-"`

	// Selector for a Disk in compute to populate disk.
	// +kubebuilder:validation:Optional
	DiskSelector *v1.Selector `json:"diskSelector,omitempty" tf:"-"`
}

func (*AsyncPrimaryDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AsyncPrimaryDiskParameters.

func (*AsyncPrimaryDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AttachedDiskInitParameters

type AttachedDiskInitParameters struct {

	// Name with which the attached disk will be accessible
	// under /dev/disk/by-id/google-*
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// The self_link of the encryption key that is
	// stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link
	// and disk_encryption_key_raw may be set.
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE"
	// If you have a persistent disk with data that you want to share
	// between multiple instances, detach it from any read-write instances and
	// attach it to one or more instances in read-only mode.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The name or self_link of the disk to attach to this instance.
	Source *string `json:"source,omitempty" tf:"source,omitempty"`
}

func (*AttachedDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachedDiskInitParameters.

func (*AttachedDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AttachedDiskObservation

type AttachedDiskObservation struct {

	// Name with which the attached disk will be accessible
	// under /dev/disk/by-id/google-*
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// The RFC 4648 base64
	// encoded SHA-256 hash of the [customer-supplied encryption key]
	// (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
	DiskEncryptionKeySha256 *string `json:"diskEncryptionKeySha256,omitempty" tf:"disk_encryption_key_sha256,omitempty"`

	// The self_link of the encryption key that is
	// stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link
	// and disk_encryption_key_raw may be set.
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE"
	// If you have a persistent disk with data that you want to share
	// between multiple instances, detach it from any read-write instances and
	// attach it to one or more instances in read-only mode.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The name or self_link of the disk to attach to this instance.
	Source *string `json:"source,omitempty" tf:"source,omitempty"`
}

func (*AttachedDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachedDiskObservation.

func (*AttachedDiskObservation) DeepCopyInto

func (in *AttachedDiskObservation) DeepCopyInto(out *AttachedDiskObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AttachedDiskParameters

type AttachedDiskParameters struct {

	// Name with which the attached disk will be accessible
	// under /dev/disk/by-id/google-*
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// A 256-bit [customer-supplied encryption key]
	// (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
	// encoded in RFC 4648 base64
	// to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
	// +kubebuilder:validation:Optional
	DiskEncryptionKeyRawSecretRef *v1.SecretKeySelector `json:"diskEncryptionKeyRawSecretRef,omitempty" tf:"-"`

	// The self_link of the encryption key that is
	// stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link
	// and disk_encryption_key_raw may be set.
	// +kubebuilder:validation:Optional
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE"
	// If you have a persistent disk with data that you want to share
	// between multiple instances, detach it from any read-write instances and
	// attach it to one or more instances in read-only mode.
	// +kubebuilder:validation:Optional
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The name or self_link of the disk to attach to this instance.
	// +kubebuilder:validation:Optional
	Source *string `json:"source" tf:"source,omitempty"`
}

func (*AttachedDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachedDiskParameters.

func (*AttachedDiskParameters) DeepCopyInto

func (in *AttachedDiskParameters) DeepCopyInto(out *AttachedDiskParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoHealingPoliciesInitParameters

type AutoHealingPoliciesInitParameters struct {

	// The health check resource that signals autohealing.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.HealthCheck
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID()
	HealthCheck *string `json:"healthCheck,omitempty" tf:"health_check,omitempty"`

	// Reference to a HealthCheck in compute to populate healthCheck.
	// +kubebuilder:validation:Optional
	HealthCheckRef *v1.Reference `json:"healthCheckRef,omitempty" tf:"-"`

	// Selector for a HealthCheck in compute to populate healthCheck.
	// +kubebuilder:validation:Optional
	HealthCheckSelector *v1.Selector `json:"healthCheckSelector,omitempty" tf:"-"`

	// The number of seconds that the managed instance group waits before
	// it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
	InitialDelaySec *float64 `json:"initialDelaySec,omitempty" tf:"initial_delay_sec,omitempty"`
}

func (*AutoHealingPoliciesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoHealingPoliciesInitParameters.

func (*AutoHealingPoliciesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoHealingPoliciesObservation

type AutoHealingPoliciesObservation struct {

	// The health check resource that signals autohealing.
	HealthCheck *string `json:"healthCheck,omitempty" tf:"health_check,omitempty"`

	// The number of seconds that the managed instance group waits before
	// it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
	InitialDelaySec *float64 `json:"initialDelaySec,omitempty" tf:"initial_delay_sec,omitempty"`
}

func (*AutoHealingPoliciesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoHealingPoliciesObservation.

func (*AutoHealingPoliciesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoHealingPoliciesParameters

type AutoHealingPoliciesParameters struct {

	// The health check resource that signals autohealing.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.HealthCheck
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID()
	// +kubebuilder:validation:Optional
	HealthCheck *string `json:"healthCheck,omitempty" tf:"health_check,omitempty"`

	// Reference to a HealthCheck in compute to populate healthCheck.
	// +kubebuilder:validation:Optional
	HealthCheckRef *v1.Reference `json:"healthCheckRef,omitempty" tf:"-"`

	// Selector for a HealthCheck in compute to populate healthCheck.
	// +kubebuilder:validation:Optional
	HealthCheckSelector *v1.Selector `json:"healthCheckSelector,omitempty" tf:"-"`

	// The number of seconds that the managed instance group waits before
	// it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
	// +kubebuilder:validation:Optional
	InitialDelaySec *float64 `json:"initialDelaySec" tf:"initial_delay_sec,omitempty"`
}

func (*AutoHealingPoliciesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoHealingPoliciesParameters.

func (*AutoHealingPoliciesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Autoscaler

type Autoscaler struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.autoscalingPolicy) || (has(self.initProvider) && has(self.initProvider.autoscalingPolicy))",message="spec.forProvider.autoscalingPolicy is a required parameter"
	Spec   AutoscalerSpec   `json:"spec"`
	Status AutoscalerStatus `json:"status,omitempty"`
}

Autoscaler is the Schema for the Autoscalers API. Represents an Autoscaler resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*Autoscaler) DeepCopy

func (in *Autoscaler) DeepCopy() *Autoscaler

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Autoscaler.

func (*Autoscaler) DeepCopyInto

func (in *Autoscaler) DeepCopyInto(out *Autoscaler)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Autoscaler) DeepCopyObject

func (in *Autoscaler) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Autoscaler) GetCondition

func (mg *Autoscaler) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Autoscaler.

func (*Autoscaler) GetConnectionDetailsMapping

func (tr *Autoscaler) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Autoscaler

func (*Autoscaler) GetDeletionPolicy

func (mg *Autoscaler) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Autoscaler.

func (*Autoscaler) GetID

func (tr *Autoscaler) GetID() string

GetID returns ID of underlying Terraform resource of this Autoscaler

func (*Autoscaler) GetInitParameters

func (tr *Autoscaler) GetInitParameters() (map[string]any, error)

GetInitParameters of this Autoscaler

func (*Autoscaler) GetManagementPolicies

func (mg *Autoscaler) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Autoscaler.

func (*Autoscaler) GetMergedParameters

func (tr *Autoscaler) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Autoscaler

func (*Autoscaler) GetObservation

func (tr *Autoscaler) GetObservation() (map[string]any, error)

GetObservation of this Autoscaler

func (*Autoscaler) GetParameters

func (tr *Autoscaler) GetParameters() (map[string]any, error)

GetParameters of this Autoscaler

func (*Autoscaler) GetProviderConfigReference

func (mg *Autoscaler) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Autoscaler.

func (*Autoscaler) GetPublishConnectionDetailsTo

func (mg *Autoscaler) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Autoscaler.

func (*Autoscaler) GetTerraformResourceType

func (mg *Autoscaler) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Autoscaler

func (*Autoscaler) GetTerraformSchemaVersion

func (tr *Autoscaler) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Autoscaler) GetWriteConnectionSecretToReference

func (mg *Autoscaler) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Autoscaler.

func (*Autoscaler) Hub

func (tr *Autoscaler) Hub()

Hub marks this type as a conversion hub.

func (*Autoscaler) LateInitialize

func (tr *Autoscaler) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Autoscaler using its observed tfState. returns True if there are any spec changes for the resource.

func (*Autoscaler) ResolveReferences

func (mg *Autoscaler) ResolveReferences(
	ctx context.Context, c client.Reader) error

func (*Autoscaler) SetConditions

func (mg *Autoscaler) SetConditions(c ...xpv1.Condition)

SetConditions of this Autoscaler.

func (*Autoscaler) SetDeletionPolicy

func (mg *Autoscaler) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Autoscaler.

func (*Autoscaler) SetManagementPolicies

func (mg *Autoscaler) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Autoscaler.

func (*Autoscaler) SetObservation

func (tr *Autoscaler) SetObservation(obs map[string]any) error

SetObservation for this Autoscaler

func (*Autoscaler) SetParameters

func (tr *Autoscaler) SetParameters(params map[string]any) error

SetParameters for this Autoscaler

func (*Autoscaler) SetProviderConfigReference

func (mg *Autoscaler) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Autoscaler.

func (*Autoscaler) SetPublishConnectionDetailsTo

func (mg *Autoscaler) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Autoscaler.

func (*Autoscaler) SetWriteConnectionSecretToReference

func (mg *Autoscaler) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Autoscaler.

type AutoscalerInitParameters

type AutoscalerInitParameters struct {

	// The configuration parameters for the autoscaling algorithm. You can
	// define one or more of the policies for an autoscaler: cpuUtilization,
	// customMetricUtilizations, and loadBalancingUtilization.
	// If none of these are specified, the default will be to autoscale based
	// on cpuUtilization to 0.6 or 60%.
	// Structure is documented below.
	AutoscalingPolicy *AutoscalingPolicyInitParameters `json:"autoscalingPolicy,omitempty" tf:"autoscaling_policy,omitempty"`

	// A description of a scaling schedule.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.InstanceGroupManager
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// Reference to a InstanceGroupManager in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetRef *v1.Reference `json:"targetRef,omitempty" tf:"-"`

	// Selector for a InstanceGroupManager in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetSelector *v1.Selector `json:"targetSelector,omitempty" tf:"-"`
}

func (*AutoscalerInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalerInitParameters.

func (*AutoscalerInitParameters) DeepCopyInto

func (in *AutoscalerInitParameters) DeepCopyInto(out *AutoscalerInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalerList

type AutoscalerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Autoscaler `json:"items"`
}

AutoscalerList contains a list of Autoscalers

func (*AutoscalerList) DeepCopy

func (in *AutoscalerList) DeepCopy() *AutoscalerList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalerList.

func (*AutoscalerList) DeepCopyInto

func (in *AutoscalerList) DeepCopyInto(out *AutoscalerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AutoscalerList) DeepCopyObject

func (in *AutoscalerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*AutoscalerList) GetItems

func (l *AutoscalerList) GetItems() []resource.Managed

GetItems of this AutoscalerList.

type AutoscalerObservation

type AutoscalerObservation struct {

	// The configuration parameters for the autoscaling algorithm. You can
	// define one or more of the policies for an autoscaler: cpuUtilization,
	// customMetricUtilizations, and loadBalancingUtilization.
	// If none of these are specified, the default will be to autoscale based
	// on cpuUtilization to 0.6 or 60%.
	// Structure is documented below.
	AutoscalingPolicy *AutoscalingPolicyObservation `json:"autoscalingPolicy,omitempty" tf:"autoscaling_policy,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// A description of a scaling schedule.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// an identifier for the resource with format projects/{{project}}/zones/{{zone}}/autoscalers/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// URL of the zone where the instance group resides.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*AutoscalerObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalerObservation.

func (*AutoscalerObservation) DeepCopyInto

func (in *AutoscalerObservation) DeepCopyInto(out *AutoscalerObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalerParameters

type AutoscalerParameters struct {

	// The configuration parameters for the autoscaling algorithm. You can
	// define one or more of the policies for an autoscaler: cpuUtilization,
	// customMetricUtilizations, and loadBalancingUtilization.
	// If none of these are specified, the default will be to autoscale based
	// on cpuUtilization to 0.6 or 60%.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	AutoscalingPolicy *AutoscalingPolicyParameters `json:"autoscalingPolicy,omitempty" tf:"autoscaling_policy,omitempty"`

	// A description of a scaling schedule.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.InstanceGroupManager
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// Reference to a InstanceGroupManager in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetRef *v1.Reference `json:"targetRef,omitempty" tf:"-"`

	// Selector for a InstanceGroupManager in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetSelector *v1.Selector `json:"targetSelector,omitempty" tf:"-"`

	// URL of the zone where the instance group resides.
	// +kubebuilder:validation:Required
	Zone *string `json:"zone" tf:"zone,omitempty"`
}

func (*AutoscalerParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalerParameters.

func (*AutoscalerParameters) DeepCopyInto

func (in *AutoscalerParameters) DeepCopyInto(out *AutoscalerParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalerSpec

type AutoscalerSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     AutoscalerParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider AutoscalerInitParameters `json:"initProvider,omitempty"`
}

AutoscalerSpec defines the desired state of Autoscaler

func (*AutoscalerSpec) DeepCopy

func (in *AutoscalerSpec) DeepCopy() *AutoscalerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalerSpec.

func (*AutoscalerSpec) DeepCopyInto

func (in *AutoscalerSpec) DeepCopyInto(out *AutoscalerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalerStatus

type AutoscalerStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        AutoscalerObservation `json:"atProvider,omitempty"`
}

AutoscalerStatus defines the observed state of Autoscaler.

func (*AutoscalerStatus) DeepCopy

func (in *AutoscalerStatus) DeepCopy() *AutoscalerStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalerStatus.

func (*AutoscalerStatus) DeepCopyInto

func (in *AutoscalerStatus) DeepCopyInto(out *AutoscalerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyCPUUtilizationInitParameters

type AutoscalingPolicyCPUUtilizationInitParameters struct {

	// Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:
	PredictiveMethod *string `json:"predictiveMethod,omitempty" tf:"predictive_method,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	Target *float64 `json:"target,omitempty" tf:"target,omitempty"`
}

func (*AutoscalingPolicyCPUUtilizationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyCPUUtilizationInitParameters.

func (*AutoscalingPolicyCPUUtilizationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyCPUUtilizationObservation

type AutoscalingPolicyCPUUtilizationObservation struct {

	// Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:
	PredictiveMethod *string `json:"predictiveMethod,omitempty" tf:"predictive_method,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	Target *float64 `json:"target,omitempty" tf:"target,omitempty"`
}

func (*AutoscalingPolicyCPUUtilizationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyCPUUtilizationObservation.

func (*AutoscalingPolicyCPUUtilizationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyCPUUtilizationParameters

type AutoscalingPolicyCPUUtilizationParameters struct {

	// Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:
	// +kubebuilder:validation:Optional
	PredictiveMethod *string `json:"predictiveMethod,omitempty" tf:"predictive_method,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	// +kubebuilder:validation:Optional
	Target *float64 `json:"target" tf:"target,omitempty"`
}

func (*AutoscalingPolicyCPUUtilizationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyCPUUtilizationParameters.

func (*AutoscalingPolicyCPUUtilizationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyInitParameters

type AutoscalingPolicyInitParameters struct {

	// Defines the CPU utilization policy that allows the autoscaler to
	// scale based on the average CPU utilization of a managed instance
	// group.
	// Structure is documented below.
	CPUUtilization *CPUUtilizationInitParameters `json:"cpuUtilization,omitempty" tf:"cpu_utilization,omitempty"`

	// The number of seconds that the autoscaler should wait before it
	// starts collecting information from a new instance. This prevents
	// the autoscaler from collecting information when the instance is
	// initializing, during which the collected usage would not be
	// reliable. The default time autoscaler waits is 60 seconds.
	// Virtual machine initialization times might vary because of
	// numerous factors. We recommend that you test how long an
	// instance may take to initialize. To do this, create an instance
	// and time the startup process.
	CooldownPeriod *float64 `json:"cooldownPeriod,omitempty" tf:"cooldown_period,omitempty"`

	// Configuration parameters of autoscaling based on a load balancer.
	// Structure is documented below.
	LoadBalancingUtilization *LoadBalancingUtilizationInitParameters `json:"loadBalancingUtilization,omitempty" tf:"load_balancing_utilization,omitempty"`

	// The maximum number of instances that the autoscaler can scale up
	// to. This is required when creating or updating an autoscaler. The
	// maximum number of replicas should not be lower than minimal number
	// of replicas.
	MaxReplicas *float64 `json:"maxReplicas,omitempty" tf:"max_replicas,omitempty"`

	// Configuration parameters of autoscaling based on a custom metric.
	// Structure is documented below.
	Metric []MetricInitParameters `json:"metric,omitempty" tf:"metric,omitempty"`

	// The minimum number of replicas that the autoscaler can scale down
	// to. This cannot be less than 0. If not provided, autoscaler will
	// choose a default value depending on maximum number of instances
	// allowed.
	MinReplicas *float64 `json:"minReplicas,omitempty" tf:"min_replicas,omitempty"`

	// Defines operating mode for this policy.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// Defines scale in controls to reduce the risk of response latency
	// and outages due to abrupt scale-in events
	// Structure is documented below.
	ScaleInControl *ScaleInControlInitParameters `json:"scaleInControl,omitempty" tf:"scale_in_control,omitempty"`

	// Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler and they can overlap.
	// Structure is documented below.
	ScalingSchedules []ScalingSchedulesInitParameters `json:"scalingSchedules,omitempty" tf:"scaling_schedules,omitempty"`
}

func (*AutoscalingPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyInitParameters.

func (*AutoscalingPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyLoadBalancingUtilizationInitParameters

type AutoscalingPolicyLoadBalancingUtilizationInitParameters struct {

	// URL of the managed instance group that this autoscaler will scale.
	Target *float64 `json:"target,omitempty" tf:"target,omitempty"`
}

func (*AutoscalingPolicyLoadBalancingUtilizationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyLoadBalancingUtilizationInitParameters.

func (*AutoscalingPolicyLoadBalancingUtilizationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyLoadBalancingUtilizationObservation

type AutoscalingPolicyLoadBalancingUtilizationObservation struct {

	// URL of the managed instance group that this autoscaler will scale.
	Target *float64 `json:"target,omitempty" tf:"target,omitempty"`
}

func (*AutoscalingPolicyLoadBalancingUtilizationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyLoadBalancingUtilizationObservation.

func (*AutoscalingPolicyLoadBalancingUtilizationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyLoadBalancingUtilizationParameters

type AutoscalingPolicyLoadBalancingUtilizationParameters struct {

	// URL of the managed instance group that this autoscaler will scale.
	// +kubebuilder:validation:Optional
	Target *float64 `json:"target" tf:"target,omitempty"`
}

func (*AutoscalingPolicyLoadBalancingUtilizationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyLoadBalancingUtilizationParameters.

func (*AutoscalingPolicyLoadBalancingUtilizationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyMetricInitParameters

type AutoscalingPolicyMetricInitParameters struct {

	// The identifier for this object. Format specified above.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	Target *float64 `json:"target,omitempty" tf:"target,omitempty"`

	// Defines how target utilization value is expressed for a
	// Stackdriver Monitoring metric.
	// Possible values are: GAUGE, DELTA_PER_SECOND, DELTA_PER_MINUTE.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*AutoscalingPolicyMetricInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyMetricInitParameters.

func (*AutoscalingPolicyMetricInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyMetricObservation

type AutoscalingPolicyMetricObservation struct {

	// The identifier for this object. Format specified above.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	Target *float64 `json:"target,omitempty" tf:"target,omitempty"`

	// Defines how target utilization value is expressed for a
	// Stackdriver Monitoring metric.
	// Possible values are: GAUGE, DELTA_PER_SECOND, DELTA_PER_MINUTE.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*AutoscalingPolicyMetricObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyMetricObservation.

func (*AutoscalingPolicyMetricObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyMetricParameters

type AutoscalingPolicyMetricParameters struct {

	// The identifier for this object. Format specified above.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	// +kubebuilder:validation:Optional
	Target *float64 `json:"target,omitempty" tf:"target,omitempty"`

	// Defines how target utilization value is expressed for a
	// Stackdriver Monitoring metric.
	// Possible values are: GAUGE, DELTA_PER_SECOND, DELTA_PER_MINUTE.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*AutoscalingPolicyMetricParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyMetricParameters.

func (*AutoscalingPolicyMetricParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyObservation

type AutoscalingPolicyObservation struct {

	// Defines the CPU utilization policy that allows the autoscaler to
	// scale based on the average CPU utilization of a managed instance
	// group.
	// Structure is documented below.
	CPUUtilization *CPUUtilizationObservation `json:"cpuUtilization,omitempty" tf:"cpu_utilization,omitempty"`

	// The number of seconds that the autoscaler should wait before it
	// starts collecting information from a new instance. This prevents
	// the autoscaler from collecting information when the instance is
	// initializing, during which the collected usage would not be
	// reliable. The default time autoscaler waits is 60 seconds.
	// Virtual machine initialization times might vary because of
	// numerous factors. We recommend that you test how long an
	// instance may take to initialize. To do this, create an instance
	// and time the startup process.
	CooldownPeriod *float64 `json:"cooldownPeriod,omitempty" tf:"cooldown_period,omitempty"`

	// Configuration parameters of autoscaling based on a load balancer.
	// Structure is documented below.
	LoadBalancingUtilization *LoadBalancingUtilizationObservation `json:"loadBalancingUtilization,omitempty" tf:"load_balancing_utilization,omitempty"`

	// The maximum number of instances that the autoscaler can scale up
	// to. This is required when creating or updating an autoscaler. The
	// maximum number of replicas should not be lower than minimal number
	// of replicas.
	MaxReplicas *float64 `json:"maxReplicas,omitempty" tf:"max_replicas,omitempty"`

	// Configuration parameters of autoscaling based on a custom metric.
	// Structure is documented below.
	Metric []MetricObservation `json:"metric,omitempty" tf:"metric,omitempty"`

	// The minimum number of replicas that the autoscaler can scale down
	// to. This cannot be less than 0. If not provided, autoscaler will
	// choose a default value depending on maximum number of instances
	// allowed.
	MinReplicas *float64 `json:"minReplicas,omitempty" tf:"min_replicas,omitempty"`

	// Defines operating mode for this policy.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// Defines scale in controls to reduce the risk of response latency
	// and outages due to abrupt scale-in events
	// Structure is documented below.
	ScaleInControl *ScaleInControlObservation `json:"scaleInControl,omitempty" tf:"scale_in_control,omitempty"`

	// Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler and they can overlap.
	// Structure is documented below.
	ScalingSchedules []ScalingSchedulesObservation `json:"scalingSchedules,omitempty" tf:"scaling_schedules,omitempty"`
}

func (*AutoscalingPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyObservation.

func (*AutoscalingPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyParameters

type AutoscalingPolicyParameters struct {

	// Defines the CPU utilization policy that allows the autoscaler to
	// scale based on the average CPU utilization of a managed instance
	// group.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CPUUtilization *CPUUtilizationParameters `json:"cpuUtilization,omitempty" tf:"cpu_utilization,omitempty"`

	// The number of seconds that the autoscaler should wait before it
	// starts collecting information from a new instance. This prevents
	// the autoscaler from collecting information when the instance is
	// initializing, during which the collected usage would not be
	// reliable. The default time autoscaler waits is 60 seconds.
	// Virtual machine initialization times might vary because of
	// numerous factors. We recommend that you test how long an
	// instance may take to initialize. To do this, create an instance
	// and time the startup process.
	// +kubebuilder:validation:Optional
	CooldownPeriod *float64 `json:"cooldownPeriod,omitempty" tf:"cooldown_period,omitempty"`

	// Configuration parameters of autoscaling based on a load balancer.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	LoadBalancingUtilization *LoadBalancingUtilizationParameters `json:"loadBalancingUtilization,omitempty" tf:"load_balancing_utilization,omitempty"`

	// The maximum number of instances that the autoscaler can scale up
	// to. This is required when creating or updating an autoscaler. The
	// maximum number of replicas should not be lower than minimal number
	// of replicas.
	// +kubebuilder:validation:Optional
	MaxReplicas *float64 `json:"maxReplicas" tf:"max_replicas,omitempty"`

	// Configuration parameters of autoscaling based on a custom metric.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Metric []MetricParameters `json:"metric,omitempty" tf:"metric,omitempty"`

	// The minimum number of replicas that the autoscaler can scale down
	// to. This cannot be less than 0. If not provided, autoscaler will
	// choose a default value depending on maximum number of instances
	// allowed.
	// +kubebuilder:validation:Optional
	MinReplicas *float64 `json:"minReplicas" tf:"min_replicas,omitempty"`

	// Defines operating mode for this policy.
	// +kubebuilder:validation:Optional
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// Defines scale in controls to reduce the risk of response latency
	// and outages due to abrupt scale-in events
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ScaleInControl *ScaleInControlParameters `json:"scaleInControl,omitempty" tf:"scale_in_control,omitempty"`

	// Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler and they can overlap.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ScalingSchedules []ScalingSchedulesParameters `json:"scalingSchedules,omitempty" tf:"scaling_schedules,omitempty"`
}

func (*AutoscalingPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyParameters.

func (*AutoscalingPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyScaleInControlInitParameters

type AutoscalingPolicyScaleInControlInitParameters struct {

	// A nested object resource
	// Structure is documented below.
	MaxScaledInReplicas *ScaleInControlMaxScaledInReplicasInitParameters `json:"maxScaledInReplicas,omitempty" tf:"max_scaled_in_replicas,omitempty"`

	// How long back autoscaling should look when computing recommendations
	// to include directives regarding slower scale down, as described above.
	TimeWindowSec *float64 `json:"timeWindowSec,omitempty" tf:"time_window_sec,omitempty"`
}

func (*AutoscalingPolicyScaleInControlInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyScaleInControlInitParameters.

func (*AutoscalingPolicyScaleInControlInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyScaleInControlObservation

type AutoscalingPolicyScaleInControlObservation struct {

	// A nested object resource
	// Structure is documented below.
	MaxScaledInReplicas *ScaleInControlMaxScaledInReplicasObservation `json:"maxScaledInReplicas,omitempty" tf:"max_scaled_in_replicas,omitempty"`

	// How long back autoscaling should look when computing recommendations
	// to include directives regarding slower scale down, as described above.
	TimeWindowSec *float64 `json:"timeWindowSec,omitempty" tf:"time_window_sec,omitempty"`
}

func (*AutoscalingPolicyScaleInControlObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyScaleInControlObservation.

func (*AutoscalingPolicyScaleInControlObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyScaleInControlParameters

type AutoscalingPolicyScaleInControlParameters struct {

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	MaxScaledInReplicas *ScaleInControlMaxScaledInReplicasParameters `json:"maxScaledInReplicas,omitempty" tf:"max_scaled_in_replicas,omitempty"`

	// How long back autoscaling should look when computing recommendations
	// to include directives regarding slower scale down, as described above.
	// +kubebuilder:validation:Optional
	TimeWindowSec *float64 `json:"timeWindowSec,omitempty" tf:"time_window_sec,omitempty"`
}

func (*AutoscalingPolicyScaleInControlParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyScaleInControlParameters.

func (*AutoscalingPolicyScaleInControlParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyScalingSchedulesInitParameters

type AutoscalingPolicyScalingSchedulesInitParameters struct {

	// A description of a scaling schedule.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A boolean value that specifies if a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// The duration of time intervals (in seconds) for which this scaling schedule will be running. The minimum allowed value is 300.
	DurationSec *float64 `json:"durationSec,omitempty" tf:"duration_sec,omitempty"`

	// Minimum number of VM instances that autoscaler will recommend in time intervals starting according to schedule.
	MinRequiredReplicas *float64 `json:"minRequiredReplicas,omitempty" tf:"min_required_replicas,omitempty"`

	// The identifier for this object. Format specified above.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The start timestamps of time intervals when this scaling schedule should provide a scaling signal. This field uses the extended cron format (with an optional year field).
	Schedule *string `json:"schedule,omitempty" tf:"schedule,omitempty"`

	// The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database.
	TimeZone *string `json:"timeZone,omitempty" tf:"time_zone,omitempty"`
}

func (*AutoscalingPolicyScalingSchedulesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyScalingSchedulesInitParameters.

func (*AutoscalingPolicyScalingSchedulesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyScalingSchedulesObservation

type AutoscalingPolicyScalingSchedulesObservation struct {

	// A description of a scaling schedule.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A boolean value that specifies if a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// The duration of time intervals (in seconds) for which this scaling schedule will be running. The minimum allowed value is 300.
	DurationSec *float64 `json:"durationSec,omitempty" tf:"duration_sec,omitempty"`

	// Minimum number of VM instances that autoscaler will recommend in time intervals starting according to schedule.
	MinRequiredReplicas *float64 `json:"minRequiredReplicas,omitempty" tf:"min_required_replicas,omitempty"`

	// The identifier for this object. Format specified above.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The start timestamps of time intervals when this scaling schedule should provide a scaling signal. This field uses the extended cron format (with an optional year field).
	Schedule *string `json:"schedule,omitempty" tf:"schedule,omitempty"`

	// The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database.
	TimeZone *string `json:"timeZone,omitempty" tf:"time_zone,omitempty"`
}

func (*AutoscalingPolicyScalingSchedulesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyScalingSchedulesObservation.

func (*AutoscalingPolicyScalingSchedulesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoscalingPolicyScalingSchedulesParameters

type AutoscalingPolicyScalingSchedulesParameters struct {

	// A description of a scaling schedule.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A boolean value that specifies if a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect.
	// +kubebuilder:validation:Optional
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// The duration of time intervals (in seconds) for which this scaling schedule will be running. The minimum allowed value is 300.
	// +kubebuilder:validation:Optional
	DurationSec *float64 `json:"durationSec" tf:"duration_sec,omitempty"`

	// Minimum number of VM instances that autoscaler will recommend in time intervals starting according to schedule.
	// +kubebuilder:validation:Optional
	MinRequiredReplicas *float64 `json:"minRequiredReplicas" tf:"min_required_replicas,omitempty"`

	// The identifier for this object. Format specified above.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The start timestamps of time intervals when this scaling schedule should provide a scaling signal. This field uses the extended cron format (with an optional year field).
	// +kubebuilder:validation:Optional
	Schedule *string `json:"schedule" tf:"schedule,omitempty"`

	// The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database.
	// +kubebuilder:validation:Optional
	TimeZone *string `json:"timeZone,omitempty" tf:"time_zone,omitempty"`
}

func (*AutoscalingPolicyScalingSchedulesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyScalingSchedulesParameters.

func (*AutoscalingPolicyScalingSchedulesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BGPInitParameters

type BGPInitParameters struct {

	// User-specified flag to indicate which mode to use for advertisement.
	// Default value is DEFAULT.
	// Possible values are: DEFAULT, CUSTOM.
	AdvertiseMode *string `json:"advertiseMode,omitempty" tf:"advertise_mode,omitempty"`

	// User-specified list of prefix groups to advertise in custom mode.
	// This field can only be populated if advertiseMode 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.
	// This enum field has the one valid value: ALL_SUBNETS
	AdvertisedGroups []*string `json:"advertisedGroups,omitempty" tf:"advertised_groups,omitempty"`

	// User-specified list of individual IP ranges to advertise in
	// custom mode. This field can only be populated if advertiseMode
	// 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.
	// Structure is documented below.
	AdvertisedIPRanges []AdvertisedIPRangesInitParameters `json:"advertisedIpRanges,omitempty" tf:"advertised_ip_ranges,omitempty"`

	// 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.
	Asn *float64 `json:"asn,omitempty" tf:"asn,omitempty"`

	// The interval in seconds between BGP keepalive messages that are sent
	// to the peer. Hold time is three times the interval at which keepalive
	// messages are sent, and the hold time is the maximum number of seconds
	// allowed to elapse between successive keepalive messages that BGP
	// receives from a peer.
	// BGP will use the smaller of either the local hold time value or the
	// peer's hold time value as the hold time for the BGP connection
	// between the two peers. If set, this value must be between 20 and 60.
	// The default is 20.
	KeepaliveInterval *float64 `json:"keepaliveInterval,omitempty" tf:"keepalive_interval,omitempty"`
}

func (*BGPInitParameters) DeepCopy

func (in *BGPInitParameters) DeepCopy() *BGPInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPInitParameters.

func (*BGPInitParameters) DeepCopyInto

func (in *BGPInitParameters) DeepCopyInto(out *BGPInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BGPObservation

type BGPObservation struct {

	// User-specified flag to indicate which mode to use for advertisement.
	// Default value is DEFAULT.
	// Possible values are: DEFAULT, CUSTOM.
	AdvertiseMode *string `json:"advertiseMode,omitempty" tf:"advertise_mode,omitempty"`

	// User-specified list of prefix groups to advertise in custom mode.
	// This field can only be populated if advertiseMode 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.
	// This enum field has the one valid value: ALL_SUBNETS
	AdvertisedGroups []*string `json:"advertisedGroups,omitempty" tf:"advertised_groups,omitempty"`

	// User-specified list of individual IP ranges to advertise in
	// custom mode. This field can only be populated if advertiseMode
	// 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.
	// Structure is documented below.
	AdvertisedIPRanges []AdvertisedIPRangesObservation `json:"advertisedIpRanges,omitempty" tf:"advertised_ip_ranges,omitempty"`

	// 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.
	Asn *float64 `json:"asn,omitempty" tf:"asn,omitempty"`

	// The interval in seconds between BGP keepalive messages that are sent
	// to the peer. Hold time is three times the interval at which keepalive
	// messages are sent, and the hold time is the maximum number of seconds
	// allowed to elapse between successive keepalive messages that BGP
	// receives from a peer.
	// BGP will use the smaller of either the local hold time value or the
	// peer's hold time value as the hold time for the BGP connection
	// between the two peers. If set, this value must be between 20 and 60.
	// The default is 20.
	KeepaliveInterval *float64 `json:"keepaliveInterval,omitempty" tf:"keepalive_interval,omitempty"`
}

func (*BGPObservation) DeepCopy

func (in *BGPObservation) DeepCopy() *BGPObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPObservation.

func (*BGPObservation) DeepCopyInto

func (in *BGPObservation) DeepCopyInto(out *BGPObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BGPParameters

type BGPParameters struct {

	// User-specified flag to indicate which mode to use for advertisement.
	// Default value is DEFAULT.
	// Possible values are: DEFAULT, CUSTOM.
	// +kubebuilder:validation:Optional
	AdvertiseMode *string `json:"advertiseMode,omitempty" tf:"advertise_mode,omitempty"`

	// User-specified list of prefix groups to advertise in custom mode.
	// This field can only be populated if advertiseMode 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.
	// This enum field has the one valid value: ALL_SUBNETS
	// +kubebuilder:validation:Optional
	AdvertisedGroups []*string `json:"advertisedGroups,omitempty" tf:"advertised_groups,omitempty"`

	// User-specified list of individual IP ranges to advertise in
	// custom mode. This field can only be populated if advertiseMode
	// 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.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	AdvertisedIPRanges []AdvertisedIPRangesParameters `json:"advertisedIpRanges,omitempty" tf:"advertised_ip_ranges,omitempty"`

	// 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.
	// +kubebuilder:validation:Optional
	Asn *float64 `json:"asn" tf:"asn,omitempty"`

	// The interval in seconds between BGP keepalive messages that are sent
	// to the peer. Hold time is three times the interval at which keepalive
	// messages are sent, and the hold time is the maximum number of seconds
	// allowed to elapse between successive keepalive messages that BGP
	// receives from a peer.
	// BGP will use the smaller of either the local hold time value or the
	// peer's hold time value as the hold time for the BGP connection
	// between the two peers. If set, this value must be between 20 and 60.
	// The default is 20.
	// +kubebuilder:validation:Optional
	KeepaliveInterval *float64 `json:"keepaliveInterval,omitempty" tf:"keepalive_interval,omitempty"`
}

func (*BGPParameters) DeepCopy

func (in *BGPParameters) DeepCopy() *BGPParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPParameters.

func (*BGPParameters) DeepCopyInto

func (in *BGPParameters) DeepCopyInto(out *BGPParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendBucket

type BackendBucket struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              BackendBucketSpec   `json:"spec"`
	Status            BackendBucketStatus `json:"status,omitempty"`
}

BackendBucket is the Schema for the BackendBuckets API. Backend buckets allow you to use Google Cloud Storage buckets with HTTP(S) load balancing. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*BackendBucket) DeepCopy

func (in *BackendBucket) DeepCopy() *BackendBucket

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucket.

func (*BackendBucket) DeepCopyInto

func (in *BackendBucket) DeepCopyInto(out *BackendBucket)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BackendBucket) DeepCopyObject

func (in *BackendBucket) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*BackendBucket) GetCondition

func (mg *BackendBucket) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this BackendBucket.

func (*BackendBucket) GetConnectionDetailsMapping

func (tr *BackendBucket) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this BackendBucket

func (*BackendBucket) GetDeletionPolicy

func (mg *BackendBucket) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this BackendBucket.

func (*BackendBucket) GetID

func (tr *BackendBucket) GetID() string

GetID returns ID of underlying Terraform resource of this BackendBucket

func (*BackendBucket) GetInitParameters

func (tr *BackendBucket) GetInitParameters() (map[string]any, error)

GetInitParameters of this BackendBucket

func (*BackendBucket) GetManagementPolicies

func (mg *BackendBucket) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this BackendBucket.

func (*BackendBucket) GetMergedParameters

func (tr *BackendBucket) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this BackendBucket

func (*BackendBucket) GetObservation

func (tr *BackendBucket) GetObservation() (map[string]any, error)

GetObservation of this BackendBucket

func (*BackendBucket) GetParameters

func (tr *BackendBucket) GetParameters() (map[string]any, error)

GetParameters of this BackendBucket

func (*BackendBucket) GetProviderConfigReference

func (mg *BackendBucket) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this BackendBucket.

func (*BackendBucket) GetPublishConnectionDetailsTo

func (mg *BackendBucket) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this BackendBucket.

func (*BackendBucket) GetTerraformResourceType

func (mg *BackendBucket) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this BackendBucket

func (*BackendBucket) GetTerraformSchemaVersion

func (tr *BackendBucket) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*BackendBucket) GetWriteConnectionSecretToReference

func (mg *BackendBucket) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this BackendBucket.

func (*BackendBucket) Hub

func (tr *BackendBucket) Hub()

Hub marks this type as a conversion hub.

func (*BackendBucket) LateInitialize

func (tr *BackendBucket) LateInitialize(attrs []byte) (bool, error)

LateInitialize this BackendBucket using its observed tfState. returns True if there are any spec changes for the resource.

func (*BackendBucket) ResolveReferences

func (mg *BackendBucket) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this BackendBucket.

func (*BackendBucket) SetConditions

func (mg *BackendBucket) SetConditions(c ...xpv1.Condition)

SetConditions of this BackendBucket.

func (*BackendBucket) SetDeletionPolicy

func (mg *BackendBucket) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this BackendBucket.

func (*BackendBucket) SetManagementPolicies

func (mg *BackendBucket) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this BackendBucket.

func (*BackendBucket) SetObservation

func (tr *BackendBucket) SetObservation(obs map[string]any) error

SetObservation for this BackendBucket

func (*BackendBucket) SetParameters

func (tr *BackendBucket) SetParameters(params map[string]any) error

SetParameters for this BackendBucket

func (*BackendBucket) SetProviderConfigReference

func (mg *BackendBucket) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this BackendBucket.

func (*BackendBucket) SetPublishConnectionDetailsTo

func (mg *BackendBucket) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this BackendBucket.

func (*BackendBucket) SetWriteConnectionSecretToReference

func (mg *BackendBucket) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this BackendBucket.

type BackendBucketInitParameters

type BackendBucketInitParameters struct {

	// Cloud Storage bucket name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta2.Bucket
	BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"`

	// Reference to a Bucket in storage to populate bucketName.
	// +kubebuilder:validation:Optional
	BucketNameRef *v1.Reference `json:"bucketNameRef,omitempty" tf:"-"`

	// Selector for a Bucket in storage to populate bucketName.
	// +kubebuilder:validation:Optional
	BucketNameSelector *v1.Selector `json:"bucketNameSelector,omitempty" tf:"-"`

	// Cloud CDN configuration for this Backend Bucket.
	// Structure is documented below.
	CdnPolicy *CdnPolicyInitParameters `json:"cdnPolicy,omitempty" tf:"cdn_policy,omitempty"`

	// Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.
	// Possible values are: AUTOMATIC, DISABLED.
	CompressionMode *string `json:"compressionMode,omitempty" tf:"compression_mode,omitempty"`

	// Headers that the HTTP/S load balancer should add to proxied responses.
	CustomResponseHeaders []*string `json:"customResponseHeaders,omitempty" tf:"custom_response_headers,omitempty"`

	// An optional textual description of the resource; provided by the
	// client when the resource is created.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The security policy associated with this backend bucket.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.SecurityPolicy
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	EdgeSecurityPolicy *string `json:"edgeSecurityPolicy,omitempty" tf:"edge_security_policy,omitempty"`

	// Reference to a SecurityPolicy in compute to populate edgeSecurityPolicy.
	// +kubebuilder:validation:Optional
	EdgeSecurityPolicyRef *v1.Reference `json:"edgeSecurityPolicyRef,omitempty" tf:"-"`

	// Selector for a SecurityPolicy in compute to populate edgeSecurityPolicy.
	// +kubebuilder:validation:Optional
	EdgeSecurityPolicySelector *v1.Selector `json:"edgeSecurityPolicySelector,omitempty" tf:"-"`

	// If true, enable Cloud CDN for this BackendBucket.
	EnableCdn *bool `json:"enableCdn,omitempty" tf:"enable_cdn,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`
}

func (*BackendBucketInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketInitParameters.

func (*BackendBucketInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendBucketList

type BackendBucketList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []BackendBucket `json:"items"`
}

BackendBucketList contains a list of BackendBuckets

func (*BackendBucketList) DeepCopy

func (in *BackendBucketList) DeepCopy() *BackendBucketList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketList.

func (*BackendBucketList) DeepCopyInto

func (in *BackendBucketList) DeepCopyInto(out *BackendBucketList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BackendBucketList) DeepCopyObject

func (in *BackendBucketList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*BackendBucketList) GetItems

func (l *BackendBucketList) GetItems() []resource.Managed

GetItems of this BackendBucketList.

type BackendBucketObservation

type BackendBucketObservation struct {

	// Cloud Storage bucket name.
	BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"`

	// Cloud CDN configuration for this Backend Bucket.
	// Structure is documented below.
	CdnPolicy *CdnPolicyObservation `json:"cdnPolicy,omitempty" tf:"cdn_policy,omitempty"`

	// Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.
	// Possible values are: AUTOMATIC, DISABLED.
	CompressionMode *string `json:"compressionMode,omitempty" tf:"compression_mode,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// Headers that the HTTP/S load balancer should add to proxied responses.
	CustomResponseHeaders []*string `json:"customResponseHeaders,omitempty" tf:"custom_response_headers,omitempty"`

	// An optional textual description of the resource; provided by the
	// client when the resource is created.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The security policy associated with this backend bucket.
	EdgeSecurityPolicy *string `json:"edgeSecurityPolicy,omitempty" tf:"edge_security_policy,omitempty"`

	// If true, enable Cloud CDN for this BackendBucket.
	EnableCdn *bool `json:"enableCdn,omitempty" tf:"enable_cdn,omitempty"`

	// an identifier for the resource with format projects/{{project}}/global/backendBuckets/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`
}

func (*BackendBucketObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketObservation.

func (*BackendBucketObservation) DeepCopyInto

func (in *BackendBucketObservation) DeepCopyInto(out *BackendBucketObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendBucketParameters

type BackendBucketParameters struct {

	// Cloud Storage bucket name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/storage/v1beta2.Bucket
	// +kubebuilder:validation:Optional
	BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"`

	// Reference to a Bucket in storage to populate bucketName.
	// +kubebuilder:validation:Optional
	BucketNameRef *v1.Reference `json:"bucketNameRef,omitempty" tf:"-"`

	// Selector for a Bucket in storage to populate bucketName.
	// +kubebuilder:validation:Optional
	BucketNameSelector *v1.Selector `json:"bucketNameSelector,omitempty" tf:"-"`

	// Cloud CDN configuration for this Backend Bucket.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CdnPolicy *CdnPolicyParameters `json:"cdnPolicy,omitempty" tf:"cdn_policy,omitempty"`

	// Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.
	// Possible values are: AUTOMATIC, DISABLED.
	// +kubebuilder:validation:Optional
	CompressionMode *string `json:"compressionMode,omitempty" tf:"compression_mode,omitempty"`

	// Headers that the HTTP/S load balancer should add to proxied responses.
	// +kubebuilder:validation:Optional
	CustomResponseHeaders []*string `json:"customResponseHeaders,omitempty" tf:"custom_response_headers,omitempty"`

	// An optional textual description of the resource; provided by the
	// client when the resource is created.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The security policy associated with this backend bucket.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.SecurityPolicy
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	EdgeSecurityPolicy *string `json:"edgeSecurityPolicy,omitempty" tf:"edge_security_policy,omitempty"`

	// Reference to a SecurityPolicy in compute to populate edgeSecurityPolicy.
	// +kubebuilder:validation:Optional
	EdgeSecurityPolicyRef *v1.Reference `json:"edgeSecurityPolicyRef,omitempty" tf:"-"`

	// Selector for a SecurityPolicy in compute to populate edgeSecurityPolicy.
	// +kubebuilder:validation:Optional
	EdgeSecurityPolicySelector *v1.Selector `json:"edgeSecurityPolicySelector,omitempty" tf:"-"`

	// If true, enable Cloud CDN for this BackendBucket.
	// +kubebuilder:validation:Optional
	EnableCdn *bool `json:"enableCdn,omitempty" tf:"enable_cdn,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`
}

func (*BackendBucketParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketParameters.

func (*BackendBucketParameters) DeepCopyInto

func (in *BackendBucketParameters) DeepCopyInto(out *BackendBucketParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendBucketSpec

type BackendBucketSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     BackendBucketParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider BackendBucketInitParameters `json:"initProvider,omitempty"`
}

BackendBucketSpec defines the desired state of BackendBucket

func (*BackendBucketSpec) DeepCopy

func (in *BackendBucketSpec) DeepCopy() *BackendBucketSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketSpec.

func (*BackendBucketSpec) DeepCopyInto

func (in *BackendBucketSpec) DeepCopyInto(out *BackendBucketSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendBucketStatus

type BackendBucketStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        BackendBucketObservation `json:"atProvider,omitempty"`
}

BackendBucketStatus defines the observed state of BackendBucket.

func (*BackendBucketStatus) DeepCopy

func (in *BackendBucketStatus) DeepCopy() *BackendBucketStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketStatus.

func (*BackendBucketStatus) DeepCopyInto

func (in *BackendBucketStatus) DeepCopyInto(out *BackendBucketStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendInitParameters

type BackendInitParameters struct {

	// Specifies the balancing mode for this backend.
	// For global HTTP(S) or TCP/SSL load balancing, the default is
	// UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S))
	// and CONNECTION (for TCP/SSL).
	// See the Backend Services Overview
	// for an explanation of load balancing modes.
	// Default value is UTILIZATION.
	// Possible values are: UTILIZATION, RATE, CONNECTION.
	BalancingMode *string `json:"balancingMode,omitempty" tf:"balancing_mode,omitempty"`

	// A multiplier applied to the group's maximum servicing capacity
	// (based on UTILIZATION, RATE or CONNECTION).
	// Default value is 1, which means the group will serve up to 100%
	// of its configured capacity (depending on balancingMode). A
	// setting of 0 means the group is completely drained, offering
	// 0% of its available Capacity. Valid range is [0.0,1.0].
	CapacityScaler *float64 `json:"capacityScaler,omitempty" tf:"capacity_scaler,omitempty"`

	// An optional description of this resource.
	// Provide this property when you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The fully-qualified URL of an Instance Group or Network Endpoint
	// Group resource. In case of instance group this defines the list
	// of instances that serve traffic. Member virtual machine
	// instances from each instance group must live in the same zone as
	// the instance group itself. No two backends in a backend service
	// are allowed to use same Instance Group resource.
	// For Network Endpoint Groups this defines list of endpoints. All
	// endpoints of Network Endpoint Group must be hosted on instances
	// located in the same zone as the Network Endpoint Group.
	// Backend services cannot mix Instance Group and
	// Network Endpoint Group backends.
	// Note that you must specify an Instance Group or Network Endpoint
	// Group resource using the fully-qualified URL, rather than a
	// partial URL.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.InstanceGroupManager
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/compute.InstanceGroupExtractor()
	Group *string `json:"group,omitempty" tf:"group,omitempty"`

	// Reference to a InstanceGroupManager in compute to populate group.
	// +kubebuilder:validation:Optional
	GroupRef *v1.Reference `json:"groupRef,omitempty" tf:"-"`

	// Selector for a InstanceGroupManager in compute to populate group.
	// +kubebuilder:validation:Optional
	GroupSelector *v1.Selector `json:"groupSelector,omitempty" tf:"-"`

	// The max number of simultaneous connections for the group. Can
	// be used with either CONNECTION or UTILIZATION balancing modes.
	// For CONNECTION mode, either maxConnections or one
	// of maxConnectionsPerInstance or maxConnectionsPerEndpoint,
	// as appropriate for group type, must be set.
	MaxConnections *float64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"`

	// The max number of simultaneous connections that a single backend
	// network endpoint can handle. This is used to calculate the
	// capacity of the group. Can be used in either CONNECTION or
	// UTILIZATION balancing modes.
	// For CONNECTION mode, either
	// maxConnections or maxConnectionsPerEndpoint must be set.
	MaxConnectionsPerEndpoint *float64 `json:"maxConnectionsPerEndpoint,omitempty" tf:"max_connections_per_endpoint,omitempty"`

	// The max number of simultaneous connections that a single
	// backend instance can handle. This is used to calculate the
	// capacity of the group. Can be used in either CONNECTION or
	// UTILIZATION balancing modes.
	// For CONNECTION mode, either maxConnections or
	// maxConnectionsPerInstance must be set.
	MaxConnectionsPerInstance *float64 `json:"maxConnectionsPerInstance,omitempty" tf:"max_connections_per_instance,omitempty"`

	// The max requests per second (RPS) of the group.
	// Can be used with either RATE or UTILIZATION balancing modes,
	// but required if RATE mode. For RATE mode, either maxRate or one
	// of maxRatePerInstance or maxRatePerEndpoint, as appropriate for
	// group type, must be set.
	MaxRate *float64 `json:"maxRate,omitempty" tf:"max_rate,omitempty"`

	// The max requests per second (RPS) that a single backend network
	// endpoint can handle. This is used to calculate the capacity of
	// the group. Can be used in either balancing mode. For RATE mode,
	// either maxRate or maxRatePerEndpoint must be set.
	MaxRatePerEndpoint *float64 `json:"maxRatePerEndpoint,omitempty" tf:"max_rate_per_endpoint,omitempty"`

	// The max requests per second (RPS) that a single backend
	// instance can handle. This is used to calculate the capacity of
	// the group. Can be used in either balancing mode. For RATE mode,
	// either maxRate or maxRatePerInstance must be set.
	MaxRatePerInstance *float64 `json:"maxRatePerInstance,omitempty" tf:"max_rate_per_instance,omitempty"`

	// Used when balancingMode is UTILIZATION. This ratio defines the
	// CPU utilization target for the group. Valid range is [0.0, 1.0].
	MaxUtilization *float64 `json:"maxUtilization,omitempty" tf:"max_utilization,omitempty"`
}

func (*BackendInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendInitParameters.

func (*BackendInitParameters) DeepCopyInto

func (in *BackendInitParameters) DeepCopyInto(out *BackendInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendObservation

type BackendObservation struct {

	// Specifies the balancing mode for this backend.
	// For global HTTP(S) or TCP/SSL load balancing, the default is
	// UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S))
	// and CONNECTION (for TCP/SSL).
	// See the Backend Services Overview
	// for an explanation of load balancing modes.
	// Default value is UTILIZATION.
	// Possible values are: UTILIZATION, RATE, CONNECTION.
	BalancingMode *string `json:"balancingMode,omitempty" tf:"balancing_mode,omitempty"`

	// A multiplier applied to the group's maximum servicing capacity
	// (based on UTILIZATION, RATE or CONNECTION).
	// Default value is 1, which means the group will serve up to 100%
	// of its configured capacity (depending on balancingMode). A
	// setting of 0 means the group is completely drained, offering
	// 0% of its available Capacity. Valid range is [0.0,1.0].
	CapacityScaler *float64 `json:"capacityScaler,omitempty" tf:"capacity_scaler,omitempty"`

	// An optional description of this resource.
	// Provide this property when you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The fully-qualified URL of an Instance Group or Network Endpoint
	// Group resource. In case of instance group this defines the list
	// of instances that serve traffic. Member virtual machine
	// instances from each instance group must live in the same zone as
	// the instance group itself. No two backends in a backend service
	// are allowed to use same Instance Group resource.
	// For Network Endpoint Groups this defines list of endpoints. All
	// endpoints of Network Endpoint Group must be hosted on instances
	// located in the same zone as the Network Endpoint Group.
	// Backend services cannot mix Instance Group and
	// Network Endpoint Group backends.
	// Note that you must specify an Instance Group or Network Endpoint
	// Group resource using the fully-qualified URL, rather than a
	// partial URL.
	Group *string `json:"group,omitempty" tf:"group,omitempty"`

	// The max number of simultaneous connections for the group. Can
	// be used with either CONNECTION or UTILIZATION balancing modes.
	// For CONNECTION mode, either maxConnections or one
	// of maxConnectionsPerInstance or maxConnectionsPerEndpoint,
	// as appropriate for group type, must be set.
	MaxConnections *float64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"`

	// The max number of simultaneous connections that a single backend
	// network endpoint can handle. This is used to calculate the
	// capacity of the group. Can be used in either CONNECTION or
	// UTILIZATION balancing modes.
	// For CONNECTION mode, either
	// maxConnections or maxConnectionsPerEndpoint must be set.
	MaxConnectionsPerEndpoint *float64 `json:"maxConnectionsPerEndpoint,omitempty" tf:"max_connections_per_endpoint,omitempty"`

	// The max number of simultaneous connections that a single
	// backend instance can handle. This is used to calculate the
	// capacity of the group. Can be used in either CONNECTION or
	// UTILIZATION balancing modes.
	// For CONNECTION mode, either maxConnections or
	// maxConnectionsPerInstance must be set.
	MaxConnectionsPerInstance *float64 `json:"maxConnectionsPerInstance,omitempty" tf:"max_connections_per_instance,omitempty"`

	// The max requests per second (RPS) of the group.
	// Can be used with either RATE or UTILIZATION balancing modes,
	// but required if RATE mode. For RATE mode, either maxRate or one
	// of maxRatePerInstance or maxRatePerEndpoint, as appropriate for
	// group type, must be set.
	MaxRate *float64 `json:"maxRate,omitempty" tf:"max_rate,omitempty"`

	// The max requests per second (RPS) that a single backend network
	// endpoint can handle. This is used to calculate the capacity of
	// the group. Can be used in either balancing mode. For RATE mode,
	// either maxRate or maxRatePerEndpoint must be set.
	MaxRatePerEndpoint *float64 `json:"maxRatePerEndpoint,omitempty" tf:"max_rate_per_endpoint,omitempty"`

	// The max requests per second (RPS) that a single backend
	// instance can handle. This is used to calculate the capacity of
	// the group. Can be used in either balancing mode. For RATE mode,
	// either maxRate or maxRatePerInstance must be set.
	MaxRatePerInstance *float64 `json:"maxRatePerInstance,omitempty" tf:"max_rate_per_instance,omitempty"`

	// Used when balancingMode is UTILIZATION. This ratio defines the
	// CPU utilization target for the group. Valid range is [0.0, 1.0].
	MaxUtilization *float64 `json:"maxUtilization,omitempty" tf:"max_utilization,omitempty"`
}

func (*BackendObservation) DeepCopy

func (in *BackendObservation) DeepCopy() *BackendObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendObservation.

func (*BackendObservation) DeepCopyInto

func (in *BackendObservation) DeepCopyInto(out *BackendObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendParameters

type BackendParameters struct {

	// Specifies the balancing mode for this backend.
	// For global HTTP(S) or TCP/SSL load balancing, the default is
	// UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S))
	// and CONNECTION (for TCP/SSL).
	// See the Backend Services Overview
	// for an explanation of load balancing modes.
	// Default value is UTILIZATION.
	// Possible values are: UTILIZATION, RATE, CONNECTION.
	// +kubebuilder:validation:Optional
	BalancingMode *string `json:"balancingMode,omitempty" tf:"balancing_mode,omitempty"`

	// A multiplier applied to the group's maximum servicing capacity
	// (based on UTILIZATION, RATE or CONNECTION).
	// Default value is 1, which means the group will serve up to 100%
	// of its configured capacity (depending on balancingMode). A
	// setting of 0 means the group is completely drained, offering
	// 0% of its available Capacity. Valid range is [0.0,1.0].
	// +kubebuilder:validation:Optional
	CapacityScaler *float64 `json:"capacityScaler,omitempty" tf:"capacity_scaler,omitempty"`

	// An optional description of this resource.
	// Provide this property when you create the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The fully-qualified URL of an Instance Group or Network Endpoint
	// Group resource. In case of instance group this defines the list
	// of instances that serve traffic. Member virtual machine
	// instances from each instance group must live in the same zone as
	// the instance group itself. No two backends in a backend service
	// are allowed to use same Instance Group resource.
	// For Network Endpoint Groups this defines list of endpoints. All
	// endpoints of Network Endpoint Group must be hosted on instances
	// located in the same zone as the Network Endpoint Group.
	// Backend services cannot mix Instance Group and
	// Network Endpoint Group backends.
	// Note that you must specify an Instance Group or Network Endpoint
	// Group resource using the fully-qualified URL, rather than a
	// partial URL.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.InstanceGroupManager
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/compute.InstanceGroupExtractor()
	// +kubebuilder:validation:Optional
	Group *string `json:"group,omitempty" tf:"group,omitempty"`

	// Reference to a InstanceGroupManager in compute to populate group.
	// +kubebuilder:validation:Optional
	GroupRef *v1.Reference `json:"groupRef,omitempty" tf:"-"`

	// Selector for a InstanceGroupManager in compute to populate group.
	// +kubebuilder:validation:Optional
	GroupSelector *v1.Selector `json:"groupSelector,omitempty" tf:"-"`

	// The max number of simultaneous connections for the group. Can
	// be used with either CONNECTION or UTILIZATION balancing modes.
	// For CONNECTION mode, either maxConnections or one
	// of maxConnectionsPerInstance or maxConnectionsPerEndpoint,
	// as appropriate for group type, must be set.
	// +kubebuilder:validation:Optional
	MaxConnections *float64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"`

	// The max number of simultaneous connections that a single backend
	// network endpoint can handle. This is used to calculate the
	// capacity of the group. Can be used in either CONNECTION or
	// UTILIZATION balancing modes.
	// For CONNECTION mode, either
	// maxConnections or maxConnectionsPerEndpoint must be set.
	// +kubebuilder:validation:Optional
	MaxConnectionsPerEndpoint *float64 `json:"maxConnectionsPerEndpoint,omitempty" tf:"max_connections_per_endpoint,omitempty"`

	// The max number of simultaneous connections that a single
	// backend instance can handle. This is used to calculate the
	// capacity of the group. Can be used in either CONNECTION or
	// UTILIZATION balancing modes.
	// For CONNECTION mode, either maxConnections or
	// maxConnectionsPerInstance must be set.
	// +kubebuilder:validation:Optional
	MaxConnectionsPerInstance *float64 `json:"maxConnectionsPerInstance,omitempty" tf:"max_connections_per_instance,omitempty"`

	// The max requests per second (RPS) of the group.
	// Can be used with either RATE or UTILIZATION balancing modes,
	// but required if RATE mode. For RATE mode, either maxRate or one
	// of maxRatePerInstance or maxRatePerEndpoint, as appropriate for
	// group type, must be set.
	// +kubebuilder:validation:Optional
	MaxRate *float64 `json:"maxRate,omitempty" tf:"max_rate,omitempty"`

	// The max requests per second (RPS) that a single backend network
	// endpoint can handle. This is used to calculate the capacity of
	// the group. Can be used in either balancing mode. For RATE mode,
	// either maxRate or maxRatePerEndpoint must be set.
	// +kubebuilder:validation:Optional
	MaxRatePerEndpoint *float64 `json:"maxRatePerEndpoint,omitempty" tf:"max_rate_per_endpoint,omitempty"`

	// The max requests per second (RPS) that a single backend
	// instance can handle. This is used to calculate the capacity of
	// the group. Can be used in either balancing mode. For RATE mode,
	// either maxRate or maxRatePerInstance must be set.
	// +kubebuilder:validation:Optional
	MaxRatePerInstance *float64 `json:"maxRatePerInstance,omitempty" tf:"max_rate_per_instance,omitempty"`

	// Used when balancingMode is UTILIZATION. This ratio defines the
	// CPU utilization target for the group. Valid range is [0.0, 1.0].
	// +kubebuilder:validation:Optional
	MaxUtilization *float64 `json:"maxUtilization,omitempty" tf:"max_utilization,omitempty"`
}

func (*BackendParameters) DeepCopy

func (in *BackendParameters) DeepCopy() *BackendParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendParameters.

func (*BackendParameters) DeepCopyInto

func (in *BackendParameters) DeepCopyInto(out *BackendParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendService

type BackendService struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              BackendServiceSpec   `json:"spec"`
	Status            BackendServiceStatus `json:"status,omitempty"`
}

BackendService is the Schema for the BackendServices API. A Backend Service defines a group of virtual machines that will serve traffic for load balancing. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*BackendService) DeepCopy

func (in *BackendService) DeepCopy() *BackendService

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendService.

func (*BackendService) DeepCopyInto

func (in *BackendService) DeepCopyInto(out *BackendService)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BackendService) DeepCopyObject

func (in *BackendService) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*BackendService) GetCondition

func (mg *BackendService) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this BackendService.

func (*BackendService) GetConnectionDetailsMapping

func (tr *BackendService) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this BackendService

func (*BackendService) GetDeletionPolicy

func (mg *BackendService) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this BackendService.

func (*BackendService) GetID

func (tr *BackendService) GetID() string

GetID returns ID of underlying Terraform resource of this BackendService

func (*BackendService) GetInitParameters

func (tr *BackendService) GetInitParameters() (map[string]any, error)

GetInitParameters of this BackendService

func (*BackendService) GetManagementPolicies

func (mg *BackendService) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this BackendService.

func (*BackendService) GetMergedParameters

func (tr *BackendService) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this BackendService

func (*BackendService) GetObservation

func (tr *BackendService) GetObservation() (map[string]any, error)

GetObservation of this BackendService

func (*BackendService) GetParameters

func (tr *BackendService) GetParameters() (map[string]any, error)

GetParameters of this BackendService

func (*BackendService) GetProviderConfigReference

func (mg *BackendService) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this BackendService.

func (*BackendService) GetPublishConnectionDetailsTo

func (mg *BackendService) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this BackendService.

func (*BackendService) GetTerraformResourceType

func (mg *BackendService) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this BackendService

func (*BackendService) GetTerraformSchemaVersion

func (tr *BackendService) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*BackendService) GetWriteConnectionSecretToReference

func (mg *BackendService) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this BackendService.

func (*BackendService) Hub

func (tr *BackendService) Hub()

Hub marks this type as a conversion hub.

func (*BackendService) LateInitialize

func (tr *BackendService) LateInitialize(attrs []byte) (bool, error)

LateInitialize this BackendService using its observed tfState. returns True if there are any spec changes for the resource.

func (*BackendService) ResolveReferences

func (mg *BackendService) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this BackendService.

func (*BackendService) SetConditions

func (mg *BackendService) SetConditions(c ...xpv1.Condition)

SetConditions of this BackendService.

func (*BackendService) SetDeletionPolicy

func (mg *BackendService) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this BackendService.

func (*BackendService) SetManagementPolicies

func (mg *BackendService) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this BackendService.

func (*BackendService) SetObservation

func (tr *BackendService) SetObservation(obs map[string]any) error

SetObservation for this BackendService

func (*BackendService) SetParameters

func (tr *BackendService) SetParameters(params map[string]any) error

SetParameters for this BackendService

func (*BackendService) SetProviderConfigReference

func (mg *BackendService) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this BackendService.

func (*BackendService) SetPublishConnectionDetailsTo

func (mg *BackendService) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this BackendService.

func (*BackendService) SetWriteConnectionSecretToReference

func (mg *BackendService) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this BackendService.

type BackendServiceCdnPolicyInitParameters

type BackendServiceCdnPolicyInitParameters struct {

	// Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified.
	// The cache is bypassed for all cdnPolicy.cacheMode settings.
	// Structure is documented below.
	BypassCacheOnRequestHeaders []CdnPolicyBypassCacheOnRequestHeadersInitParameters `json:"bypassCacheOnRequestHeaders,omitempty" tf:"bypass_cache_on_request_headers,omitempty"`

	// The CacheKeyPolicy for this CdnPolicy.
	// Structure is documented below.
	CacheKeyPolicy *CdnPolicyCacheKeyPolicyInitParameters `json:"cacheKeyPolicy,omitempty" tf:"cache_key_policy,omitempty"`

	// Specifies the cache setting for all responses from this backend.
	// The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC
	// Possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL, CACHE_ALL_STATIC.
	CacheMode *string `json:"cacheMode,omitempty" tf:"cache_mode,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	ClientTTL *float64 `json:"clientTtl,omitempty" tf:"client_ttl,omitempty"`

	// Specifies the default TTL for cached content served by this origin for responses
	// that do not have an existing valid TTL (max-age or s-max-age).
	DefaultTTL *float64 `json:"defaultTtl,omitempty" tf:"default_ttl,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	MaxTTL *float64 `json:"maxTtl,omitempty" tf:"max_ttl,omitempty"`

	// Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.
	NegativeCaching *bool `json:"negativeCaching,omitempty" tf:"negative_caching,omitempty"`

	// Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.
	// Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs.
	// Structure is documented below.
	NegativeCachingPolicy []CdnPolicyNegativeCachingPolicyInitParameters `json:"negativeCachingPolicy,omitempty" tf:"negative_caching_policy,omitempty"`

	// Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.
	ServeWhileStale *float64 `json:"serveWhileStale,omitempty" tf:"serve_while_stale,omitempty"`

	// Maximum number of seconds the response to a signed URL request
	// will be considered fresh, defaults to 1hr (3600s). After this
	// time period, the response will be revalidated before
	// being served.
	// When serving responses to signed URL requests, Cloud CDN will
	// internally behave as though all responses from this backend had a
	// "Cache-Control: public, max-age=[TTL]" header, regardless of any
	// existing Cache-Control header. The actual headers served in
	// responses will not be altered.
	SignedURLCacheMaxAgeSec *float64 `json:"signedUrlCacheMaxAgeSec,omitempty" tf:"signed_url_cache_max_age_sec,omitempty"`
}

func (*BackendServiceCdnPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceCdnPolicyInitParameters.

func (*BackendServiceCdnPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendServiceCdnPolicyObservation

type BackendServiceCdnPolicyObservation struct {

	// Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified.
	// The cache is bypassed for all cdnPolicy.cacheMode settings.
	// Structure is documented below.
	BypassCacheOnRequestHeaders []CdnPolicyBypassCacheOnRequestHeadersObservation `json:"bypassCacheOnRequestHeaders,omitempty" tf:"bypass_cache_on_request_headers,omitempty"`

	// The CacheKeyPolicy for this CdnPolicy.
	// Structure is documented below.
	CacheKeyPolicy *CdnPolicyCacheKeyPolicyObservation `json:"cacheKeyPolicy,omitempty" tf:"cache_key_policy,omitempty"`

	// Specifies the cache setting for all responses from this backend.
	// The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC
	// Possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL, CACHE_ALL_STATIC.
	CacheMode *string `json:"cacheMode,omitempty" tf:"cache_mode,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	ClientTTL *float64 `json:"clientTtl,omitempty" tf:"client_ttl,omitempty"`

	// Specifies the default TTL for cached content served by this origin for responses
	// that do not have an existing valid TTL (max-age or s-max-age).
	DefaultTTL *float64 `json:"defaultTtl,omitempty" tf:"default_ttl,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	MaxTTL *float64 `json:"maxTtl,omitempty" tf:"max_ttl,omitempty"`

	// Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.
	NegativeCaching *bool `json:"negativeCaching,omitempty" tf:"negative_caching,omitempty"`

	// Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.
	// Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs.
	// Structure is documented below.
	NegativeCachingPolicy []CdnPolicyNegativeCachingPolicyObservation `json:"negativeCachingPolicy,omitempty" tf:"negative_caching_policy,omitempty"`

	// Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.
	ServeWhileStale *float64 `json:"serveWhileStale,omitempty" tf:"serve_while_stale,omitempty"`

	// Maximum number of seconds the response to a signed URL request
	// will be considered fresh, defaults to 1hr (3600s). After this
	// time period, the response will be revalidated before
	// being served.
	// When serving responses to signed URL requests, Cloud CDN will
	// internally behave as though all responses from this backend had a
	// "Cache-Control: public, max-age=[TTL]" header, regardless of any
	// existing Cache-Control header. The actual headers served in
	// responses will not be altered.
	SignedURLCacheMaxAgeSec *float64 `json:"signedUrlCacheMaxAgeSec,omitempty" tf:"signed_url_cache_max_age_sec,omitempty"`
}

func (*BackendServiceCdnPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceCdnPolicyObservation.

func (*BackendServiceCdnPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendServiceCdnPolicyParameters

type BackendServiceCdnPolicyParameters struct {

	// Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified.
	// The cache is bypassed for all cdnPolicy.cacheMode settings.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	BypassCacheOnRequestHeaders []CdnPolicyBypassCacheOnRequestHeadersParameters `json:"bypassCacheOnRequestHeaders,omitempty" tf:"bypass_cache_on_request_headers,omitempty"`

	// The CacheKeyPolicy for this CdnPolicy.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CacheKeyPolicy *CdnPolicyCacheKeyPolicyParameters `json:"cacheKeyPolicy,omitempty" tf:"cache_key_policy,omitempty"`

	// Specifies the cache setting for all responses from this backend.
	// The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC
	// Possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL, CACHE_ALL_STATIC.
	// +kubebuilder:validation:Optional
	CacheMode *string `json:"cacheMode,omitempty" tf:"cache_mode,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	// +kubebuilder:validation:Optional
	ClientTTL *float64 `json:"clientTtl,omitempty" tf:"client_ttl,omitempty"`

	// Specifies the default TTL for cached content served by this origin for responses
	// that do not have an existing valid TTL (max-age or s-max-age).
	// +kubebuilder:validation:Optional
	DefaultTTL *float64 `json:"defaultTtl,omitempty" tf:"default_ttl,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	// +kubebuilder:validation:Optional
	MaxTTL *float64 `json:"maxTtl,omitempty" tf:"max_ttl,omitempty"`

	// Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.
	// +kubebuilder:validation:Optional
	NegativeCaching *bool `json:"negativeCaching,omitempty" tf:"negative_caching,omitempty"`

	// Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.
	// Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	NegativeCachingPolicy []CdnPolicyNegativeCachingPolicyParameters `json:"negativeCachingPolicy,omitempty" tf:"negative_caching_policy,omitempty"`

	// Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.
	// +kubebuilder:validation:Optional
	ServeWhileStale *float64 `json:"serveWhileStale,omitempty" tf:"serve_while_stale,omitempty"`

	// Maximum number of seconds the response to a signed URL request
	// will be considered fresh, defaults to 1hr (3600s). After this
	// time period, the response will be revalidated before
	// being served.
	// When serving responses to signed URL requests, Cloud CDN will
	// internally behave as though all responses from this backend had a
	// "Cache-Control: public, max-age=[TTL]" header, regardless of any
	// existing Cache-Control header. The actual headers served in
	// responses will not be altered.
	// +kubebuilder:validation:Optional
	SignedURLCacheMaxAgeSec *float64 `json:"signedUrlCacheMaxAgeSec,omitempty" tf:"signed_url_cache_max_age_sec,omitempty"`
}

func (*BackendServiceCdnPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceCdnPolicyParameters.

func (*BackendServiceCdnPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendServiceInitParameters

type BackendServiceInitParameters struct {

	// Lifetime of cookies in seconds if session_affinity is
	// GENERATED_COOKIE. If set to 0, the cookie is non-persistent and lasts
	// only until the end of the browser session (or equivalent). The
	// maximum allowed value for TTL is one day.
	// When the load balancing scheme is INTERNAL, this field is not used.
	AffinityCookieTTLSec *float64 `json:"affinityCookieTtlSec,omitempty" tf:"affinity_cookie_ttl_sec,omitempty"`

	// The set of backends that serve this BackendService.
	// Structure is documented below.
	Backend []BackendInitParameters `json:"backend,omitempty" tf:"backend,omitempty"`

	// Cloud CDN configuration for this BackendService.
	// Structure is documented below.
	CdnPolicy *BackendServiceCdnPolicyInitParameters `json:"cdnPolicy,omitempty" tf:"cdn_policy,omitempty"`

	// Settings controlling the volume of connections to a backend service. This field
	// is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED.
	// Structure is documented below.
	CircuitBreakers *CircuitBreakersInitParameters `json:"circuitBreakers,omitempty" tf:"circuit_breakers,omitempty"`

	// Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.
	// Possible values are: AUTOMATIC, DISABLED.
	CompressionMode *string `json:"compressionMode,omitempty" tf:"compression_mode,omitempty"`

	// Time for which instance will be drained (not accept new
	// connections, but still work to finish started).
	ConnectionDrainingTimeoutSec *float64 `json:"connectionDrainingTimeoutSec,omitempty" tf:"connection_draining_timeout_sec,omitempty"`

	// Consistent Hash-based load balancing can be used to provide soft session
	// affinity based on HTTP headers, cookies or other properties. This load balancing
	// policy is applicable only for HTTP connections. The affinity to a particular
	// destination host will be lost when one or more hosts are added/removed from the
	// destination service. This field specifies parameters that control consistent
	// hashing. This field only applies if the load_balancing_scheme is set to
	// INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is
	// set to MAGLEV or RING_HASH.
	// Structure is documented below.
	ConsistentHash *ConsistentHashInitParameters `json:"consistentHash,omitempty" tf:"consistent_hash,omitempty"`

	// Headers that the HTTP/S load balancer should add to proxied
	// requests.
	// +listType=set
	CustomRequestHeaders []*string `json:"customRequestHeaders,omitempty" tf:"custom_request_headers,omitempty"`

	// Headers that the HTTP/S load balancer should add to proxied
	// responses.
	// +listType=set
	CustomResponseHeaders []*string `json:"customResponseHeaders,omitempty" tf:"custom_response_headers,omitempty"`

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The resource URL for the edge security policy associated with this backend service.
	EdgeSecurityPolicy *string `json:"edgeSecurityPolicy,omitempty" tf:"edge_security_policy,omitempty"`

	// If true, enable Cloud CDN for this BackendService.
	EnableCdn *bool `json:"enableCdn,omitempty" tf:"enable_cdn,omitempty"`

	// The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource
	// for health checking this BackendService. Currently at most one health
	// check can be specified.
	// A health check must be specified unless the backend service uses an internet
	// or serverless NEG as a backend.
	// For internal load balancing, a URL to a HealthCheck resource must be specified instead.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.HealthCheck
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +listType=set
	HealthChecks []*string `json:"healthChecks,omitempty" tf:"health_checks,omitempty"`

	// References to HealthCheck in compute to populate healthChecks.
	// +kubebuilder:validation:Optional
	HealthChecksRefs []v1.Reference `json:"healthChecksRefs,omitempty" tf:"-"`

	// Selector for a list of HealthCheck in compute to populate healthChecks.
	// +kubebuilder:validation:Optional
	HealthChecksSelector *v1.Selector `json:"healthChecksSelector,omitempty" tf:"-"`

	// Settings for enabling Cloud Identity Aware Proxy
	// Structure is documented below.
	Iap *IapInitParameters `json:"iap,omitempty" tf:"iap,omitempty"`

	// Indicates whether the backend service will be used with internal or
	// external load balancing. A backend service created for one type of
	// load balancing cannot be used with the other. For more information, refer to
	// Choosing a load balancer.
	// Default value is EXTERNAL.
	// Possible values are: EXTERNAL, INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, EXTERNAL_MANAGED.
	LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"`

	// A list of locality load balancing policies to be used in order of
	// preference. Either the policy or the customPolicy field should be set.
	// Overrides any value set in the localityLbPolicy field.
	// localityLbPolicies is only supported when the BackendService is referenced
	// by a URL Map that is referenced by a target gRPC proxy that has the
	// validateForProxyless field set to true.
	// Structure is documented below.
	LocalityLBPolicies []LocalityLBPoliciesInitParameters `json:"localityLbPolicies,omitempty" tf:"locality_lb_policies,omitempty"`

	// The load balancing algorithm used within the scope of the locality.
	// The possible values are:
	LocalityLBPolicy *string `json:"localityLbPolicy,omitempty" tf:"locality_lb_policy,omitempty"`

	// This field denotes the logging options for the load balancer traffic served by this backend service.
	// If logging is enabled, logs will be exported to Stackdriver.
	// Structure is documented below.
	LogConfig *LogConfigInitParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// Settings controlling eviction of unhealthy hosts from the load balancing pool.
	// Applicable backend service types can be a global backend service with the
	// loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED.
	// Structure is documented below.
	OutlierDetection *OutlierDetectionInitParameters `json:"outlierDetection,omitempty" tf:"outlier_detection,omitempty"`

	// Name of backend port. The same name should appear in the instance
	// groups referenced by this service. Required when the load balancing
	// scheme is EXTERNAL.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The protocol this BackendService uses to communicate with backends.
	// The default is HTTP. NOTE: HTTP2 is only valid for beta HTTP/2 load balancer
	// types and may result in errors if used with the GA API. NOTE: With protocol “UNSPECIFIED”,
	// the backend service can be used by Layer 4 Internal Load Balancing or Network Load Balancing
	// with TCP/UDP/L3_DEFAULT Forwarding Rule protocol.
	// Possible values are: HTTP, HTTPS, HTTP2, TCP, SSL, GRPC, UNSPECIFIED.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`

	// The security policy associated with this backend service.
	SecurityPolicy *string `json:"securityPolicy,omitempty" tf:"security_policy,omitempty"`

	// The security settings that apply to this backend service. This field is applicable to either
	// a regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and
	// load_balancing_scheme set to INTERNAL_MANAGED; or a global backend service with the
	// load_balancing_scheme set to INTERNAL_SELF_MANAGED.
	// Structure is documented below.
	SecuritySettings *SecuritySettingsInitParameters `json:"securitySettings,omitempty" tf:"security_settings,omitempty"`

	// Type of session affinity to use. The default is NONE. Session affinity is
	// not applicable if the protocol is UDP.
	// Possible values are: NONE, CLIENT_IP, CLIENT_IP_PORT_PROTO, CLIENT_IP_PROTO, GENERATED_COOKIE, HEADER_FIELD, HTTP_COOKIE.
	SessionAffinity *string `json:"sessionAffinity,omitempty" tf:"session_affinity,omitempty"`

	// How many seconds to wait for the backend before considering it a
	// failed request. Default is 30 seconds. Valid range is [1, 86400].
	TimeoutSec *float64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"`
}

func (*BackendServiceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceInitParameters.

func (*BackendServiceInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendServiceList

type BackendServiceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []BackendService `json:"items"`
}

BackendServiceList contains a list of BackendServices

func (*BackendServiceList) DeepCopy

func (in *BackendServiceList) DeepCopy() *BackendServiceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceList.

func (*BackendServiceList) DeepCopyInto

func (in *BackendServiceList) DeepCopyInto(out *BackendServiceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BackendServiceList) DeepCopyObject

func (in *BackendServiceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*BackendServiceList) GetItems

func (l *BackendServiceList) GetItems() []resource.Managed

GetItems of this BackendServiceList.

type BackendServiceObservation

type BackendServiceObservation struct {

	// Lifetime of cookies in seconds if session_affinity is
	// GENERATED_COOKIE. If set to 0, the cookie is non-persistent and lasts
	// only until the end of the browser session (or equivalent). The
	// maximum allowed value for TTL is one day.
	// When the load balancing scheme is INTERNAL, this field is not used.
	AffinityCookieTTLSec *float64 `json:"affinityCookieTtlSec,omitempty" tf:"affinity_cookie_ttl_sec,omitempty"`

	// The set of backends that serve this BackendService.
	// Structure is documented below.
	Backend []BackendObservation `json:"backend,omitempty" tf:"backend,omitempty"`

	// Cloud CDN configuration for this BackendService.
	// Structure is documented below.
	CdnPolicy *BackendServiceCdnPolicyObservation `json:"cdnPolicy,omitempty" tf:"cdn_policy,omitempty"`

	// Settings controlling the volume of connections to a backend service. This field
	// is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED.
	// Structure is documented below.
	CircuitBreakers *CircuitBreakersObservation `json:"circuitBreakers,omitempty" tf:"circuit_breakers,omitempty"`

	// Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.
	// Possible values are: AUTOMATIC, DISABLED.
	CompressionMode *string `json:"compressionMode,omitempty" tf:"compression_mode,omitempty"`

	// Time for which instance will be drained (not accept new
	// connections, but still work to finish started).
	ConnectionDrainingTimeoutSec *float64 `json:"connectionDrainingTimeoutSec,omitempty" tf:"connection_draining_timeout_sec,omitempty"`

	// Consistent Hash-based load balancing can be used to provide soft session
	// affinity based on HTTP headers, cookies or other properties. This load balancing
	// policy is applicable only for HTTP connections. The affinity to a particular
	// destination host will be lost when one or more hosts are added/removed from the
	// destination service. This field specifies parameters that control consistent
	// hashing. This field only applies if the load_balancing_scheme is set to
	// INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is
	// set to MAGLEV or RING_HASH.
	// Structure is documented below.
	ConsistentHash *ConsistentHashObservation `json:"consistentHash,omitempty" tf:"consistent_hash,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// Headers that the HTTP/S load balancer should add to proxied
	// requests.
	// +listType=set
	CustomRequestHeaders []*string `json:"customRequestHeaders,omitempty" tf:"custom_request_headers,omitempty"`

	// Headers that the HTTP/S load balancer should add to proxied
	// responses.
	// +listType=set
	CustomResponseHeaders []*string `json:"customResponseHeaders,omitempty" tf:"custom_response_headers,omitempty"`

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The resource URL for the edge security policy associated with this backend service.
	EdgeSecurityPolicy *string `json:"edgeSecurityPolicy,omitempty" tf:"edge_security_policy,omitempty"`

	// If true, enable Cloud CDN for this BackendService.
	EnableCdn *bool `json:"enableCdn,omitempty" tf:"enable_cdn,omitempty"`

	// Fingerprint of this resource. A hash of the contents stored in this
	// object. This field is used in optimistic locking.
	Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"`

	// The unique identifier for the resource. This identifier is defined by the server.
	GeneratedID *float64 `json:"generatedId,omitempty" tf:"generated_id,omitempty"`

	// The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource
	// for health checking this BackendService. Currently at most one health
	// check can be specified.
	// A health check must be specified unless the backend service uses an internet
	// or serverless NEG as a backend.
	// For internal load balancing, a URL to a HealthCheck resource must be specified instead.
	// +listType=set
	HealthChecks []*string `json:"healthChecks,omitempty" tf:"health_checks,omitempty"`

	// an identifier for the resource with format projects/{{project}}/global/backendServices/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Settings for enabling Cloud Identity Aware Proxy
	// Structure is documented below.
	Iap *IapObservation `json:"iap,omitempty" tf:"iap,omitempty"`

	// Indicates whether the backend service will be used with internal or
	// external load balancing. A backend service created for one type of
	// load balancing cannot be used with the other. For more information, refer to
	// Choosing a load balancer.
	// Default value is EXTERNAL.
	// Possible values are: EXTERNAL, INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, EXTERNAL_MANAGED.
	LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"`

	// A list of locality load balancing policies to be used in order of
	// preference. Either the policy or the customPolicy field should be set.
	// Overrides any value set in the localityLbPolicy field.
	// localityLbPolicies is only supported when the BackendService is referenced
	// by a URL Map that is referenced by a target gRPC proxy that has the
	// validateForProxyless field set to true.
	// Structure is documented below.
	LocalityLBPolicies []LocalityLBPoliciesObservation `json:"localityLbPolicies,omitempty" tf:"locality_lb_policies,omitempty"`

	// The load balancing algorithm used within the scope of the locality.
	// The possible values are:
	LocalityLBPolicy *string `json:"localityLbPolicy,omitempty" tf:"locality_lb_policy,omitempty"`

	// This field denotes the logging options for the load balancer traffic served by this backend service.
	// If logging is enabled, logs will be exported to Stackdriver.
	// Structure is documented below.
	LogConfig *LogConfigObservation `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// Settings controlling eviction of unhealthy hosts from the load balancing pool.
	// Applicable backend service types can be a global backend service with the
	// loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED.
	// Structure is documented below.
	OutlierDetection *OutlierDetectionObservation `json:"outlierDetection,omitempty" tf:"outlier_detection,omitempty"`

	// Name of backend port. The same name should appear in the instance
	// groups referenced by this service. Required when the load balancing
	// scheme is EXTERNAL.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The protocol this BackendService uses to communicate with backends.
	// The default is HTTP. NOTE: HTTP2 is only valid for beta HTTP/2 load balancer
	// types and may result in errors if used with the GA API. NOTE: With protocol “UNSPECIFIED”,
	// the backend service can be used by Layer 4 Internal Load Balancing or Network Load Balancing
	// with TCP/UDP/L3_DEFAULT Forwarding Rule protocol.
	// Possible values are: HTTP, HTTPS, HTTP2, TCP, SSL, GRPC, UNSPECIFIED.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`

	// The security policy associated with this backend service.
	SecurityPolicy *string `json:"securityPolicy,omitempty" tf:"security_policy,omitempty"`

	// The security settings that apply to this backend service. This field is applicable to either
	// a regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and
	// load_balancing_scheme set to INTERNAL_MANAGED; or a global backend service with the
	// load_balancing_scheme set to INTERNAL_SELF_MANAGED.
	// Structure is documented below.
	SecuritySettings *SecuritySettingsObservation `json:"securitySettings,omitempty" tf:"security_settings,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// Type of session affinity to use. The default is NONE. Session affinity is
	// not applicable if the protocol is UDP.
	// Possible values are: NONE, CLIENT_IP, CLIENT_IP_PORT_PROTO, CLIENT_IP_PROTO, GENERATED_COOKIE, HEADER_FIELD, HTTP_COOKIE.
	SessionAffinity *string `json:"sessionAffinity,omitempty" tf:"session_affinity,omitempty"`

	// How many seconds to wait for the backend before considering it a
	// failed request. Default is 30 seconds. Valid range is [1, 86400].
	TimeoutSec *float64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"`
}

func (*BackendServiceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceObservation.

func (*BackendServiceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendServiceParameters

type BackendServiceParameters struct {

	// Lifetime of cookies in seconds if session_affinity is
	// GENERATED_COOKIE. If set to 0, the cookie is non-persistent and lasts
	// only until the end of the browser session (or equivalent). The
	// maximum allowed value for TTL is one day.
	// When the load balancing scheme is INTERNAL, this field is not used.
	// +kubebuilder:validation:Optional
	AffinityCookieTTLSec *float64 `json:"affinityCookieTtlSec,omitempty" tf:"affinity_cookie_ttl_sec,omitempty"`

	// The set of backends that serve this BackendService.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Backend []BackendParameters `json:"backend,omitempty" tf:"backend,omitempty"`

	// Cloud CDN configuration for this BackendService.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CdnPolicy *BackendServiceCdnPolicyParameters `json:"cdnPolicy,omitempty" tf:"cdn_policy,omitempty"`

	// Settings controlling the volume of connections to a backend service. This field
	// is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CircuitBreakers *CircuitBreakersParameters `json:"circuitBreakers,omitempty" tf:"circuit_breakers,omitempty"`

	// Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.
	// Possible values are: AUTOMATIC, DISABLED.
	// +kubebuilder:validation:Optional
	CompressionMode *string `json:"compressionMode,omitempty" tf:"compression_mode,omitempty"`

	// Time for which instance will be drained (not accept new
	// connections, but still work to finish started).
	// +kubebuilder:validation:Optional
	ConnectionDrainingTimeoutSec *float64 `json:"connectionDrainingTimeoutSec,omitempty" tf:"connection_draining_timeout_sec,omitempty"`

	// Consistent Hash-based load balancing can be used to provide soft session
	// affinity based on HTTP headers, cookies or other properties. This load balancing
	// policy is applicable only for HTTP connections. The affinity to a particular
	// destination host will be lost when one or more hosts are added/removed from the
	// destination service. This field specifies parameters that control consistent
	// hashing. This field only applies if the load_balancing_scheme is set to
	// INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is
	// set to MAGLEV or RING_HASH.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ConsistentHash *ConsistentHashParameters `json:"consistentHash,omitempty" tf:"consistent_hash,omitempty"`

	// Headers that the HTTP/S load balancer should add to proxied
	// requests.
	// +kubebuilder:validation:Optional
	// +listType=set
	CustomRequestHeaders []*string `json:"customRequestHeaders,omitempty" tf:"custom_request_headers,omitempty"`

	// Headers that the HTTP/S load balancer should add to proxied
	// responses.
	// +kubebuilder:validation:Optional
	// +listType=set
	CustomResponseHeaders []*string `json:"customResponseHeaders,omitempty" tf:"custom_response_headers,omitempty"`

	// An optional description of this resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The resource URL for the edge security policy associated with this backend service.
	// +kubebuilder:validation:Optional
	EdgeSecurityPolicy *string `json:"edgeSecurityPolicy,omitempty" tf:"edge_security_policy,omitempty"`

	// If true, enable Cloud CDN for this BackendService.
	// +kubebuilder:validation:Optional
	EnableCdn *bool `json:"enableCdn,omitempty" tf:"enable_cdn,omitempty"`

	// The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource
	// for health checking this BackendService. Currently at most one health
	// check can be specified.
	// A health check must be specified unless the backend service uses an internet
	// or serverless NEG as a backend.
	// For internal load balancing, a URL to a HealthCheck resource must be specified instead.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.HealthCheck
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +kubebuilder:validation:Optional
	// +listType=set
	HealthChecks []*string `json:"healthChecks,omitempty" tf:"health_checks,omitempty"`

	// References to HealthCheck in compute to populate healthChecks.
	// +kubebuilder:validation:Optional
	HealthChecksRefs []v1.Reference `json:"healthChecksRefs,omitempty" tf:"-"`

	// Selector for a list of HealthCheck in compute to populate healthChecks.
	// +kubebuilder:validation:Optional
	HealthChecksSelector *v1.Selector `json:"healthChecksSelector,omitempty" tf:"-"`

	// Settings for enabling Cloud Identity Aware Proxy
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Iap *IapParameters `json:"iap,omitempty" tf:"iap,omitempty"`

	// Indicates whether the backend service will be used with internal or
	// external load balancing. A backend service created for one type of
	// load balancing cannot be used with the other. For more information, refer to
	// Choosing a load balancer.
	// Default value is EXTERNAL.
	// Possible values are: EXTERNAL, INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, EXTERNAL_MANAGED.
	// +kubebuilder:validation:Optional
	LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"`

	// A list of locality load balancing policies to be used in order of
	// preference. Either the policy or the customPolicy field should be set.
	// Overrides any value set in the localityLbPolicy field.
	// localityLbPolicies is only supported when the BackendService is referenced
	// by a URL Map that is referenced by a target gRPC proxy that has the
	// validateForProxyless field set to true.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	LocalityLBPolicies []LocalityLBPoliciesParameters `json:"localityLbPolicies,omitempty" tf:"locality_lb_policies,omitempty"`

	// The load balancing algorithm used within the scope of the locality.
	// The possible values are:
	// +kubebuilder:validation:Optional
	LocalityLBPolicy *string `json:"localityLbPolicy,omitempty" tf:"locality_lb_policy,omitempty"`

	// This field denotes the logging options for the load balancer traffic served by this backend service.
	// If logging is enabled, logs will be exported to Stackdriver.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	LogConfig *LogConfigParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// Settings controlling eviction of unhealthy hosts from the load balancing pool.
	// Applicable backend service types can be a global backend service with the
	// loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	OutlierDetection *OutlierDetectionParameters `json:"outlierDetection,omitempty" tf:"outlier_detection,omitempty"`

	// Name of backend port. The same name should appear in the instance
	// groups referenced by this service. Required when the load balancing
	// scheme is EXTERNAL.
	// +kubebuilder:validation:Optional
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The protocol this BackendService uses to communicate with backends.
	// The default is HTTP. NOTE: HTTP2 is only valid for beta HTTP/2 load balancer
	// types and may result in errors if used with the GA API. NOTE: With protocol “UNSPECIFIED”,
	// the backend service can be used by Layer 4 Internal Load Balancing or Network Load Balancing
	// with TCP/UDP/L3_DEFAULT Forwarding Rule protocol.
	// Possible values are: HTTP, HTTPS, HTTP2, TCP, SSL, GRPC, UNSPECIFIED.
	// +kubebuilder:validation:Optional
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`

	// The security policy associated with this backend service.
	// +kubebuilder:validation:Optional
	SecurityPolicy *string `json:"securityPolicy,omitempty" tf:"security_policy,omitempty"`

	// The security settings that apply to this backend service. This field is applicable to either
	// a regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and
	// load_balancing_scheme set to INTERNAL_MANAGED; or a global backend service with the
	// load_balancing_scheme set to INTERNAL_SELF_MANAGED.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	SecuritySettings *SecuritySettingsParameters `json:"securitySettings,omitempty" tf:"security_settings,omitempty"`

	// Type of session affinity to use. The default is NONE. Session affinity is
	// not applicable if the protocol is UDP.
	// Possible values are: NONE, CLIENT_IP, CLIENT_IP_PORT_PROTO, CLIENT_IP_PROTO, GENERATED_COOKIE, HEADER_FIELD, HTTP_COOKIE.
	// +kubebuilder:validation:Optional
	SessionAffinity *string `json:"sessionAffinity,omitempty" tf:"session_affinity,omitempty"`

	// How many seconds to wait for the backend before considering it a
	// failed request. Default is 30 seconds. Valid range is [1, 86400].
	// +kubebuilder:validation:Optional
	TimeoutSec *float64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"`
}

func (*BackendServiceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceParameters.

func (*BackendServiceParameters) DeepCopyInto

func (in *BackendServiceParameters) DeepCopyInto(out *BackendServiceParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendServiceSpec

type BackendServiceSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     BackendServiceParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider BackendServiceInitParameters `json:"initProvider,omitempty"`
}

BackendServiceSpec defines the desired state of BackendService

func (*BackendServiceSpec) DeepCopy

func (in *BackendServiceSpec) DeepCopy() *BackendServiceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceSpec.

func (*BackendServiceSpec) DeepCopyInto

func (in *BackendServiceSpec) DeepCopyInto(out *BackendServiceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendServiceStatus

type BackendServiceStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        BackendServiceObservation `json:"atProvider,omitempty"`
}

BackendServiceStatus defines the observed state of BackendService.

func (*BackendServiceStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceStatus.

func (*BackendServiceStatus) DeepCopyInto

func (in *BackendServiceStatus) DeepCopyInto(out *BackendServiceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BanThresholdInitParameters

type BanThresholdInitParameters struct {

	// Number of HTTP(S) requests for calculating the threshold.
	Count *float64 `json:"count,omitempty" tf:"count,omitempty"`

	// Interval over which the threshold is computed.
	IntervalSec *float64 `json:"intervalSec,omitempty" tf:"interval_sec,omitempty"`
}

func (*BanThresholdInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BanThresholdInitParameters.

func (*BanThresholdInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BanThresholdObservation

type BanThresholdObservation struct {

	// Number of HTTP(S) requests for calculating the threshold.
	Count *float64 `json:"count,omitempty" tf:"count,omitempty"`

	// Interval over which the threshold is computed.
	IntervalSec *float64 `json:"intervalSec,omitempty" tf:"interval_sec,omitempty"`
}

func (*BanThresholdObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BanThresholdObservation.

func (*BanThresholdObservation) DeepCopyInto

func (in *BanThresholdObservation) DeepCopyInto(out *BanThresholdObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BanThresholdParameters

type BanThresholdParameters struct {

	// Number of HTTP(S) requests for calculating the threshold.
	// +kubebuilder:validation:Optional
	Count *float64 `json:"count" tf:"count,omitempty"`

	// Interval over which the threshold is computed.
	// +kubebuilder:validation:Optional
	IntervalSec *float64 `json:"intervalSec" tf:"interval_sec,omitempty"`
}

func (*BanThresholdParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BanThresholdParameters.

func (*BanThresholdParameters) DeepCopyInto

func (in *BanThresholdParameters) DeepCopyInto(out *BanThresholdParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BaseEjectionTimeInitParameters

type BaseEjectionTimeInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*BaseEjectionTimeInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseEjectionTimeInitParameters.

func (*BaseEjectionTimeInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BaseEjectionTimeObservation

type BaseEjectionTimeObservation struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*BaseEjectionTimeObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseEjectionTimeObservation.

func (*BaseEjectionTimeObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BaseEjectionTimeParameters

type BaseEjectionTimeParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	// +kubebuilder:validation:Optional
	Seconds *float64 `json:"seconds" tf:"seconds,omitempty"`
}

func (*BaseEjectionTimeParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseEjectionTimeParameters.

func (*BaseEjectionTimeParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BfdInitParameters

type BfdInitParameters struct {

	// The minimum interval, in milliseconds, between BFD control packets
	// received from the peer router. The actual value is negotiated
	// between the two routers and is equal to the greater of this value
	// and the transmit interval of the other router. If set, this value
	// must be between 1000 and 30000.
	MinReceiveInterval *float64 `json:"minReceiveInterval,omitempty" tf:"min_receive_interval,omitempty"`

	// The minimum interval, in milliseconds, between BFD control packets
	// transmitted to the peer router. The actual value is negotiated
	// between the two routers and is equal to the greater of this value
	// and the corresponding receive interval of the other router. If set,
	// this value must be between 1000 and 30000.
	MinTransmitInterval *float64 `json:"minTransmitInterval,omitempty" tf:"min_transmit_interval,omitempty"`

	// The number of consecutive BFD packets that must be missed before
	// BFD declares that a peer is unavailable. If set, the value must
	// be a value between 5 and 16.
	Multiplier *float64 `json:"multiplier,omitempty" tf:"multiplier,omitempty"`

	// The BFD session initialization mode for this BGP peer.
	// If set to ACTIVE, the Cloud Router will initiate the BFD session
	// for this BGP peer. If set to PASSIVE, the Cloud Router will wait
	// for the peer router to initiate the BFD session for this BGP peer.
	// If set to DISABLED, BFD is disabled for this BGP peer.
	// Possible values are: ACTIVE, DISABLED, PASSIVE.
	SessionInitializationMode *string `json:"sessionInitializationMode,omitempty" tf:"session_initialization_mode,omitempty"`
}

func (*BfdInitParameters) DeepCopy

func (in *BfdInitParameters) DeepCopy() *BfdInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BfdInitParameters.

func (*BfdInitParameters) DeepCopyInto

func (in *BfdInitParameters) DeepCopyInto(out *BfdInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BfdObservation

type BfdObservation struct {

	// The minimum interval, in milliseconds, between BFD control packets
	// received from the peer router. The actual value is negotiated
	// between the two routers and is equal to the greater of this value
	// and the transmit interval of the other router. If set, this value
	// must be between 1000 and 30000.
	MinReceiveInterval *float64 `json:"minReceiveInterval,omitempty" tf:"min_receive_interval,omitempty"`

	// The minimum interval, in milliseconds, between BFD control packets
	// transmitted to the peer router. The actual value is negotiated
	// between the two routers and is equal to the greater of this value
	// and the corresponding receive interval of the other router. If set,
	// this value must be between 1000 and 30000.
	MinTransmitInterval *float64 `json:"minTransmitInterval,omitempty" tf:"min_transmit_interval,omitempty"`

	// The number of consecutive BFD packets that must be missed before
	// BFD declares that a peer is unavailable. If set, the value must
	// be a value between 5 and 16.
	Multiplier *float64 `json:"multiplier,omitempty" tf:"multiplier,omitempty"`

	// The BFD session initialization mode for this BGP peer.
	// If set to ACTIVE, the Cloud Router will initiate the BFD session
	// for this BGP peer. If set to PASSIVE, the Cloud Router will wait
	// for the peer router to initiate the BFD session for this BGP peer.
	// If set to DISABLED, BFD is disabled for this BGP peer.
	// Possible values are: ACTIVE, DISABLED, PASSIVE.
	SessionInitializationMode *string `json:"sessionInitializationMode,omitempty" tf:"session_initialization_mode,omitempty"`
}

func (*BfdObservation) DeepCopy

func (in *BfdObservation) DeepCopy() *BfdObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BfdObservation.

func (*BfdObservation) DeepCopyInto

func (in *BfdObservation) DeepCopyInto(out *BfdObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BfdParameters

type BfdParameters struct {

	// The minimum interval, in milliseconds, between BFD control packets
	// received from the peer router. The actual value is negotiated
	// between the two routers and is equal to the greater of this value
	// and the transmit interval of the other router. If set, this value
	// must be between 1000 and 30000.
	// +kubebuilder:validation:Optional
	MinReceiveInterval *float64 `json:"minReceiveInterval,omitempty" tf:"min_receive_interval,omitempty"`

	// The minimum interval, in milliseconds, between BFD control packets
	// transmitted to the peer router. The actual value is negotiated
	// between the two routers and is equal to the greater of this value
	// and the corresponding receive interval of the other router. If set,
	// this value must be between 1000 and 30000.
	// +kubebuilder:validation:Optional
	MinTransmitInterval *float64 `json:"minTransmitInterval,omitempty" tf:"min_transmit_interval,omitempty"`

	// The number of consecutive BFD packets that must be missed before
	// BFD declares that a peer is unavailable. If set, the value must
	// be a value between 5 and 16.
	// +kubebuilder:validation:Optional
	Multiplier *float64 `json:"multiplier,omitempty" tf:"multiplier,omitempty"`

	// The BFD session initialization mode for this BGP peer.
	// If set to ACTIVE, the Cloud Router will initiate the BFD session
	// for this BGP peer. If set to PASSIVE, the Cloud Router will wait
	// for the peer router to initiate the BFD session for this BGP peer.
	// If set to DISABLED, BFD is disabled for this BGP peer.
	// Possible values are: ACTIVE, DISABLED, PASSIVE.
	// +kubebuilder:validation:Optional
	SessionInitializationMode *string `json:"sessionInitializationMode" tf:"session_initialization_mode,omitempty"`
}

func (*BfdParameters) DeepCopy

func (in *BfdParameters) DeepCopy() *BfdParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BfdParameters.

func (*BfdParameters) DeepCopyInto

func (in *BfdParameters) DeepCopyInto(out *BfdParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootDiskInitParameters

type BootDiskInitParameters struct {

	// Whether the disk will be auto-deleted when the instance
	// is deleted. Defaults to true.
	AutoDelete *bool `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Name with which attached disk will be accessible.
	// On the instance, this device will be /dev/disk/by-id/google-{{device_name}}.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// Parameters for a new disk that will be created
	// alongside the new instance. Either initialize_params or source must be set.
	// Structure is documented below.
	InitializeParams *InitializeParamsInitParameters `json:"initializeParams,omitempty" tf:"initialize_params,omitempty"`

	// The self_link of the encryption key that is
	// stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link
	// and disk_encryption_key_raw may be set.
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The mode in which to attach this disk, either READ_WRITE
	// or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The name or self_link of the existing disk (such as those managed by
	// google_compute_disk) or disk image. To create an instance from a snapshot, first create a
	// google_compute_disk from a snapshot and reference it here.
	Source *string `json:"source,omitempty" tf:"source,omitempty"`
}

func (*BootDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDiskInitParameters.

func (*BootDiskInitParameters) DeepCopyInto

func (in *BootDiskInitParameters) DeepCopyInto(out *BootDiskInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootDiskInitializeParamsInitParameters

type BootDiskInitializeParamsInitParameters struct {
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute,omitempty" tf:"enable_confidential_compute,omitempty"`

	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"`

	ProvisionedIops *float64 `json:"provisionedIops,omitempty" tf:"provisioned_iops,omitempty"`

	ProvisionedThroughput *float64 `json:"provisionedThroughput,omitempty" tf:"provisioned_throughput,omitempty"`

	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`

	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*BootDiskInitializeParamsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDiskInitializeParamsInitParameters.

func (*BootDiskInitializeParamsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootDiskInitializeParamsObservation

type BootDiskInitializeParamsObservation struct {
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute,omitempty" tf:"enable_confidential_compute,omitempty"`

	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"`

	ProvisionedIops *float64 `json:"provisionedIops,omitempty" tf:"provisioned_iops,omitempty"`

	ProvisionedThroughput *float64 `json:"provisionedThroughput,omitempty" tf:"provisioned_throughput,omitempty"`

	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`

	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*BootDiskInitializeParamsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDiskInitializeParamsObservation.

func (*BootDiskInitializeParamsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootDiskInitializeParamsParameters

type BootDiskInitializeParamsParameters struct {

	// +kubebuilder:validation:Optional
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute,omitempty" tf:"enable_confidential_compute,omitempty"`

	// +kubebuilder:validation:Optional
	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	// +kubebuilder:validation:Optional
	Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"`

	// +kubebuilder:validation:Optional
	ProvisionedIops *float64 `json:"provisionedIops,omitempty" tf:"provisioned_iops,omitempty"`

	// +kubebuilder:validation:Optional
	ProvisionedThroughput *float64 `json:"provisionedThroughput,omitempty" tf:"provisioned_throughput,omitempty"`

	// +kubebuilder:validation:Optional
	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`

	// +kubebuilder:validation:Optional
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*BootDiskInitializeParamsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDiskInitializeParamsParameters.

func (*BootDiskInitializeParamsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootDiskObservation

type BootDiskObservation struct {

	// Whether the disk will be auto-deleted when the instance
	// is deleted. Defaults to true.
	AutoDelete *bool `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Name with which attached disk will be accessible.
	// On the instance, this device will be /dev/disk/by-id/google-{{device_name}}.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// The RFC 4648 base64
	// encoded SHA-256 hash of the [customer-supplied encryption key]
	// (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
	DiskEncryptionKeySha256 *string `json:"diskEncryptionKeySha256,omitempty" tf:"disk_encryption_key_sha256,omitempty"`

	// Parameters for a new disk that will be created
	// alongside the new instance. Either initialize_params or source must be set.
	// Structure is documented below.
	InitializeParams *InitializeParamsObservation `json:"initializeParams,omitempty" tf:"initialize_params,omitempty"`

	// The self_link of the encryption key that is
	// stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link
	// and disk_encryption_key_raw may be set.
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The mode in which to attach this disk, either READ_WRITE
	// or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The name or self_link of the existing disk (such as those managed by
	// google_compute_disk) or disk image. To create an instance from a snapshot, first create a
	// google_compute_disk from a snapshot and reference it here.
	Source *string `json:"source,omitempty" tf:"source,omitempty"`
}

func (*BootDiskObservation) DeepCopy

func (in *BootDiskObservation) DeepCopy() *BootDiskObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDiskObservation.

func (*BootDiskObservation) DeepCopyInto

func (in *BootDiskObservation) DeepCopyInto(out *BootDiskObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootDiskParameters

type BootDiskParameters struct {

	// Whether the disk will be auto-deleted when the instance
	// is deleted. Defaults to true.
	// +kubebuilder:validation:Optional
	AutoDelete *bool `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Name with which attached disk will be accessible.
	// On the instance, this device will be /dev/disk/by-id/google-{{device_name}}.
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// A 256-bit [customer-supplied encryption key]
	// (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
	// encoded in RFC 4648 base64
	// to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw
	// may be set.
	// +kubebuilder:validation:Optional
	DiskEncryptionKeyRawSecretRef *v1.SecretKeySelector `json:"diskEncryptionKeyRawSecretRef,omitempty" tf:"-"`

	// Parameters for a new disk that will be created
	// alongside the new instance. Either initialize_params or source must be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	InitializeParams *InitializeParamsParameters `json:"initializeParams,omitempty" tf:"initialize_params,omitempty"`

	// The self_link of the encryption key that is
	// stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link
	// and disk_encryption_key_raw may be set.
	// +kubebuilder:validation:Optional
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The mode in which to attach this disk, either READ_WRITE
	// or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode.
	// +kubebuilder:validation:Optional
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The name or self_link of the existing disk (such as those managed by
	// google_compute_disk) or disk image. To create an instance from a snapshot, first create a
	// google_compute_disk from a snapshot and reference it here.
	// +kubebuilder:validation:Optional
	Source *string `json:"source,omitempty" tf:"source,omitempty"`
}

func (*BootDiskParameters) DeepCopy

func (in *BootDiskParameters) DeepCopy() *BootDiskParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDiskParameters.

func (*BootDiskParameters) DeepCopyInto

func (in *BootDiskParameters) DeepCopyInto(out *BootDiskParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BypassCacheOnRequestHeadersInitParameters

type BypassCacheOnRequestHeadersInitParameters struct {

	// The header field name to match on when bypassing cache. Values are case-insensitive.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`
}

func (*BypassCacheOnRequestHeadersInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BypassCacheOnRequestHeadersInitParameters.

func (*BypassCacheOnRequestHeadersInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BypassCacheOnRequestHeadersObservation

type BypassCacheOnRequestHeadersObservation struct {

	// The header field name to match on when bypassing cache. Values are case-insensitive.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`
}

func (*BypassCacheOnRequestHeadersObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BypassCacheOnRequestHeadersObservation.

func (*BypassCacheOnRequestHeadersObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BypassCacheOnRequestHeadersParameters

type BypassCacheOnRequestHeadersParameters struct {

	// The header field name to match on when bypassing cache. Values are case-insensitive.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`
}

func (*BypassCacheOnRequestHeadersParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BypassCacheOnRequestHeadersParameters.

func (*BypassCacheOnRequestHeadersParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CPUUtilizationInitParameters

type CPUUtilizationInitParameters struct {

	// Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:
	PredictiveMethod *string `json:"predictiveMethod,omitempty" tf:"predictive_method,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	Target *float64 `json:"target,omitempty" tf:"target,omitempty"`
}

func (*CPUUtilizationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUUtilizationInitParameters.

func (*CPUUtilizationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CPUUtilizationObservation

type CPUUtilizationObservation struct {

	// Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:
	PredictiveMethod *string `json:"predictiveMethod,omitempty" tf:"predictive_method,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	Target *float64 `json:"target,omitempty" tf:"target,omitempty"`
}

func (*CPUUtilizationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUUtilizationObservation.

func (*CPUUtilizationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CPUUtilizationParameters

type CPUUtilizationParameters struct {

	// Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:
	// +kubebuilder:validation:Optional
	PredictiveMethod *string `json:"predictiveMethod,omitempty" tf:"predictive_method,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	// +kubebuilder:validation:Optional
	Target *float64 `json:"target" tf:"target,omitempty"`
}

func (*CPUUtilizationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUUtilizationParameters.

func (*CPUUtilizationParameters) DeepCopyInto

func (in *CPUUtilizationParameters) DeepCopyInto(out *CPUUtilizationParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CacheKeyPolicyInitParameters

type CacheKeyPolicyInitParameters struct {

	// Allows HTTP request headers (by name) to be used in the
	// cache key.
	IncludeHTTPHeaders []*string `json:"includeHttpHeaders,omitempty" tf:"include_http_headers,omitempty"`

	// Names of query string parameters to include in cache keys.
	// Default parameters are always included. '&' and '=' will
	// be percent encoded and not treated as delimiters.
	QueryStringWhitelist []*string `json:"queryStringWhitelist,omitempty" tf:"query_string_whitelist,omitempty"`
}

func (*CacheKeyPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CacheKeyPolicyInitParameters.

func (*CacheKeyPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CacheKeyPolicyObservation

type CacheKeyPolicyObservation struct {

	// Allows HTTP request headers (by name) to be used in the
	// cache key.
	IncludeHTTPHeaders []*string `json:"includeHttpHeaders,omitempty" tf:"include_http_headers,omitempty"`

	// Names of query string parameters to include in cache keys.
	// Default parameters are always included. '&' and '=' will
	// be percent encoded and not treated as delimiters.
	QueryStringWhitelist []*string `json:"queryStringWhitelist,omitempty" tf:"query_string_whitelist,omitempty"`
}

func (*CacheKeyPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CacheKeyPolicyObservation.

func (*CacheKeyPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CacheKeyPolicyParameters

type CacheKeyPolicyParameters struct {

	// Allows HTTP request headers (by name) to be used in the
	// cache key.
	// +kubebuilder:validation:Optional
	IncludeHTTPHeaders []*string `json:"includeHttpHeaders,omitempty" tf:"include_http_headers,omitempty"`

	// Names of query string parameters to include in cache keys.
	// Default parameters are always included. '&' and '=' will
	// be percent encoded and not treated as delimiters.
	// +kubebuilder:validation:Optional
	QueryStringWhitelist []*string `json:"queryStringWhitelist,omitempty" tf:"query_string_whitelist,omitempty"`
}

func (*CacheKeyPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CacheKeyPolicyParameters.

func (*CacheKeyPolicyParameters) DeepCopyInto

func (in *CacheKeyPolicyParameters) DeepCopyInto(out *CacheKeyPolicyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CdnPolicyBypassCacheOnRequestHeadersInitParameters

type CdnPolicyBypassCacheOnRequestHeadersInitParameters struct {

	// The header field name to match on when bypassing cache. Values are case-insensitive.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`
}

func (*CdnPolicyBypassCacheOnRequestHeadersInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyBypassCacheOnRequestHeadersInitParameters.

func (*CdnPolicyBypassCacheOnRequestHeadersInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CdnPolicyBypassCacheOnRequestHeadersObservation

type CdnPolicyBypassCacheOnRequestHeadersObservation struct {

	// The header field name to match on when bypassing cache. Values are case-insensitive.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`
}

func (*CdnPolicyBypassCacheOnRequestHeadersObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyBypassCacheOnRequestHeadersObservation.

func (*CdnPolicyBypassCacheOnRequestHeadersObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CdnPolicyBypassCacheOnRequestHeadersParameters

type CdnPolicyBypassCacheOnRequestHeadersParameters struct {

	// The header field name to match on when bypassing cache. Values are case-insensitive.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`
}

func (*CdnPolicyBypassCacheOnRequestHeadersParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyBypassCacheOnRequestHeadersParameters.

func (*CdnPolicyBypassCacheOnRequestHeadersParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CdnPolicyCacheKeyPolicyInitParameters

type CdnPolicyCacheKeyPolicyInitParameters struct {

	// Allows HTTP request headers (by name) to be used in the
	// cache key.
	IncludeHTTPHeaders []*string `json:"includeHttpHeaders,omitempty" tf:"include_http_headers,omitempty"`

	// If true requests to different hosts will be cached separately.
	IncludeHost *bool `json:"includeHost,omitempty" tf:"include_host,omitempty"`

	// Names of cookies to include in cache keys.
	IncludeNamedCookies []*string `json:"includeNamedCookies,omitempty" tf:"include_named_cookies,omitempty"`

	// If true, http and https requests will be cached separately.
	IncludeProtocol *bool `json:"includeProtocol,omitempty" tf:"include_protocol,omitempty"`

	// If true, include query string parameters in the cache key
	// according to query_string_whitelist and
	// query_string_blacklist. If neither is set, the entire query
	// string will be included.
	// If false, the query string will be excluded from the cache
	// key entirely.
	IncludeQueryString *bool `json:"includeQueryString,omitempty" tf:"include_query_string,omitempty"`

	// Names of query string parameters to exclude in cache keys.
	// All other parameters will be included. Either specify
	// query_string_whitelist or query_string_blacklist, not both.
	// '&' and '=' will be percent encoded and not treated as
	// delimiters.
	// +listType=set
	QueryStringBlacklist []*string `json:"queryStringBlacklist,omitempty" tf:"query_string_blacklist,omitempty"`

	// Names of query string parameters to include in cache keys.
	// All other parameters will be excluded. Either specify
	// query_string_whitelist or query_string_blacklist, not both.
	// '&' and '=' will be percent encoded and not treated as
	// delimiters.
	// +listType=set
	QueryStringWhitelist []*string `json:"queryStringWhitelist,omitempty" tf:"query_string_whitelist,omitempty"`
}

func (*CdnPolicyCacheKeyPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyCacheKeyPolicyInitParameters.

func (*CdnPolicyCacheKeyPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CdnPolicyCacheKeyPolicyObservation

type CdnPolicyCacheKeyPolicyObservation struct {

	// Allows HTTP request headers (by name) to be used in the
	// cache key.
	IncludeHTTPHeaders []*string `json:"includeHttpHeaders,omitempty" tf:"include_http_headers,omitempty"`

	// If true requests to different hosts will be cached separately.
	IncludeHost *bool `json:"includeHost,omitempty" tf:"include_host,omitempty"`

	// Names of cookies to include in cache keys.
	IncludeNamedCookies []*string `json:"includeNamedCookies,omitempty" tf:"include_named_cookies,omitempty"`

	// If true, http and https requests will be cached separately.
	IncludeProtocol *bool `json:"includeProtocol,omitempty" tf:"include_protocol,omitempty"`

	// If true, include query string parameters in the cache key
	// according to query_string_whitelist and
	// query_string_blacklist. If neither is set, the entire query
	// string will be included.
	// If false, the query string will be excluded from the cache
	// key entirely.
	IncludeQueryString *bool `json:"includeQueryString,omitempty" tf:"include_query_string,omitempty"`

	// Names of query string parameters to exclude in cache keys.
	// All other parameters will be included. Either specify
	// query_string_whitelist or query_string_blacklist, not both.
	// '&' and '=' will be percent encoded and not treated as
	// delimiters.
	// +listType=set
	QueryStringBlacklist []*string `json:"queryStringBlacklist,omitempty" tf:"query_string_blacklist,omitempty"`

	// Names of query string parameters to include in cache keys.
	// All other parameters will be excluded. Either specify
	// query_string_whitelist or query_string_blacklist, not both.
	// '&' and '=' will be percent encoded and not treated as
	// delimiters.
	// +listType=set
	QueryStringWhitelist []*string `json:"queryStringWhitelist,omitempty" tf:"query_string_whitelist,omitempty"`
}

func (*CdnPolicyCacheKeyPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyCacheKeyPolicyObservation.

func (*CdnPolicyCacheKeyPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CdnPolicyCacheKeyPolicyParameters

type CdnPolicyCacheKeyPolicyParameters struct {

	// Allows HTTP request headers (by name) to be used in the
	// cache key.
	// +kubebuilder:validation:Optional
	IncludeHTTPHeaders []*string `json:"includeHttpHeaders,omitempty" tf:"include_http_headers,omitempty"`

	// If true requests to different hosts will be cached separately.
	// +kubebuilder:validation:Optional
	IncludeHost *bool `json:"includeHost,omitempty" tf:"include_host,omitempty"`

	// Names of cookies to include in cache keys.
	// +kubebuilder:validation:Optional
	IncludeNamedCookies []*string `json:"includeNamedCookies,omitempty" tf:"include_named_cookies,omitempty"`

	// If true, http and https requests will be cached separately.
	// +kubebuilder:validation:Optional
	IncludeProtocol *bool `json:"includeProtocol,omitempty" tf:"include_protocol,omitempty"`

	// If true, include query string parameters in the cache key
	// according to query_string_whitelist and
	// query_string_blacklist. If neither is set, the entire query
	// string will be included.
	// If false, the query string will be excluded from the cache
	// key entirely.
	// +kubebuilder:validation:Optional
	IncludeQueryString *bool `json:"includeQueryString,omitempty" tf:"include_query_string,omitempty"`

	// Names of query string parameters to exclude in cache keys.
	// All other parameters will be included. Either specify
	// query_string_whitelist or query_string_blacklist, not both.
	// '&' and '=' will be percent encoded and not treated as
	// delimiters.
	// +kubebuilder:validation:Optional
	// +listType=set
	QueryStringBlacklist []*string `json:"queryStringBlacklist,omitempty" tf:"query_string_blacklist,omitempty"`

	// Names of query string parameters to include in cache keys.
	// All other parameters will be excluded. Either specify
	// query_string_whitelist or query_string_blacklist, not both.
	// '&' and '=' will be percent encoded and not treated as
	// delimiters.
	// +kubebuilder:validation:Optional
	// +listType=set
	QueryStringWhitelist []*string `json:"queryStringWhitelist,omitempty" tf:"query_string_whitelist,omitempty"`
}

func (*CdnPolicyCacheKeyPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyCacheKeyPolicyParameters.

func (*CdnPolicyCacheKeyPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CdnPolicyInitParameters

type CdnPolicyInitParameters struct {

	// Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings.
	// Structure is documented below.
	BypassCacheOnRequestHeaders []BypassCacheOnRequestHeadersInitParameters `json:"bypassCacheOnRequestHeaders,omitempty" tf:"bypass_cache_on_request_headers,omitempty"`

	// The CacheKeyPolicy for this CdnPolicy.
	// Structure is documented below.
	CacheKeyPolicy *CacheKeyPolicyInitParameters `json:"cacheKeyPolicy,omitempty" tf:"cache_key_policy,omitempty"`

	// Specifies the cache setting for all responses from this backend.
	// The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC
	// Possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL, CACHE_ALL_STATIC.
	CacheMode *string `json:"cacheMode,omitempty" tf:"cache_mode,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	ClientTTL *float64 `json:"clientTtl,omitempty" tf:"client_ttl,omitempty"`

	// Specifies the default TTL for cached content served by this origin for responses
	// that do not have an existing valid TTL (max-age or s-max-age).
	DefaultTTL *float64 `json:"defaultTtl,omitempty" tf:"default_ttl,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	MaxTTL *float64 `json:"maxTtl,omitempty" tf:"max_ttl,omitempty"`

	// Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.
	NegativeCaching *bool `json:"negativeCaching,omitempty" tf:"negative_caching,omitempty"`

	// Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.
	// Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs.
	// Structure is documented below.
	NegativeCachingPolicy []NegativeCachingPolicyInitParameters `json:"negativeCachingPolicy,omitempty" tf:"negative_caching_policy,omitempty"`

	// If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.
	RequestCoalescing *bool `json:"requestCoalescing,omitempty" tf:"request_coalescing,omitempty"`

	// Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.
	ServeWhileStale *float64 `json:"serveWhileStale,omitempty" tf:"serve_while_stale,omitempty"`

	// Maximum number of seconds the response to a signed URL request will
	// be considered fresh. After this time period,
	// the response will be revalidated before being served.
	// When serving responses to signed URL requests,
	// Cloud CDN will internally behave as though
	// all responses from this backend had a "Cache-Control: public,
	// max-age=[TTL]" header, regardless of any existing Cache-Control
	// header. The actual headers served in responses will not be altered.
	SignedURLCacheMaxAgeSec *float64 `json:"signedUrlCacheMaxAgeSec,omitempty" tf:"signed_url_cache_max_age_sec,omitempty"`
}

func (*CdnPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyInitParameters.

func (*CdnPolicyInitParameters) DeepCopyInto

func (in *CdnPolicyInitParameters) DeepCopyInto(out *CdnPolicyInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CdnPolicyNegativeCachingPolicyInitParameters

type CdnPolicyNegativeCachingPolicyInitParameters struct {

	// The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
	// can be specified as values, and you cannot specify a status code more than once.
	Code *float64 `json:"code,omitempty" tf:"code,omitempty"`

	// The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s
	// (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
	TTL *float64 `json:"ttl,omitempty" tf:"ttl,omitempty"`
}

func (*CdnPolicyNegativeCachingPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyNegativeCachingPolicyInitParameters.

func (*CdnPolicyNegativeCachingPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CdnPolicyNegativeCachingPolicyObservation

type CdnPolicyNegativeCachingPolicyObservation struct {

	// The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
	// can be specified as values, and you cannot specify a status code more than once.
	Code *float64 `json:"code,omitempty" tf:"code,omitempty"`

	// The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s
	// (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
	TTL *float64 `json:"ttl,omitempty" tf:"ttl,omitempty"`
}

func (*CdnPolicyNegativeCachingPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyNegativeCachingPolicyObservation.

func (*CdnPolicyNegativeCachingPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CdnPolicyNegativeCachingPolicyParameters

type CdnPolicyNegativeCachingPolicyParameters struct {

	// The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
	// can be specified as values, and you cannot specify a status code more than once.
	// +kubebuilder:validation:Optional
	Code *float64 `json:"code,omitempty" tf:"code,omitempty"`

	// The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s
	// (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
	// +kubebuilder:validation:Optional
	TTL *float64 `json:"ttl,omitempty" tf:"ttl,omitempty"`
}

func (*CdnPolicyNegativeCachingPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyNegativeCachingPolicyParameters.

func (*CdnPolicyNegativeCachingPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CdnPolicyObservation

type CdnPolicyObservation struct {

	// Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings.
	// Structure is documented below.
	BypassCacheOnRequestHeaders []BypassCacheOnRequestHeadersObservation `json:"bypassCacheOnRequestHeaders,omitempty" tf:"bypass_cache_on_request_headers,omitempty"`

	// The CacheKeyPolicy for this CdnPolicy.
	// Structure is documented below.
	CacheKeyPolicy *CacheKeyPolicyObservation `json:"cacheKeyPolicy,omitempty" tf:"cache_key_policy,omitempty"`

	// Specifies the cache setting for all responses from this backend.
	// The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC
	// Possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL, CACHE_ALL_STATIC.
	CacheMode *string `json:"cacheMode,omitempty" tf:"cache_mode,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	ClientTTL *float64 `json:"clientTtl,omitempty" tf:"client_ttl,omitempty"`

	// Specifies the default TTL for cached content served by this origin for responses
	// that do not have an existing valid TTL (max-age or s-max-age).
	DefaultTTL *float64 `json:"defaultTtl,omitempty" tf:"default_ttl,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	MaxTTL *float64 `json:"maxTtl,omitempty" tf:"max_ttl,omitempty"`

	// Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.
	NegativeCaching *bool `json:"negativeCaching,omitempty" tf:"negative_caching,omitempty"`

	// Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.
	// Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs.
	// Structure is documented below.
	NegativeCachingPolicy []NegativeCachingPolicyObservation `json:"negativeCachingPolicy,omitempty" tf:"negative_caching_policy,omitempty"`

	// If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.
	RequestCoalescing *bool `json:"requestCoalescing,omitempty" tf:"request_coalescing,omitempty"`

	// Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.
	ServeWhileStale *float64 `json:"serveWhileStale,omitempty" tf:"serve_while_stale,omitempty"`

	// Maximum number of seconds the response to a signed URL request will
	// be considered fresh. After this time period,
	// the response will be revalidated before being served.
	// When serving responses to signed URL requests,
	// Cloud CDN will internally behave as though
	// all responses from this backend had a "Cache-Control: public,
	// max-age=[TTL]" header, regardless of any existing Cache-Control
	// header. The actual headers served in responses will not be altered.
	SignedURLCacheMaxAgeSec *float64 `json:"signedUrlCacheMaxAgeSec,omitempty" tf:"signed_url_cache_max_age_sec,omitempty"`
}

func (*CdnPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyObservation.

func (*CdnPolicyObservation) DeepCopyInto

func (in *CdnPolicyObservation) DeepCopyInto(out *CdnPolicyObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CdnPolicyParameters

type CdnPolicyParameters struct {

	// Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	BypassCacheOnRequestHeaders []BypassCacheOnRequestHeadersParameters `json:"bypassCacheOnRequestHeaders,omitempty" tf:"bypass_cache_on_request_headers,omitempty"`

	// The CacheKeyPolicy for this CdnPolicy.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CacheKeyPolicy *CacheKeyPolicyParameters `json:"cacheKeyPolicy,omitempty" tf:"cache_key_policy,omitempty"`

	// Specifies the cache setting for all responses from this backend.
	// The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC
	// Possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL, CACHE_ALL_STATIC.
	// +kubebuilder:validation:Optional
	CacheMode *string `json:"cacheMode,omitempty" tf:"cache_mode,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	// +kubebuilder:validation:Optional
	ClientTTL *float64 `json:"clientTtl,omitempty" tf:"client_ttl,omitempty"`

	// Specifies the default TTL for cached content served by this origin for responses
	// that do not have an existing valid TTL (max-age or s-max-age).
	// +kubebuilder:validation:Optional
	DefaultTTL *float64 `json:"defaultTtl,omitempty" tf:"default_ttl,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	// +kubebuilder:validation:Optional
	MaxTTL *float64 `json:"maxTtl,omitempty" tf:"max_ttl,omitempty"`

	// Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.
	// +kubebuilder:validation:Optional
	NegativeCaching *bool `json:"negativeCaching,omitempty" tf:"negative_caching,omitempty"`

	// Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.
	// Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	NegativeCachingPolicy []NegativeCachingPolicyParameters `json:"negativeCachingPolicy,omitempty" tf:"negative_caching_policy,omitempty"`

	// If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.
	// +kubebuilder:validation:Optional
	RequestCoalescing *bool `json:"requestCoalescing,omitempty" tf:"request_coalescing,omitempty"`

	// Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.
	// +kubebuilder:validation:Optional
	ServeWhileStale *float64 `json:"serveWhileStale,omitempty" tf:"serve_while_stale,omitempty"`

	// Maximum number of seconds the response to a signed URL request will
	// be considered fresh. After this time period,
	// the response will be revalidated before being served.
	// When serving responses to signed URL requests,
	// Cloud CDN will internally behave as though
	// all responses from this backend had a "Cache-Control: public,
	// max-age=[TTL]" header, regardless of any existing Cache-Control
	// header. The actual headers served in responses will not be altered.
	// +kubebuilder:validation:Optional
	SignedURLCacheMaxAgeSec *float64 `json:"signedUrlCacheMaxAgeSec,omitempty" tf:"signed_url_cache_max_age_sec,omitempty"`
}

func (*CdnPolicyParameters) DeepCopy

func (in *CdnPolicyParameters) DeepCopy() *CdnPolicyParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyParameters.

func (*CdnPolicyParameters) DeepCopyInto

func (in *CdnPolicyParameters) DeepCopyInto(out *CdnPolicyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CircuitBreakersInitParameters

type CircuitBreakersInitParameters struct {

	// The maximum number of connections to the backend cluster.
	// Defaults to 1024.
	MaxConnections *float64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"`

	// The maximum number of pending requests to the backend cluster.
	// Defaults to 1024.
	MaxPendingRequests *float64 `json:"maxPendingRequests,omitempty" tf:"max_pending_requests,omitempty"`

	// The maximum number of parallel requests to the backend cluster.
	// Defaults to 1024.
	MaxRequests *float64 `json:"maxRequests,omitempty" tf:"max_requests,omitempty"`

	// Maximum requests for a single backend connection. This parameter
	// is respected by both the HTTP/1.1 and HTTP/2 implementations. If
	// not specified, there is no limit. Setting this parameter to 1
	// will effectively disable keep alive.
	MaxRequestsPerConnection *float64 `json:"maxRequestsPerConnection,omitempty" tf:"max_requests_per_connection,omitempty"`

	// The maximum number of parallel retries to the backend cluster.
	// Defaults to 3.
	MaxRetries *float64 `json:"maxRetries,omitempty" tf:"max_retries,omitempty"`
}

func (*CircuitBreakersInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakersInitParameters.

func (*CircuitBreakersInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CircuitBreakersObservation

type CircuitBreakersObservation struct {

	// The maximum number of connections to the backend cluster.
	// Defaults to 1024.
	MaxConnections *float64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"`

	// The maximum number of pending requests to the backend cluster.
	// Defaults to 1024.
	MaxPendingRequests *float64 `json:"maxPendingRequests,omitempty" tf:"max_pending_requests,omitempty"`

	// The maximum number of parallel requests to the backend cluster.
	// Defaults to 1024.
	MaxRequests *float64 `json:"maxRequests,omitempty" tf:"max_requests,omitempty"`

	// Maximum requests for a single backend connection. This parameter
	// is respected by both the HTTP/1.1 and HTTP/2 implementations. If
	// not specified, there is no limit. Setting this parameter to 1
	// will effectively disable keep alive.
	MaxRequestsPerConnection *float64 `json:"maxRequestsPerConnection,omitempty" tf:"max_requests_per_connection,omitempty"`

	// The maximum number of parallel retries to the backend cluster.
	// Defaults to 3.
	MaxRetries *float64 `json:"maxRetries,omitempty" tf:"max_retries,omitempty"`
}

func (*CircuitBreakersObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakersObservation.

func (*CircuitBreakersObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CircuitBreakersParameters

type CircuitBreakersParameters struct {

	// The maximum number of connections to the backend cluster.
	// Defaults to 1024.
	// +kubebuilder:validation:Optional
	MaxConnections *float64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"`

	// The maximum number of pending requests to the backend cluster.
	// Defaults to 1024.
	// +kubebuilder:validation:Optional
	MaxPendingRequests *float64 `json:"maxPendingRequests,omitempty" tf:"max_pending_requests,omitempty"`

	// The maximum number of parallel requests to the backend cluster.
	// Defaults to 1024.
	// +kubebuilder:validation:Optional
	MaxRequests *float64 `json:"maxRequests,omitempty" tf:"max_requests,omitempty"`

	// Maximum requests for a single backend connection. This parameter
	// is respected by both the HTTP/1.1 and HTTP/2 implementations. If
	// not specified, there is no limit. Setting this parameter to 1
	// will effectively disable keep alive.
	// +kubebuilder:validation:Optional
	MaxRequestsPerConnection *float64 `json:"maxRequestsPerConnection,omitempty" tf:"max_requests_per_connection,omitempty"`

	// The maximum number of parallel retries to the backend cluster.
	// Defaults to 3.
	// +kubebuilder:validation:Optional
	MaxRetries *float64 `json:"maxRetries,omitempty" tf:"max_retries,omitempty"`
}

func (*CircuitBreakersParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakersParameters.

func (*CircuitBreakersParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudFunctionInitParameters

type CloudFunctionInitParameters struct {

	// A user-defined name of the Cloud Function.
	// The function name is case-sensitive and must be 1-63 characters long.
	// Example value: "func1".
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudfunctions/v1beta2.Function
	Function *string `json:"function,omitempty" tf:"function,omitempty"`

	// Reference to a Function in cloudfunctions to populate function.
	// +kubebuilder:validation:Optional
	FunctionRef *v1.Reference `json:"functionRef,omitempty" tf:"-"`

	// Selector for a Function in cloudfunctions to populate function.
	// +kubebuilder:validation:Optional
	FunctionSelector *v1.Selector `json:"functionSelector,omitempty" tf:"-"`

	// A template to parse function field from a request URL. URL mask allows
	// for routing to multiple Cloud Functions without having to create
	// multiple Network Endpoint Groups and backend services.
	// For example, request URLs "mydomain.com/function1" and "mydomain.com/function2"
	// can be backed by the same Serverless NEG with URL mask "/". The URL mask
	// will parse them to { function = "function1" } and { function = "function2" } respectively.
	URLMask *string `json:"urlMask,omitempty" tf:"url_mask,omitempty"`
}

func (*CloudFunctionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudFunctionInitParameters.

func (*CloudFunctionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudFunctionObservation

type CloudFunctionObservation struct {

	// A user-defined name of the Cloud Function.
	// The function name is case-sensitive and must be 1-63 characters long.
	// Example value: "func1".
	Function *string `json:"function,omitempty" tf:"function,omitempty"`

	// A template to parse function field from a request URL. URL mask allows
	// for routing to multiple Cloud Functions without having to create
	// multiple Network Endpoint Groups and backend services.
	// For example, request URLs "mydomain.com/function1" and "mydomain.com/function2"
	// can be backed by the same Serverless NEG with URL mask "/". The URL mask
	// will parse them to { function = "function1" } and { function = "function2" } respectively.
	URLMask *string `json:"urlMask,omitempty" tf:"url_mask,omitempty"`
}

func (*CloudFunctionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudFunctionObservation.

func (*CloudFunctionObservation) DeepCopyInto

func (in *CloudFunctionObservation) DeepCopyInto(out *CloudFunctionObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudFunctionParameters

type CloudFunctionParameters struct {

	// A user-defined name of the Cloud Function.
	// The function name is case-sensitive and must be 1-63 characters long.
	// Example value: "func1".
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudfunctions/v1beta2.Function
	// +kubebuilder:validation:Optional
	Function *string `json:"function,omitempty" tf:"function,omitempty"`

	// Reference to a Function in cloudfunctions to populate function.
	// +kubebuilder:validation:Optional
	FunctionRef *v1.Reference `json:"functionRef,omitempty" tf:"-"`

	// Selector for a Function in cloudfunctions to populate function.
	// +kubebuilder:validation:Optional
	FunctionSelector *v1.Selector `json:"functionSelector,omitempty" tf:"-"`

	// A template to parse function field from a request URL. URL mask allows
	// for routing to multiple Cloud Functions without having to create
	// multiple Network Endpoint Groups and backend services.
	// For example, request URLs "mydomain.com/function1" and "mydomain.com/function2"
	// can be backed by the same Serverless NEG with URL mask "/". The URL mask
	// will parse them to { function = "function1" } and { function = "function2" } respectively.
	// +kubebuilder:validation:Optional
	URLMask *string `json:"urlMask,omitempty" tf:"url_mask,omitempty"`
}

func (*CloudFunctionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudFunctionParameters.

func (*CloudFunctionParameters) DeepCopyInto

func (in *CloudFunctionParameters) DeepCopyInto(out *CloudFunctionParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudRunInitParameters

type CloudRunInitParameters struct {

	// Cloud Run service is the main resource of Cloud Run.
	// The service must be 1-63 characters long, and comply with RFC1035.
	// Example value: "run-service".
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudrun/v1beta2.Service
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// Reference to a Service in cloudrun to populate service.
	// +kubebuilder:validation:Optional
	ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"`

	// Selector for a Service in cloudrun to populate service.
	// +kubebuilder:validation:Optional
	ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"`

	// Cloud Run tag represents the "named-revision" to provide
	// additional fine-grained traffic routing information.
	// The tag must be 1-63 characters long, and comply with RFC1035.
	// Example value: "revision-0010".
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// A template to parse service and tag fields from a request URL.
	// URL mask allows for routing to multiple Run services without having
	// to create multiple network endpoint groups and backend services.
	// For example, request URLs "foo1.domain.com/bar1" and "foo1.domain.com/bar2"
	// an be backed by the same Serverless Network Endpoint Group (NEG) with
	// URL mask ".domain.com/". The URL mask will parse them to { service="bar1", tag="foo1" }
	// and { service="bar2", tag="foo2" } respectively.
	URLMask *string `json:"urlMask,omitempty" tf:"url_mask,omitempty"`
}

func (*CloudRunInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudRunInitParameters.

func (*CloudRunInitParameters) DeepCopyInto

func (in *CloudRunInitParameters) DeepCopyInto(out *CloudRunInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudRunObservation

type CloudRunObservation struct {

	// Cloud Run service is the main resource of Cloud Run.
	// The service must be 1-63 characters long, and comply with RFC1035.
	// Example value: "run-service".
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// Cloud Run tag represents the "named-revision" to provide
	// additional fine-grained traffic routing information.
	// The tag must be 1-63 characters long, and comply with RFC1035.
	// Example value: "revision-0010".
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// A template to parse service and tag fields from a request URL.
	// URL mask allows for routing to multiple Run services without having
	// to create multiple network endpoint groups and backend services.
	// For example, request URLs "foo1.domain.com/bar1" and "foo1.domain.com/bar2"
	// an be backed by the same Serverless Network Endpoint Group (NEG) with
	// URL mask ".domain.com/". The URL mask will parse them to { service="bar1", tag="foo1" }
	// and { service="bar2", tag="foo2" } respectively.
	URLMask *string `json:"urlMask,omitempty" tf:"url_mask,omitempty"`
}

func (*CloudRunObservation) DeepCopy

func (in *CloudRunObservation) DeepCopy() *CloudRunObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudRunObservation.

func (*CloudRunObservation) DeepCopyInto

func (in *CloudRunObservation) DeepCopyInto(out *CloudRunObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudRunParameters

type CloudRunParameters struct {

	// Cloud Run service is the main resource of Cloud Run.
	// The service must be 1-63 characters long, and comply with RFC1035.
	// Example value: "run-service".
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudrun/v1beta2.Service
	// +kubebuilder:validation:Optional
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// Reference to a Service in cloudrun to populate service.
	// +kubebuilder:validation:Optional
	ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"`

	// Selector for a Service in cloudrun to populate service.
	// +kubebuilder:validation:Optional
	ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"`

	// Cloud Run tag represents the "named-revision" to provide
	// additional fine-grained traffic routing information.
	// The tag must be 1-63 characters long, and comply with RFC1035.
	// Example value: "revision-0010".
	// +kubebuilder:validation:Optional
	Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`

	// A template to parse service and tag fields from a request URL.
	// URL mask allows for routing to multiple Run services without having
	// to create multiple network endpoint groups and backend services.
	// For example, request URLs "foo1.domain.com/bar1" and "foo1.domain.com/bar2"
	// an be backed by the same Serverless Network Endpoint Group (NEG) with
	// URL mask ".domain.com/". The URL mask will parse them to { service="bar1", tag="foo1" }
	// and { service="bar2", tag="foo2" } respectively.
	// +kubebuilder:validation:Optional
	URLMask *string `json:"urlMask,omitempty" tf:"url_mask,omitempty"`
}

func (*CloudRunParameters) DeepCopy

func (in *CloudRunParameters) DeepCopy() *CloudRunParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudRunParameters.

func (*CloudRunParameters) DeepCopyInto

func (in *CloudRunParameters) DeepCopyInto(out *CloudRunParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CollectorIlbInitParameters

type CollectorIlbInitParameters struct {

	// The URL of the forwarding rule.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.ForwardingRule
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	URL *string `json:"url,omitempty" tf:"url,omitempty"`

	// Reference to a ForwardingRule in compute to populate url.
	// +kubebuilder:validation:Optional
	URLRef *v1.Reference `json:"urlRef,omitempty" tf:"-"`

	// Selector for a ForwardingRule in compute to populate url.
	// +kubebuilder:validation:Optional
	URLSelector *v1.Selector `json:"urlSelector,omitempty" tf:"-"`
}

func (*CollectorIlbInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CollectorIlbInitParameters.

func (*CollectorIlbInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CollectorIlbObservation

type CollectorIlbObservation struct {

	// The URL of the forwarding rule.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*CollectorIlbObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CollectorIlbObservation.

func (*CollectorIlbObservation) DeepCopyInto

func (in *CollectorIlbObservation) DeepCopyInto(out *CollectorIlbObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CollectorIlbParameters

type CollectorIlbParameters struct {

	// The URL of the forwarding rule.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.ForwardingRule
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	URL *string `json:"url,omitempty" tf:"url,omitempty"`

	// Reference to a ForwardingRule in compute to populate url.
	// +kubebuilder:validation:Optional
	URLRef *v1.Reference `json:"urlRef,omitempty" tf:"-"`

	// Selector for a ForwardingRule in compute to populate url.
	// +kubebuilder:validation:Optional
	URLSelector *v1.Selector `json:"urlSelector,omitempty" tf:"-"`
}

func (*CollectorIlbParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CollectorIlbParameters.

func (*CollectorIlbParameters) DeepCopyInto

func (in *CollectorIlbParameters) DeepCopyInto(out *CollectorIlbParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConditionInitParameters

type ConditionInitParameters struct {
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*ConditionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionInitParameters.

func (*ConditionInitParameters) DeepCopyInto

func (in *ConditionInitParameters) DeepCopyInto(out *ConditionInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConditionObservation

type ConditionObservation struct {
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*ConditionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation.

func (*ConditionObservation) DeepCopyInto

func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConditionParameters

type ConditionParameters struct {

	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// +kubebuilder:validation:Optional
	Expression *string `json:"expression" tf:"expression,omitempty"`

	// +kubebuilder:validation:Optional
	Title *string `json:"title" tf:"title,omitempty"`
}

func (*ConditionParameters) DeepCopy

func (in *ConditionParameters) DeepCopy() *ConditionParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters.

func (*ConditionParameters) DeepCopyInto

func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfidentialInstanceConfigInitParameters

type ConfidentialInstanceConfigInitParameters struct {

	// Defines whether the instance should have confidential compute enabled with AMD SEV. on_host_maintenance has to be set to TERMINATE or this will fail to create the VM.
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute,omitempty" tf:"enable_confidential_compute,omitempty"`
}

func (*ConfidentialInstanceConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfidentialInstanceConfigInitParameters.

func (*ConfidentialInstanceConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfidentialInstanceConfigObservation

type ConfidentialInstanceConfigObservation struct {

	// Defines whether the instance should have confidential compute enabled with AMD SEV. on_host_maintenance has to be set to TERMINATE or this will fail to create the VM.
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute,omitempty" tf:"enable_confidential_compute,omitempty"`
}

func (*ConfidentialInstanceConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfidentialInstanceConfigObservation.

func (*ConfidentialInstanceConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfidentialInstanceConfigParameters

type ConfidentialInstanceConfigParameters struct {

	// Defines whether the instance should have confidential compute enabled with AMD SEV. on_host_maintenance has to be set to TERMINATE or this will fail to create the VM.
	// +kubebuilder:validation:Optional
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute" tf:"enable_confidential_compute,omitempty"`
}

func (*ConfidentialInstanceConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfidentialInstanceConfigParameters.

func (*ConfidentialInstanceConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigInitParameters

type ConfigInitParameters struct {

	// Set of IP addresses or ranges (IPV4 or IPV6) in CIDR notation
	// to match against inbound traffic. There is a limit of 10 IP ranges per rule. A value of * matches all IPs
	// (can be used to override the default behavior).
	// +listType=set
	SrcIPRanges []*string `json:"srcIpRanges,omitempty" tf:"src_ip_ranges,omitempty"`
}

func (*ConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigInitParameters.

func (*ConfigInitParameters) DeepCopyInto

func (in *ConfigInitParameters) DeepCopyInto(out *ConfigInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigObservation

type ConfigObservation struct {

	// Set of IP addresses or ranges (IPV4 or IPV6) in CIDR notation
	// to match against inbound traffic. There is a limit of 10 IP ranges per rule. A value of * matches all IPs
	// (can be used to override the default behavior).
	// +listType=set
	SrcIPRanges []*string `json:"srcIpRanges,omitempty" tf:"src_ip_ranges,omitempty"`
}

func (*ConfigObservation) DeepCopy

func (in *ConfigObservation) DeepCopy() *ConfigObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigObservation.

func (*ConfigObservation) DeepCopyInto

func (in *ConfigObservation) DeepCopyInto(out *ConfigObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigParameters

type ConfigParameters struct {

	// Set of IP addresses or ranges (IPV4 or IPV6) in CIDR notation
	// to match against inbound traffic. There is a limit of 10 IP ranges per rule. A value of * matches all IPs
	// (can be used to override the default behavior).
	// +kubebuilder:validation:Optional
	// +listType=set
	SrcIPRanges []*string `json:"srcIpRanges" tf:"src_ip_ranges,omitempty"`
}

func (*ConfigParameters) DeepCopy

func (in *ConfigParameters) DeepCopy() *ConfigParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigParameters.

func (*ConfigParameters) DeepCopyInto

func (in *ConfigParameters) DeepCopyInto(out *ConfigParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConsistentHashHTTPCookieInitParameters

type ConsistentHashHTTPCookieInitParameters struct {

	// Name of the resource. Provided by the client when the resource is
	// created. 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,omitempty" tf:"name,omitempty"`

	// Path to set for the cookie.
	Path *string `json:"path,omitempty" tf:"path,omitempty"`

	// The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s
	// (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
	TTL *HTTPCookieTTLInitParameters `json:"ttl,omitempty" tf:"ttl,omitempty"`
}

func (*ConsistentHashHTTPCookieInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsistentHashHTTPCookieInitParameters.

func (*ConsistentHashHTTPCookieInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConsistentHashHTTPCookieObservation

type ConsistentHashHTTPCookieObservation struct {

	// Name of the resource. Provided by the client when the resource is
	// created. 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,omitempty" tf:"name,omitempty"`

	// Path to set for the cookie.
	Path *string `json:"path,omitempty" tf:"path,omitempty"`

	// The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s
	// (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
	TTL *HTTPCookieTTLObservation `json:"ttl,omitempty" tf:"ttl,omitempty"`
}

func (*ConsistentHashHTTPCookieObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsistentHashHTTPCookieObservation.

func (*ConsistentHashHTTPCookieObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConsistentHashHTTPCookieParameters

type ConsistentHashHTTPCookieParameters struct {

	// Name of the resource. Provided by the client when the resource is
	// created. 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.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Path to set for the cookie.
	// +kubebuilder:validation:Optional
	Path *string `json:"path,omitempty" tf:"path,omitempty"`

	// The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s
	// (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
	// +kubebuilder:validation:Optional
	TTL *HTTPCookieTTLParameters `json:"ttl,omitempty" tf:"ttl,omitempty"`
}

func (*ConsistentHashHTTPCookieParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsistentHashHTTPCookieParameters.

func (*ConsistentHashHTTPCookieParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConsistentHashInitParameters

type ConsistentHashInitParameters struct {

	// Hash is based on HTTP Cookie. This field describes a HTTP cookie
	// that will be used as the hash key for the consistent hash load
	// balancer. If the cookie is not present, it will be generated.
	// This field is applicable if the sessionAffinity is set to HTTP_COOKIE.
	// Structure is documented below.
	HTTPCookie *HTTPCookieInitParameters `json:"httpCookie,omitempty" tf:"http_cookie,omitempty"`

	// The hash based on the value of the specified header field.
	// This field is applicable if the sessionAffinity is set to HEADER_FIELD.
	HTTPHeaderName *string `json:"httpHeaderName,omitempty" tf:"http_header_name,omitempty"`

	// The minimum number of virtual nodes to use for the hash ring.
	// Larger ring sizes result in more granular load
	// distributions. If the number of hosts in the load balancing pool
	// is larger than the ring size, each host will be assigned a single
	// virtual node.
	// Defaults to 1024.
	MinimumRingSize *float64 `json:"minimumRingSize,omitempty" tf:"minimum_ring_size,omitempty"`
}

func (*ConsistentHashInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsistentHashInitParameters.

func (*ConsistentHashInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConsistentHashObservation

type ConsistentHashObservation struct {

	// Hash is based on HTTP Cookie. This field describes a HTTP cookie
	// that will be used as the hash key for the consistent hash load
	// balancer. If the cookie is not present, it will be generated.
	// This field is applicable if the sessionAffinity is set to HTTP_COOKIE.
	// Structure is documented below.
	HTTPCookie *HTTPCookieObservation `json:"httpCookie,omitempty" tf:"http_cookie,omitempty"`

	// The hash based on the value of the specified header field.
	// This field is applicable if the sessionAffinity is set to HEADER_FIELD.
	HTTPHeaderName *string `json:"httpHeaderName,omitempty" tf:"http_header_name,omitempty"`

	// The minimum number of virtual nodes to use for the hash ring.
	// Larger ring sizes result in more granular load
	// distributions. If the number of hosts in the load balancing pool
	// is larger than the ring size, each host will be assigned a single
	// virtual node.
	// Defaults to 1024.
	MinimumRingSize *float64 `json:"minimumRingSize,omitempty" tf:"minimum_ring_size,omitempty"`
}

func (*ConsistentHashObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsistentHashObservation.

func (*ConsistentHashObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConsistentHashParameters

type ConsistentHashParameters struct {

	// Hash is based on HTTP Cookie. This field describes a HTTP cookie
	// that will be used as the hash key for the consistent hash load
	// balancer. If the cookie is not present, it will be generated.
	// This field is applicable if the sessionAffinity is set to HTTP_COOKIE.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HTTPCookie *HTTPCookieParameters `json:"httpCookie,omitempty" tf:"http_cookie,omitempty"`

	// The hash based on the value of the specified header field.
	// This field is applicable if the sessionAffinity is set to HEADER_FIELD.
	// +kubebuilder:validation:Optional
	HTTPHeaderName *string `json:"httpHeaderName,omitempty" tf:"http_header_name,omitempty"`

	// The minimum number of virtual nodes to use for the hash ring.
	// Larger ring sizes result in more granular load
	// distributions. If the number of hosts in the load balancing pool
	// is larger than the ring size, each host will be assigned a single
	// virtual node.
	// Defaults to 1024.
	// +kubebuilder:validation:Optional
	MinimumRingSize *float64 `json:"minimumRingSize,omitempty" tf:"minimum_ring_size,omitempty"`
}

func (*ConsistentHashParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsistentHashParameters.

func (*ConsistentHashParameters) DeepCopyInto

func (in *ConsistentHashParameters) DeepCopyInto(out *ConsistentHashParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CorsPolicyInitParameters

type CorsPolicyInitParameters struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	// which indicates that the CORS policy is in effect. Defaults to false.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*CorsPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CorsPolicyInitParameters.

func (*CorsPolicyInitParameters) DeepCopyInto

func (in *CorsPolicyInitParameters) DeepCopyInto(out *CorsPolicyInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CorsPolicyObservation

type CorsPolicyObservation struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	// which indicates that the CORS policy is in effect. Defaults to false.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*CorsPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CorsPolicyObservation.

func (*CorsPolicyObservation) DeepCopyInto

func (in *CorsPolicyObservation) DeepCopyInto(out *CorsPolicyObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CorsPolicyParameters

type CorsPolicyParameters struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	// +kubebuilder:validation:Optional
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	// +kubebuilder:validation:Optional
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	// +kubebuilder:validation:Optional
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	// +kubebuilder:validation:Optional
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	// +kubebuilder:validation:Optional
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	// which indicates that the CORS policy is in effect. Defaults to false.
	// +kubebuilder:validation:Optional
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	// +kubebuilder:validation:Optional
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	// +kubebuilder:validation:Optional
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*CorsPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CorsPolicyParameters.

func (*CorsPolicyParameters) DeepCopyInto

func (in *CorsPolicyParameters) DeepCopyInto(out *CorsPolicyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomPolicyInitParameters

type CustomPolicyInitParameters struct {

	// An optional, arbitrary JSON object with configuration data, understood
	// by a locally installed custom policy implementation.
	Data *string `json:"data,omitempty" tf:"data,omitempty"`

	// The name of a locality load balancer policy to be used. The value
	// should be one of the predefined ones as supported by localityLbPolicy,
	// although at the moment only ROUND_ROBIN is supported.
	// This field should only be populated when the customPolicy field is not
	// used.
	// Note that specifying the same policy more than once for a backend is
	// not a valid configuration and will be rejected.
	// The possible values are:
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*CustomPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomPolicyInitParameters.

func (*CustomPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomPolicyObservation

type CustomPolicyObservation struct {

	// An optional, arbitrary JSON object with configuration data, understood
	// by a locally installed custom policy implementation.
	Data *string `json:"data,omitempty" tf:"data,omitempty"`

	// The name of a locality load balancer policy to be used. The value
	// should be one of the predefined ones as supported by localityLbPolicy,
	// although at the moment only ROUND_ROBIN is supported.
	// This field should only be populated when the customPolicy field is not
	// used.
	// Note that specifying the same policy more than once for a backend is
	// not a valid configuration and will be rejected.
	// The possible values are:
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*CustomPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomPolicyObservation.

func (*CustomPolicyObservation) DeepCopyInto

func (in *CustomPolicyObservation) DeepCopyInto(out *CustomPolicyObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomPolicyParameters

type CustomPolicyParameters struct {

	// An optional, arbitrary JSON object with configuration data, understood
	// by a locally installed custom policy implementation.
	// +kubebuilder:validation:Optional
	Data *string `json:"data,omitempty" tf:"data,omitempty"`

	// The name of a locality load balancer policy to be used. The value
	// should be one of the predefined ones as supported by localityLbPolicy,
	// although at the moment only ROUND_ROBIN is supported.
	// This field should only be populated when the customPolicy field is not
	// used.
	// Note that specifying the same policy more than once for a backend is
	// not a valid configuration and will be rejected.
	// The possible values are:
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`
}

func (*CustomPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomPolicyParameters.

func (*CustomPolicyParameters) DeepCopyInto

func (in *CustomPolicyParameters) DeepCopyInto(out *CustomPolicyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DailyScheduleInitParameters

type DailyScheduleInitParameters struct {

	// Defines a schedule with units measured in days. The value determines how many days pass between the start of each cycle. Days in cycle for snapshot schedule policy must be 1.
	DaysInCycle *float64 `json:"daysInCycle,omitempty" tf:"days_in_cycle,omitempty"`

	// Time within the window to start the operations.
	// It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT.
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`
}

func (*DailyScheduleInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DailyScheduleInitParameters.

func (*DailyScheduleInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DailyScheduleObservation

type DailyScheduleObservation struct {

	// Defines a schedule with units measured in days. The value determines how many days pass between the start of each cycle. Days in cycle for snapshot schedule policy must be 1.
	DaysInCycle *float64 `json:"daysInCycle,omitempty" tf:"days_in_cycle,omitempty"`

	// Time within the window to start the operations.
	// It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT.
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`
}

func (*DailyScheduleObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DailyScheduleObservation.

func (*DailyScheduleObservation) DeepCopyInto

func (in *DailyScheduleObservation) DeepCopyInto(out *DailyScheduleObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DailyScheduleParameters

type DailyScheduleParameters struct {

	// Defines a schedule with units measured in days. The value determines how many days pass between the start of each cycle. Days in cycle for snapshot schedule policy must be 1.
	// +kubebuilder:validation:Optional
	DaysInCycle *float64 `json:"daysInCycle" tf:"days_in_cycle,omitempty"`

	// Time within the window to start the operations.
	// It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT.
	// +kubebuilder:validation:Optional
	StartTime *string `json:"startTime" tf:"start_time,omitempty"`
}

func (*DailyScheduleParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DailyScheduleParameters.

func (*DailyScheduleParameters) DeepCopyInto

func (in *DailyScheduleParameters) DeepCopyInto(out *DailyScheduleParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DayOfWeeksInitParameters

type DayOfWeeksInitParameters struct {

	// The day of the week to create the snapshot. e.g. MONDAY
	// Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
	Day *string `json:"day,omitempty" tf:"day,omitempty"`

	// Time within the window to start the operations.
	// It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT.
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`
}

func (*DayOfWeeksInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DayOfWeeksInitParameters.

func (*DayOfWeeksInitParameters) DeepCopyInto

func (in *DayOfWeeksInitParameters) DeepCopyInto(out *DayOfWeeksInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DayOfWeeksObservation

type DayOfWeeksObservation struct {

	// The day of the week to create the snapshot. e.g. MONDAY
	// Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
	Day *string `json:"day,omitempty" tf:"day,omitempty"`

	// Time within the window to start the operations.
	// It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT.
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`
}

func (*DayOfWeeksObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DayOfWeeksObservation.

func (*DayOfWeeksObservation) DeepCopyInto

func (in *DayOfWeeksObservation) DeepCopyInto(out *DayOfWeeksObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DayOfWeeksParameters

type DayOfWeeksParameters struct {

	// The day of the week to create the snapshot. e.g. MONDAY
	// Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
	// +kubebuilder:validation:Optional
	Day *string `json:"day" tf:"day,omitempty"`

	// Time within the window to start the operations.
	// It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT.
	// +kubebuilder:validation:Optional
	StartTime *string `json:"startTime" tf:"start_time,omitempty"`
}

func (*DayOfWeeksParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DayOfWeeksParameters.

func (*DayOfWeeksParameters) DeepCopyInto

func (in *DayOfWeeksParameters) DeepCopyInto(out *DayOfWeeksParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionCorsPolicyInitParameters

type DefaultRouteActionCorsPolicyInitParameters struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*DefaultRouteActionCorsPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionCorsPolicyInitParameters.

func (*DefaultRouteActionCorsPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionCorsPolicyObservation

type DefaultRouteActionCorsPolicyObservation struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*DefaultRouteActionCorsPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionCorsPolicyObservation.

func (*DefaultRouteActionCorsPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionCorsPolicyParameters

type DefaultRouteActionCorsPolicyParameters struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	// +kubebuilder:validation:Optional
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	// +kubebuilder:validation:Optional
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	// +kubebuilder:validation:Optional
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	// +kubebuilder:validation:Optional
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	// +kubebuilder:validation:Optional
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	// +kubebuilder:validation:Optional
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	// +kubebuilder:validation:Optional
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	// +kubebuilder:validation:Optional
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*DefaultRouteActionCorsPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionCorsPolicyParameters.

func (*DefaultRouteActionCorsPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionFaultInjectionPolicyAbortInitParameters

type DefaultRouteActionFaultInjectionPolicyAbortInitParameters struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*DefaultRouteActionFaultInjectionPolicyAbortInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyAbortInitParameters.

func (*DefaultRouteActionFaultInjectionPolicyAbortInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionFaultInjectionPolicyAbortObservation

type DefaultRouteActionFaultInjectionPolicyAbortObservation struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*DefaultRouteActionFaultInjectionPolicyAbortObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyAbortObservation.

func (*DefaultRouteActionFaultInjectionPolicyAbortObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionFaultInjectionPolicyAbortParameters

type DefaultRouteActionFaultInjectionPolicyAbortParameters struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	// +kubebuilder:validation:Optional
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	// +kubebuilder:validation:Optional
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*DefaultRouteActionFaultInjectionPolicyAbortParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyAbortParameters.

func (*DefaultRouteActionFaultInjectionPolicyAbortParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters

type DefaultRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*DefaultRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters.

func (*DefaultRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation

type DefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*DefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation.

func (*DefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters

type DefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*DefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters.

func (*DefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionFaultInjectionPolicyDelayInitParameters

type DefaultRouteActionFaultInjectionPolicyDelayInitParameters struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	FixedDelay *DefaultRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*DefaultRouteActionFaultInjectionPolicyDelayInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyDelayInitParameters.

func (*DefaultRouteActionFaultInjectionPolicyDelayInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionFaultInjectionPolicyDelayObservation

type DefaultRouteActionFaultInjectionPolicyDelayObservation struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	FixedDelay *DefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*DefaultRouteActionFaultInjectionPolicyDelayObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyDelayObservation.

func (*DefaultRouteActionFaultInjectionPolicyDelayObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionFaultInjectionPolicyDelayParameters

type DefaultRouteActionFaultInjectionPolicyDelayParameters struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FixedDelay *DefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	// +kubebuilder:validation:Optional
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*DefaultRouteActionFaultInjectionPolicyDelayParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyDelayParameters.

func (*DefaultRouteActionFaultInjectionPolicyDelayParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionFaultInjectionPolicyInitParameters

type DefaultRouteActionFaultInjectionPolicyInitParameters struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	Abort *DefaultRouteActionFaultInjectionPolicyAbortInitParameters `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	Delay *DefaultRouteActionFaultInjectionPolicyDelayInitParameters `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*DefaultRouteActionFaultInjectionPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyInitParameters.

func (*DefaultRouteActionFaultInjectionPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionFaultInjectionPolicyObservation

type DefaultRouteActionFaultInjectionPolicyObservation struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	Abort *DefaultRouteActionFaultInjectionPolicyAbortObservation `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	Delay *DefaultRouteActionFaultInjectionPolicyDelayObservation `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*DefaultRouteActionFaultInjectionPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyObservation.

func (*DefaultRouteActionFaultInjectionPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionFaultInjectionPolicyParameters

type DefaultRouteActionFaultInjectionPolicyParameters struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Abort *DefaultRouteActionFaultInjectionPolicyAbortParameters `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Delay *DefaultRouteActionFaultInjectionPolicyDelayParameters `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*DefaultRouteActionFaultInjectionPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyParameters.

func (*DefaultRouteActionFaultInjectionPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionInitParameters

type DefaultRouteActionInitParameters struct {

	// The specification for allowing client side cross-origin requests. Please see
	// W3C Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	CorsPolicy *CorsPolicyInitParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure.
	// As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service.
	// Similarly requests from clients can be aborted by the load balancer for a percentage of requests.
	// timeout and retryPolicy is ignored by clients that are configured with a faultInjectionPolicy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection.
	// Fault injection is not supported with the global external HTTP(S) load balancer (classic). To see which load balancers support fault injection, see Load balancing: Routing and traffic management features.
	// Structure is documented below.
	FaultInjectionPolicy *FaultInjectionPolicyInitParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service.
	// The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow.
	// Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
	// Structure is documented below.
	RequestMirrorPolicy *RequestMirrorPolicyInitParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	RetryPolicy *RetryPolicyInitParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as end-of-stream) up until the response has been processed. Timeout includes all retries.
	// If not specified, this field uses the largest timeout among all backend services associated with the route.
	// Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
	// Structure is documented below.
	Timeout *TimeoutInitParameters `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, before forwarding the request to the matched service.
	// urlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers.
	// Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
	// Structure is documented below.
	URLRewrite *URLRewriteInitParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number.
	// After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.
	// Structure is documented below.
	WeightedBackendServices []WeightedBackendServicesInitParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*DefaultRouteActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionInitParameters.

func (*DefaultRouteActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionObservation

type DefaultRouteActionObservation struct {

	// The specification for allowing client side cross-origin requests. Please see
	// W3C Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	CorsPolicy *CorsPolicyObservation `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure.
	// As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service.
	// Similarly requests from clients can be aborted by the load balancer for a percentage of requests.
	// timeout and retryPolicy is ignored by clients that are configured with a faultInjectionPolicy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection.
	// Fault injection is not supported with the global external HTTP(S) load balancer (classic). To see which load balancers support fault injection, see Load balancing: Routing and traffic management features.
	// Structure is documented below.
	FaultInjectionPolicy *FaultInjectionPolicyObservation `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service.
	// The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow.
	// Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
	// Structure is documented below.
	RequestMirrorPolicy *RequestMirrorPolicyObservation `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	RetryPolicy *RetryPolicyObservation `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as end-of-stream) up until the response has been processed. Timeout includes all retries.
	// If not specified, this field uses the largest timeout among all backend services associated with the route.
	// Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
	// Structure is documented below.
	Timeout *TimeoutObservation `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, before forwarding the request to the matched service.
	// urlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers.
	// Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
	// Structure is documented below.
	URLRewrite *URLRewriteObservation `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number.
	// After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.
	// Structure is documented below.
	WeightedBackendServices []WeightedBackendServicesObservation `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*DefaultRouteActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionObservation.

func (*DefaultRouteActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionParameters

type DefaultRouteActionParameters struct {

	// The specification for allowing client side cross-origin requests. Please see
	// W3C Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CorsPolicy *CorsPolicyParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure.
	// As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service.
	// Similarly requests from clients can be aborted by the load balancer for a percentage of requests.
	// timeout and retryPolicy is ignored by clients that are configured with a faultInjectionPolicy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection.
	// Fault injection is not supported with the global external HTTP(S) load balancer (classic). To see which load balancers support fault injection, see Load balancing: Routing and traffic management features.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FaultInjectionPolicy *FaultInjectionPolicyParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service.
	// The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow.
	// Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestMirrorPolicy *RequestMirrorPolicyParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RetryPolicy *RetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as end-of-stream) up until the response has been processed. Timeout includes all retries.
	// If not specified, this field uses the largest timeout among all backend services associated with the route.
	// Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Timeout *TimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, before forwarding the request to the matched service.
	// urlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers.
	// Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	URLRewrite *URLRewriteParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number.
	// After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	WeightedBackendServices []WeightedBackendServicesParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*DefaultRouteActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionParameters.

func (*DefaultRouteActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionRequestMirrorPolicyInitParameters

type DefaultRouteActionRequestMirrorPolicyInitParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`
}

func (*DefaultRouteActionRequestMirrorPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionRequestMirrorPolicyInitParameters.

func (*DefaultRouteActionRequestMirrorPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionRequestMirrorPolicyObservation

type DefaultRouteActionRequestMirrorPolicyObservation struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`
}

func (*DefaultRouteActionRequestMirrorPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionRequestMirrorPolicyObservation.

func (*DefaultRouteActionRequestMirrorPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionRequestMirrorPolicyParameters

type DefaultRouteActionRequestMirrorPolicyParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +kubebuilder:validation:Optional
	BackendService *string `json:"backendService" tf:"backend_service,omitempty"`
}

func (*DefaultRouteActionRequestMirrorPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionRequestMirrorPolicyParameters.

func (*DefaultRouteActionRequestMirrorPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionRetryPolicyInitParameters

type DefaultRouteActionRetryPolicyInitParameters struct {

	// Specifies the allowed number retries. This number must be > 0.
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	PerTryTimeout *DefaultRouteActionRetryPolicyPerTryTimeoutInitParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*DefaultRouteActionRetryPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionRetryPolicyInitParameters.

func (*DefaultRouteActionRetryPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionRetryPolicyObservation

type DefaultRouteActionRetryPolicyObservation struct {

	// Specifies the allowed number retries. This number must be > 0.
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	PerTryTimeout *DefaultRouteActionRetryPolicyPerTryTimeoutObservation `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*DefaultRouteActionRetryPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionRetryPolicyObservation.

func (*DefaultRouteActionRetryPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionRetryPolicyParameters

type DefaultRouteActionRetryPolicyParameters struct {

	// Specifies the allowed number retries. This number must be > 0.
	// +kubebuilder:validation:Optional
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	PerTryTimeout *DefaultRouteActionRetryPolicyPerTryTimeoutParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	// +kubebuilder:validation:Optional
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*DefaultRouteActionRetryPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionRetryPolicyParameters.

func (*DefaultRouteActionRetryPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionRetryPolicyPerTryTimeoutInitParameters

type DefaultRouteActionRetryPolicyPerTryTimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*DefaultRouteActionRetryPolicyPerTryTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionRetryPolicyPerTryTimeoutInitParameters.

func (*DefaultRouteActionRetryPolicyPerTryTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionRetryPolicyPerTryTimeoutObservation

type DefaultRouteActionRetryPolicyPerTryTimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*DefaultRouteActionRetryPolicyPerTryTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionRetryPolicyPerTryTimeoutObservation.

func (*DefaultRouteActionRetryPolicyPerTryTimeoutObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionRetryPolicyPerTryTimeoutParameters

type DefaultRouteActionRetryPolicyPerTryTimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*DefaultRouteActionRetryPolicyPerTryTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionRetryPolicyPerTryTimeoutParameters.

func (*DefaultRouteActionRetryPolicyPerTryTimeoutParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionTimeoutInitParameters

type DefaultRouteActionTimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*DefaultRouteActionTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionTimeoutInitParameters.

func (*DefaultRouteActionTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionTimeoutObservation

type DefaultRouteActionTimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*DefaultRouteActionTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionTimeoutObservation.

func (*DefaultRouteActionTimeoutObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionTimeoutParameters

type DefaultRouteActionTimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*DefaultRouteActionTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionTimeoutParameters.

func (*DefaultRouteActionTimeoutParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionURLRewriteInitParameters

type DefaultRouteActionURLRewriteInitParameters struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*DefaultRouteActionURLRewriteInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionURLRewriteInitParameters.

func (*DefaultRouteActionURLRewriteInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionURLRewriteObservation

type DefaultRouteActionURLRewriteObservation struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*DefaultRouteActionURLRewriteObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionURLRewriteObservation.

func (*DefaultRouteActionURLRewriteObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionURLRewriteParameters

type DefaultRouteActionURLRewriteParameters struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	// +kubebuilder:validation:Optional
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*DefaultRouteActionURLRewriteParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionURLRewriteParameters.

func (*DefaultRouteActionURLRewriteParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionWeightedBackendServicesHeaderActionInitParameters

type DefaultRouteActionWeightedBackendServicesHeaderActionInitParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*DefaultRouteActionWeightedBackendServicesHeaderActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesHeaderActionInitParameters.

func (*DefaultRouteActionWeightedBackendServicesHeaderActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionWeightedBackendServicesHeaderActionObservation

type DefaultRouteActionWeightedBackendServicesHeaderActionObservation struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*DefaultRouteActionWeightedBackendServicesHeaderActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesHeaderActionObservation.

func (*DefaultRouteActionWeightedBackendServicesHeaderActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionWeightedBackendServicesHeaderActionParameters

type DefaultRouteActionWeightedBackendServicesHeaderActionParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestHeadersToAdd []DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	// +kubebuilder:validation:Optional
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ResponseHeadersToAdd []DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	// +kubebuilder:validation:Optional
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*DefaultRouteActionWeightedBackendServicesHeaderActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesHeaderActionParameters.

func (*DefaultRouteActionWeightedBackendServicesHeaderActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters

type DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters.

func (*DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation

type DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation.

func (*DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters

type DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters.

func (*DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters

type DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters.

func (*DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation

type DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation.

func (*DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters

type DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters.

func (*DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionWeightedBackendServicesInitParameters

type DefaultRouteActionWeightedBackendServicesInitParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *DefaultRouteActionWeightedBackendServicesHeaderActionInitParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*DefaultRouteActionWeightedBackendServicesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesInitParameters.

func (*DefaultRouteActionWeightedBackendServicesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionWeightedBackendServicesObservation

type DefaultRouteActionWeightedBackendServicesObservation struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *DefaultRouteActionWeightedBackendServicesHeaderActionObservation `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*DefaultRouteActionWeightedBackendServicesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesObservation.

func (*DefaultRouteActionWeightedBackendServicesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRouteActionWeightedBackendServicesParameters

type DefaultRouteActionWeightedBackendServicesParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +kubebuilder:validation:Optional
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HeaderAction *DefaultRouteActionWeightedBackendServicesHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	// +kubebuilder:validation:Optional
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*DefaultRouteActionWeightedBackendServicesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesParameters.

func (*DefaultRouteActionWeightedBackendServicesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultURLRedirectInitParameters

type DefaultURLRedirectInitParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https. If set to
	// false, the URL scheme of the redirected request will remain the same as that of the
	// request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this
	// true for TargetHttpsProxy is not permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one that was
	// supplied in the request. The value must be between 1 and 255 characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one that was
	// supplied in the request. pathRedirect cannot be supplied together with
	// prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the
	// original request will be used for the redirect. The value must be between 1 and 1024
	// characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
	// retaining the remaining portion of the URL before redirecting the request.
	// prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or
	// neither. If neither is supplied, the path of the original request will be used for
	// the redirect. The value must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is removed prior
	// to redirecting the request. If set to false, the query portion of the original URL is
	// retained.
	// This field is required to ensure an empty block is not set. The normal default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*DefaultURLRedirectInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultURLRedirectInitParameters.

func (*DefaultURLRedirectInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultURLRedirectObservation

type DefaultURLRedirectObservation struct {

	// If set to true, the URL scheme in the redirected request is set to https. If set to
	// false, the URL scheme of the redirected request will remain the same as that of the
	// request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this
	// true for TargetHttpsProxy is not permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one that was
	// supplied in the request. The value must be between 1 and 255 characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one that was
	// supplied in the request. pathRedirect cannot be supplied together with
	// prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the
	// original request will be used for the redirect. The value must be between 1 and 1024
	// characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
	// retaining the remaining portion of the URL before redirecting the request.
	// prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or
	// neither. If neither is supplied, the path of the original request will be used for
	// the redirect. The value must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is removed prior
	// to redirecting the request. If set to false, the query portion of the original URL is
	// retained.
	// This field is required to ensure an empty block is not set. The normal default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*DefaultURLRedirectObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultURLRedirectObservation.

func (*DefaultURLRedirectObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultURLRedirectParameters

type DefaultURLRedirectParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https. If set to
	// false, the URL scheme of the redirected request will remain the same as that of the
	// request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this
	// true for TargetHttpsProxy is not permitted. The default is set to false.
	// +kubebuilder:validation:Optional
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one that was
	// supplied in the request. The value must be between 1 and 255 characters.
	// +kubebuilder:validation:Optional
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one that was
	// supplied in the request. pathRedirect cannot be supplied together with
	// prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the
	// original request will be used for the redirect. The value must be between 1 and 1024
	// characters.
	// +kubebuilder:validation:Optional
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
	// retaining the remaining portion of the URL before redirecting the request.
	// prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or
	// neither. If neither is supplied, the path of the original request will be used for
	// the redirect. The value must be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	// +kubebuilder:validation:Optional
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is removed prior
	// to redirecting the request. If set to false, the query portion of the original URL is
	// retained.
	// This field is required to ensure an empty block is not set. The normal default value is false.
	// +kubebuilder:validation:Optional
	StripQuery *bool `json:"stripQuery" tf:"strip_query,omitempty"`
}

func (*DefaultURLRedirectParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultURLRedirectParameters.

func (*DefaultURLRedirectParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DelayFixedDelayInitParameters

type DelayFixedDelayInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*DelayFixedDelayInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelayFixedDelayInitParameters.

func (*DelayFixedDelayInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DelayFixedDelayObservation

type DelayFixedDelayObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*DelayFixedDelayObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelayFixedDelayObservation.

func (*DelayFixedDelayObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DelayFixedDelayParameters

type DelayFixedDelayParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds" tf:"seconds,omitempty"`
}

func (*DelayFixedDelayParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelayFixedDelayParameters.

func (*DelayFixedDelayParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DelayInitParameters

type DelayInitParameters struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	FixedDelay *FixedDelayInitParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*DelayInitParameters) DeepCopy

func (in *DelayInitParameters) DeepCopy() *DelayInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelayInitParameters.

func (*DelayInitParameters) DeepCopyInto

func (in *DelayInitParameters) DeepCopyInto(out *DelayInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DelayObservation

type DelayObservation struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	FixedDelay *FixedDelayObservation `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*DelayObservation) DeepCopy

func (in *DelayObservation) DeepCopy() *DelayObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelayObservation.

func (*DelayObservation) DeepCopyInto

func (in *DelayObservation) DeepCopyInto(out *DelayObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DelayParameters

type DelayParameters struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FixedDelay *FixedDelayParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	// +kubebuilder:validation:Optional
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*DelayParameters) DeepCopy

func (in *DelayParameters) DeepCopy() *DelayParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelayParameters.

func (*DelayParameters) DeepCopyInto

func (in *DelayParameters) DeepCopyInto(out *DelayParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DenyInitParameters

type DenyInitParameters struct {

	// An optional list of ports to which this rule applies. This field
	// is only applicable for 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"].
	Ports []*string `json:"ports,omitempty" tf:"ports,omitempty"`

	// 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, sctp, ipip, all), or the IP protocol number.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*DenyInitParameters) DeepCopy

func (in *DenyInitParameters) DeepCopy() *DenyInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DenyInitParameters.

func (*DenyInitParameters) DeepCopyInto

func (in *DenyInitParameters) DeepCopyInto(out *DenyInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DenyObservation

type DenyObservation struct {

	// An optional list of ports to which this rule applies. This field
	// is only applicable for 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"].
	Ports []*string `json:"ports,omitempty" tf:"ports,omitempty"`

	// 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, sctp, ipip, all), or the IP protocol number.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*DenyObservation) DeepCopy

func (in *DenyObservation) DeepCopy() *DenyObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DenyObservation.

func (*DenyObservation) DeepCopyInto

func (in *DenyObservation) DeepCopyInto(out *DenyObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DenyParameters

type DenyParameters struct {

	// An optional list of ports to which this rule applies. This field
	// is only applicable for 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"].
	// +kubebuilder:validation:Optional
	Ports []*string `json:"ports,omitempty" tf:"ports,omitempty"`

	// 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, sctp, ipip, all), or the IP protocol number.
	// +kubebuilder:validation:Optional
	Protocol *string `json:"protocol" tf:"protocol,omitempty"`
}

func (*DenyParameters) DeepCopy

func (in *DenyParameters) DeepCopy() *DenyParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DenyParameters.

func (*DenyParameters) DeepCopyInto

func (in *DenyParameters) DeepCopyInto(out *DenyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Disk

type Disk struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              DiskSpec   `json:"spec"`
	Status            DiskStatus `json:"status,omitempty"`
}

Disk is the Schema for the Disks API. Persistent disks are durable storage devices that function similarly to the physical disks in a desktop or a server. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*Disk) DeepCopy

func (in *Disk) DeepCopy() *Disk

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Disk.

func (*Disk) DeepCopyInto

func (in *Disk) DeepCopyInto(out *Disk)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Disk) DeepCopyObject

func (in *Disk) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Disk) GetCondition

func (mg *Disk) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Disk.

func (*Disk) GetConnectionDetailsMapping

func (tr *Disk) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Disk

func (*Disk) GetDeletionPolicy

func (mg *Disk) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Disk.

func (*Disk) GetID

func (tr *Disk) GetID() string

GetID returns ID of underlying Terraform resource of this Disk

func (*Disk) GetInitParameters

func (tr *Disk) GetInitParameters() (map[string]any, error)

GetInitParameters of this Disk

func (*Disk) GetManagementPolicies

func (mg *Disk) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Disk.

func (*Disk) GetMergedParameters

func (tr *Disk) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Disk

func (*Disk) GetObservation

func (tr *Disk) GetObservation() (map[string]any, error)

GetObservation of this Disk

func (*Disk) GetParameters

func (tr *Disk) GetParameters() (map[string]any, error)

GetParameters of this Disk

func (*Disk) GetProviderConfigReference

func (mg *Disk) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Disk.

func (*Disk) GetPublishConnectionDetailsTo

func (mg *Disk) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Disk.

func (*Disk) GetTerraformResourceType

func (mg *Disk) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Disk

func (*Disk) GetTerraformSchemaVersion

func (tr *Disk) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Disk) GetWriteConnectionSecretToReference

func (mg *Disk) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Disk.

func (*Disk) Hub

func (tr *Disk) Hub()

Hub marks this type as a conversion hub.

func (*Disk) LateInitialize

func (tr *Disk) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Disk using its observed tfState. returns True if there are any spec changes for the resource.

func (*Disk) ResolveReferences

func (mg *Disk) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Disk.

func (*Disk) SetConditions

func (mg *Disk) SetConditions(c ...xpv1.Condition)

SetConditions of this Disk.

func (*Disk) SetDeletionPolicy

func (mg *Disk) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Disk.

func (*Disk) SetManagementPolicies

func (mg *Disk) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Disk.

func (*Disk) SetObservation

func (tr *Disk) SetObservation(obs map[string]any) error

SetObservation for this Disk

func (*Disk) SetParameters

func (tr *Disk) SetParameters(params map[string]any) error

SetParameters for this Disk

func (*Disk) SetProviderConfigReference

func (mg *Disk) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Disk.

func (*Disk) SetPublishConnectionDetailsTo

func (mg *Disk) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Disk.

func (*Disk) SetWriteConnectionSecretToReference

func (mg *Disk) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Disk.

type DiskConsistencyGroupPolicyInitParameters

type DiskConsistencyGroupPolicyInitParameters struct {

	// Enable disk consistency on the resource policy.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}

func (*DiskConsistencyGroupPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskConsistencyGroupPolicyInitParameters.

func (*DiskConsistencyGroupPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskConsistencyGroupPolicyObservation

type DiskConsistencyGroupPolicyObservation struct {

	// Enable disk consistency on the resource policy.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}

func (*DiskConsistencyGroupPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskConsistencyGroupPolicyObservation.

func (*DiskConsistencyGroupPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskConsistencyGroupPolicyParameters

type DiskConsistencyGroupPolicyParameters struct {

	// Enable disk consistency on the resource policy.
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled" tf:"enabled,omitempty"`
}

func (*DiskConsistencyGroupPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskConsistencyGroupPolicyParameters.

func (*DiskConsistencyGroupPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskDiskEncryptionKeyInitParameters

type DiskDiskEncryptionKeyInitParameters struct {

	// The self link of the encryption key that is
	// stored in Google Cloud KMS.
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`
}

func (*DiskDiskEncryptionKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskDiskEncryptionKeyInitParameters.

func (*DiskDiskEncryptionKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskDiskEncryptionKeyObservation

type DiskDiskEncryptionKeyObservation struct {

	// The self link of the encryption key that is
	// stored in Google Cloud KMS.
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`
}

func (*DiskDiskEncryptionKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskDiskEncryptionKeyObservation.

func (*DiskDiskEncryptionKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskDiskEncryptionKeyParameters

type DiskDiskEncryptionKeyParameters struct {

	// The self link of the encryption key that is
	// stored in Google Cloud KMS.
	// +kubebuilder:validation:Optional
	KMSKeySelfLink *string `json:"kmsKeySelfLink" tf:"kms_key_self_link,omitempty"`
}

func (*DiskDiskEncryptionKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskDiskEncryptionKeyParameters.

func (*DiskDiskEncryptionKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskEncryptionKeyInitParameters

type DiskEncryptionKeyInitParameters struct {

	// The self link of the encryption key used to encrypt the disk. Also called KmsKeyName
	// in the cloud console. Your project's Compute Engine System service account
	// (service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com) must have
	// roles/cloudkms.cryptoKeyEncrypterDecrypter to use this feature.
	// See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account used for the encryption request for the given KMS key.
	// If absent, the Compute Engine Service Agent service account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`
}

func (*DiskEncryptionKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionKeyInitParameters.

func (*DiskEncryptionKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskEncryptionKeyObservation

type DiskEncryptionKeyObservation struct {

	// The self link of the encryption key used to encrypt the disk. Also called KmsKeyName
	// in the cloud console. Your project's Compute Engine System service account
	// (service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com) must have
	// roles/cloudkms.cryptoKeyEncrypterDecrypter to use this feature.
	// See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account used for the encryption request for the given KMS key.
	// If absent, the Compute Engine Service Agent service account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`

	// (Output)
	// The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
	// encryption key that protects this resource.
	Sha256 *string `json:"sha256,omitempty" tf:"sha256,omitempty"`
}

func (*DiskEncryptionKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionKeyObservation.

func (*DiskEncryptionKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskEncryptionKeyParameters

type DiskEncryptionKeyParameters struct {

	// The self link of the encryption key used to encrypt the disk. Also called KmsKeyName
	// in the cloud console. Your project's Compute Engine System service account
	// (service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com) must have
	// roles/cloudkms.cryptoKeyEncrypterDecrypter to use this feature.
	// See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
	// +kubebuilder:validation:Optional
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account used for the encryption request for the given KMS key.
	// If absent, the Compute Engine Service Agent service account is used.
	// +kubebuilder:validation:Optional
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`

	// Specifies a 256-bit customer-supplied encryption key, encoded in
	// RFC 4648 base64 to either encrypt or decrypt this resource.
	// Note: This property is sensitive and will not be displayed in the plan.
	// +kubebuilder:validation:Optional
	RawKeySecretRef *v1.SecretKeySelector `json:"rawKeySecretRef,omitempty" tf:"-"`

	// Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
	// customer-supplied encryption key to either encrypt or decrypt
	// this resource. You can provide either the rawKey or the rsaEncryptedKey.
	// Note: This property is sensitive and will not be displayed in the plan.
	// +kubebuilder:validation:Optional
	RsaEncryptedKeySecretRef *v1.SecretKeySelector `json:"rsaEncryptedKeySecretRef,omitempty" tf:"-"`
}

func (*DiskEncryptionKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionKeyParameters.

func (*DiskEncryptionKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskIAMMember

type DiskIAMMember struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.member) || (has(self.initProvider) && has(self.initProvider.member))",message="spec.forProvider.member is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.role) || (has(self.initProvider) && has(self.initProvider.role))",message="spec.forProvider.role is a required parameter"
	Spec   DiskIAMMemberSpec   `json:"spec"`
	Status DiskIAMMemberStatus `json:"status,omitempty"`
}

DiskIAMMember is the Schema for the DiskIAMMembers API. <no value> +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*DiskIAMMember) DeepCopy

func (in *DiskIAMMember) DeepCopy() *DiskIAMMember

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMMember.

func (*DiskIAMMember) DeepCopyInto

func (in *DiskIAMMember) DeepCopyInto(out *DiskIAMMember)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DiskIAMMember) DeepCopyObject

func (in *DiskIAMMember) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DiskIAMMember) GetCondition

func (mg *DiskIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this DiskIAMMember.

func (*DiskIAMMember) GetConnectionDetailsMapping

func (tr *DiskIAMMember) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this DiskIAMMember

func (*DiskIAMMember) GetDeletionPolicy

func (mg *DiskIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this DiskIAMMember.

func (*DiskIAMMember) GetID

func (tr *DiskIAMMember) GetID() string

GetID returns ID of underlying Terraform resource of this DiskIAMMember

func (*DiskIAMMember) GetInitParameters

func (tr *DiskIAMMember) GetInitParameters() (map[string]any, error)

GetInitParameters of this DiskIAMMember

func (*DiskIAMMember) GetManagementPolicies

func (mg *DiskIAMMember) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this DiskIAMMember.

func (*DiskIAMMember) GetMergedParameters

func (tr *DiskIAMMember) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this DiskIAMMember

func (*DiskIAMMember) GetObservation

func (tr *DiskIAMMember) GetObservation() (map[string]any, error)

GetObservation of this DiskIAMMember

func (*DiskIAMMember) GetParameters

func (tr *DiskIAMMember) GetParameters() (map[string]any, error)

GetParameters of this DiskIAMMember

func (*DiskIAMMember) GetProviderConfigReference

func (mg *DiskIAMMember) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this DiskIAMMember.

func (*DiskIAMMember) GetPublishConnectionDetailsTo

func (mg *DiskIAMMember) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this DiskIAMMember.

func (*DiskIAMMember) GetTerraformResourceType

func (mg *DiskIAMMember) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this DiskIAMMember

func (*DiskIAMMember) GetTerraformSchemaVersion

func (tr *DiskIAMMember) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*DiskIAMMember) GetWriteConnectionSecretToReference

func (mg *DiskIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this DiskIAMMember.

func (*DiskIAMMember) Hub

func (tr *DiskIAMMember) Hub()

Hub marks this type as a conversion hub.

func (*DiskIAMMember) LateInitialize

func (tr *DiskIAMMember) LateInitialize(attrs []byte) (bool, error)

LateInitialize this DiskIAMMember using its observed tfState. returns True if there are any spec changes for the resource.

func (*DiskIAMMember) ResolveReferences

func (mg *DiskIAMMember) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this DiskIAMMember.

func (*DiskIAMMember) SetConditions

func (mg *DiskIAMMember) SetConditions(c ...xpv1.Condition)

SetConditions of this DiskIAMMember.

func (*DiskIAMMember) SetDeletionPolicy

func (mg *DiskIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this DiskIAMMember.

func (*DiskIAMMember) SetManagementPolicies

func (mg *DiskIAMMember) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this DiskIAMMember.

func (*DiskIAMMember) SetObservation

func (tr *DiskIAMMember) SetObservation(obs map[string]any) error

SetObservation for this DiskIAMMember

func (*DiskIAMMember) SetParameters

func (tr *DiskIAMMember) SetParameters(params map[string]any) error

SetParameters for this DiskIAMMember

func (*DiskIAMMember) SetProviderConfigReference

func (mg *DiskIAMMember) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this DiskIAMMember.

func (*DiskIAMMember) SetPublishConnectionDetailsTo

func (mg *DiskIAMMember) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this DiskIAMMember.

func (*DiskIAMMember) SetWriteConnectionSecretToReference

func (mg *DiskIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this DiskIAMMember.

type DiskIAMMemberInitParameters

type DiskIAMMemberInitParameters struct {
	Condition *ConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"`

	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Disk
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Reference to a Disk in compute to populate name.
	// +kubebuilder:validation:Optional
	NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"`

	// Selector for a Disk in compute to populate name.
	// +kubebuilder:validation:Optional
	NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"`

	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*DiskIAMMemberInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMMemberInitParameters.

func (*DiskIAMMemberInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskIAMMemberList

type DiskIAMMemberList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []DiskIAMMember `json:"items"`
}

DiskIAMMemberList contains a list of DiskIAMMembers

func (*DiskIAMMemberList) DeepCopy

func (in *DiskIAMMemberList) DeepCopy() *DiskIAMMemberList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMMemberList.

func (*DiskIAMMemberList) DeepCopyInto

func (in *DiskIAMMemberList) DeepCopyInto(out *DiskIAMMemberList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DiskIAMMemberList) DeepCopyObject

func (in *DiskIAMMemberList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DiskIAMMemberList) GetItems

func (l *DiskIAMMemberList) GetItems() []resource.Managed

GetItems of this DiskIAMMemberList.

type DiskIAMMemberObservation

type DiskIAMMemberObservation struct {
	Condition *ConditionObservation `json:"condition,omitempty" tf:"condition,omitempty"`

	Etag *string `json:"etag,omitempty" tf:"etag,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*DiskIAMMemberObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMMemberObservation.

func (*DiskIAMMemberObservation) DeepCopyInto

func (in *DiskIAMMemberObservation) DeepCopyInto(out *DiskIAMMemberObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskIAMMemberParameters

type DiskIAMMemberParameters struct {

	// +kubebuilder:validation:Optional
	Condition *ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"`

	// +kubebuilder:validation:Optional
	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Disk
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Reference to a Disk in compute to populate name.
	// +kubebuilder:validation:Optional
	NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"`

	// Selector for a Disk in compute to populate name.
	// +kubebuilder:validation:Optional
	NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"`

	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// +kubebuilder:validation:Optional
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// +kubebuilder:validation:Optional
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*DiskIAMMemberParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMMemberParameters.

func (*DiskIAMMemberParameters) DeepCopyInto

func (in *DiskIAMMemberParameters) DeepCopyInto(out *DiskIAMMemberParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskIAMMemberSpec

type DiskIAMMemberSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     DiskIAMMemberParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider DiskIAMMemberInitParameters `json:"initProvider,omitempty"`
}

DiskIAMMemberSpec defines the desired state of DiskIAMMember

func (*DiskIAMMemberSpec) DeepCopy

func (in *DiskIAMMemberSpec) DeepCopy() *DiskIAMMemberSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMMemberSpec.

func (*DiskIAMMemberSpec) DeepCopyInto

func (in *DiskIAMMemberSpec) DeepCopyInto(out *DiskIAMMemberSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskIAMMemberStatus

type DiskIAMMemberStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        DiskIAMMemberObservation `json:"atProvider,omitempty"`
}

DiskIAMMemberStatus defines the observed state of DiskIAMMember.

func (*DiskIAMMemberStatus) DeepCopy

func (in *DiskIAMMemberStatus) DeepCopy() *DiskIAMMemberStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMMemberStatus.

func (*DiskIAMMemberStatus) DeepCopyInto

func (in *DiskIAMMemberStatus) DeepCopyInto(out *DiskIAMMemberStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskInitParameters

type DiskInitParameters struct {

	// A nested object resource
	// Structure is documented below.
	AsyncPrimaryDisk *AsyncPrimaryDiskInitParameters `json:"asyncPrimaryDisk,omitempty" tf:"async_primary_disk,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Encrypts the disk using a customer-supplied encryption key.
	// After you encrypt a disk with a customer-supplied key, you must
	// provide the same key if you use the disk later (e.g. to create a disk
	// snapshot or an image, or to attach the disk to a virtual machine).
	// Customer-supplied encryption keys do not protect access to metadata of
	// the disk.
	// If you do not provide an encryption key when creating the disk, then
	// the disk will be encrypted using an automatically generated key and
	// you do not need to provide a key to use the disk later.
	// Structure is documented below.
	DiskEncryptionKey *DiskEncryptionKeyInitParameters `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"`

	// Whether this disk is using confidential compute mode.
	// Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute,omitempty" tf:"enable_confidential_compute,omitempty"`

	// A list of features to enable on the guest operating system.
	// Applicable only for bootable disks.
	// Structure is documented below.
	GuestOsFeatures []GuestOsFeaturesInitParameters `json:"guestOsFeatures,omitempty" tf:"guest_os_features,omitempty"`

	// The image from which to initialize this disk. This can be
	// one of: the image's self_link, projects/{project}/global/images/{image},
	// projects/{project}/global/images/family/{family}, global/images/{image},
	// global/images/family/{family}, family/{family}, {project}/{family},
	// {project}/{image}, {family}, or {image}. If referred by family, the
	// images names must include the family name. If they don't, use the
	// google_compute_image data source.
	// For instance, the image centos-6-v20180104 includes its family name centos-6.
	// These images can be referred by family name here.
	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	// Labels to apply to this disk.  A list of key->value pairs.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Any applicable license URI.
	Licenses []*string `json:"licenses,omitempty" tf:"licenses,omitempty"`

	// Physical block size of the persistent disk, in bytes. If not present
	// in a request, a default value is used. Currently supported sizes
	// are 4096 and 16384, other sizes may be added in the future.
	// If an unsupported value is requested, the error message will list
	// the supported values for the caller's project.
	PhysicalBlockSizeBytes *float64 `json:"physicalBlockSizeBytes,omitempty" tf:"physical_block_size_bytes,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Indicates how many IOPS must be provisioned for the disk.
	// Note: Updating currently is only supported by hyperdisk skus without the need to delete and recreate the disk, hyperdisk
	// allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it
	ProvisionedIops *float64 `json:"provisionedIops,omitempty" tf:"provisioned_iops,omitempty"`

	// Indicates how much Throughput must be provisioned for the disk.
	// Note: Updating currently is only supported by hyperdisk skus without the need to delete and recreate the disk, hyperdisk
	// allows for an update of Throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it
	ProvisionedThroughput *float64 `json:"provisionedThroughput,omitempty" tf:"provisioned_throughput,omitempty"`

	// Size of the persistent disk, specified in GB. You can specify this
	// field when creating a persistent disk using the image or
	// snapshot parameter, or specify it alone to create an empty
	// persistent disk.
	// If you specify this field along with image or snapshot,
	// the value must not be less than the size of the image
	// or the size of the snapshot.
	// You can add lifecycle.prevent_destroy in the config to prevent destroying
	// and recreating.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The source snapshot used to create this disk. You can provide this as
	// a partial or full URL to the resource. If the snapshot is in another
	// project than this disk, you must supply a full URL. For example, the
	// following are valid values:
	Snapshot *string `json:"snapshot,omitempty" tf:"snapshot,omitempty"`

	// The source disk used to create this disk. You can provide this as a partial or full URL to the resource.
	// For example, the following are valid values:
	SourceDisk *string `json:"sourceDisk,omitempty" tf:"source_disk,omitempty"`

	// The customer-supplied encryption key of the source image. Required if
	// the source image is protected by a customer-supplied encryption key.
	// Structure is documented below.
	SourceImageEncryptionKey *SourceImageEncryptionKeyInitParameters `json:"sourceImageEncryptionKey,omitempty" tf:"source_image_encryption_key,omitempty"`

	// The customer-supplied encryption key of the source snapshot. Required
	// if the source snapshot is protected by a customer-supplied encryption
	// key.
	// Structure is documented below.
	SourceSnapshotEncryptionKey *SourceSnapshotEncryptionKeyInitParameters `json:"sourceSnapshotEncryptionKey,omitempty" tf:"source_snapshot_encryption_key,omitempty"`

	// URL of the disk type resource describing which disk type to use to
	// create the disk. Provide this when creating the disk.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*DiskInitParameters) DeepCopy

func (in *DiskInitParameters) DeepCopy() *DiskInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskInitParameters.

func (*DiskInitParameters) DeepCopyInto

func (in *DiskInitParameters) DeepCopyInto(out *DiskInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskList

type DiskList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Disk `json:"items"`
}

DiskList contains a list of Disks

func (*DiskList) DeepCopy

func (in *DiskList) DeepCopy() *DiskList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskList.

func (*DiskList) DeepCopyInto

func (in *DiskList) DeepCopyInto(out *DiskList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DiskList) DeepCopyObject

func (in *DiskList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DiskList) GetItems

func (l *DiskList) GetItems() []resource.Managed

GetItems of this DiskList.

type DiskObservation

type DiskObservation struct {

	// A nested object resource
	// Structure is documented below.
	AsyncPrimaryDisk *AsyncPrimaryDiskObservation `json:"asyncPrimaryDisk,omitempty" tf:"async_primary_disk,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Encrypts the disk using a customer-supplied encryption key.
	// After you encrypt a disk with a customer-supplied key, you must
	// provide the same key if you use the disk later (e.g. to create a disk
	// snapshot or an image, or to attach the disk to a virtual machine).
	// Customer-supplied encryption keys do not protect access to metadata of
	// the disk.
	// If you do not provide an encryption key when creating the disk, then
	// the disk will be encrypted using an automatically generated key and
	// you do not need to provide a key to use the disk later.
	// Structure is documented below.
	DiskEncryptionKey *DiskEncryptionKeyObservation `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"`

	// The unique identifier for the resource. This identifier is defined by the server.
	DiskID *string `json:"diskId,omitempty" tf:"disk_id,omitempty"`

	// for all of the labels present on the resource.
	// +mapType=granular
	EffectiveLabels map[string]*string `json:"effectiveLabels,omitempty" tf:"effective_labels,omitempty"`

	// Whether this disk is using confidential compute mode.
	// Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute,omitempty" tf:"enable_confidential_compute,omitempty"`

	// A list of features to enable on the guest operating system.
	// Applicable only for bootable disks.
	// Structure is documented below.
	GuestOsFeatures []GuestOsFeaturesObservation `json:"guestOsFeatures,omitempty" tf:"guest_os_features,omitempty"`

	// an identifier for the resource with format projects/{{project}}/zones/{{zone}}/disks/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The image from which to initialize this disk. This can be
	// one of: the image's self_link, projects/{project}/global/images/{image},
	// projects/{project}/global/images/family/{family}, global/images/{image},
	// global/images/family/{family}, family/{family}, {project}/{family},
	// {project}/{image}, {family}, or {image}. If referred by family, the
	// images names must include the family name. If they don't, use the
	// google_compute_image data source.
	// For instance, the image centos-6-v20180104 includes its family name centos-6.
	// These images can be referred by family name here.
	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	// The fingerprint used for optimistic locking of this resource.  Used
	// internally during updates.
	LabelFingerprint *string `json:"labelFingerprint,omitempty" tf:"label_fingerprint,omitempty"`

	// Labels to apply to this disk.  A list of key->value pairs.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Last attach timestamp in RFC3339 text format.
	LastAttachTimestamp *string `json:"lastAttachTimestamp,omitempty" tf:"last_attach_timestamp,omitempty"`

	// Last detach timestamp in RFC3339 text format.
	LastDetachTimestamp *string `json:"lastDetachTimestamp,omitempty" tf:"last_detach_timestamp,omitempty"`

	// Any applicable license URI.
	Licenses []*string `json:"licenses,omitempty" tf:"licenses,omitempty"`

	// Physical block size of the persistent disk, in bytes. If not present
	// in a request, a default value is used. Currently supported sizes
	// are 4096 and 16384, other sizes may be added in the future.
	// If an unsupported value is requested, the error message will list
	// the supported values for the caller's project.
	PhysicalBlockSizeBytes *float64 `json:"physicalBlockSizeBytes,omitempty" tf:"physical_block_size_bytes,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Indicates how many IOPS must be provisioned for the disk.
	// Note: Updating currently is only supported by hyperdisk skus without the need to delete and recreate the disk, hyperdisk
	// allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it
	ProvisionedIops *float64 `json:"provisionedIops,omitempty" tf:"provisioned_iops,omitempty"`

	// Indicates how much Throughput must be provisioned for the disk.
	// Note: Updating currently is only supported by hyperdisk skus without the need to delete and recreate the disk, hyperdisk
	// allows for an update of Throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it
	ProvisionedThroughput *float64 `json:"provisionedThroughput,omitempty" tf:"provisioned_throughput,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// Size of the persistent disk, specified in GB. You can specify this
	// field when creating a persistent disk using the image or
	// snapshot parameter, or specify it alone to create an empty
	// persistent disk.
	// If you specify this field along with image or snapshot,
	// the value must not be less than the size of the image
	// or the size of the snapshot.
	// You can add lifecycle.prevent_destroy in the config to prevent destroying
	// and recreating.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The source snapshot used to create this disk. You can provide this as
	// a partial or full URL to the resource. If the snapshot is in another
	// project than this disk, you must supply a full URL. For example, the
	// following are valid values:
	Snapshot *string `json:"snapshot,omitempty" tf:"snapshot,omitempty"`

	// The source disk used to create this disk. You can provide this as a partial or full URL to the resource.
	// For example, the following are valid values:
	SourceDisk *string `json:"sourceDisk,omitempty" tf:"source_disk,omitempty"`

	// The ID value of the disk used to create this image. This value may
	// be used to determine whether the image was taken from the current
	// or a previous instance of a given disk name.
	SourceDiskID *string `json:"sourceDiskId,omitempty" tf:"source_disk_id,omitempty"`

	// The customer-supplied encryption key of the source image. Required if
	// the source image is protected by a customer-supplied encryption key.
	// Structure is documented below.
	SourceImageEncryptionKey *SourceImageEncryptionKeyObservation `json:"sourceImageEncryptionKey,omitempty" tf:"source_image_encryption_key,omitempty"`

	// The ID value of the image used to create this disk. This value
	// identifies the exact image that was used to create this persistent
	// disk. For example, if you created the persistent disk from an image
	// that was later deleted and recreated under the same name, the source
	// image ID would identify the exact version of the image that was used.
	SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"`

	// The customer-supplied encryption key of the source snapshot. Required
	// if the source snapshot is protected by a customer-supplied encryption
	// key.
	// Structure is documented below.
	SourceSnapshotEncryptionKey *SourceSnapshotEncryptionKeyObservation `json:"sourceSnapshotEncryptionKey,omitempty" tf:"source_snapshot_encryption_key,omitempty"`

	// The unique ID of the snapshot used to create this disk. This value
	// identifies the exact snapshot that was used to create this persistent
	// disk. For example, if you created the persistent disk from a snapshot
	// that was later deleted and recreated under the same name, the source
	// snapshot ID would identify the exact version of the snapshot that was
	// used.
	SourceSnapshotID *string `json:"sourceSnapshotId,omitempty" tf:"source_snapshot_id,omitempty"`

	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	// +mapType=granular
	TerraformLabels map[string]*string `json:"terraformLabels,omitempty" tf:"terraform_labels,omitempty"`

	// URL of the disk type resource describing which disk type to use to
	// create the disk. Provide this when creating the disk.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Links to the users of the disk (attached instances) in form:
	// project/zones/zone/instances/instance
	Users []*string `json:"users,omitempty" tf:"users,omitempty"`

	// A reference to the zone where the disk resides.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*DiskObservation) DeepCopy

func (in *DiskObservation) DeepCopy() *DiskObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskObservation.

func (*DiskObservation) DeepCopyInto

func (in *DiskObservation) DeepCopyInto(out *DiskObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskParameters

type DiskParameters struct {

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	AsyncPrimaryDisk *AsyncPrimaryDiskParameters `json:"asyncPrimaryDisk,omitempty" tf:"async_primary_disk,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Encrypts the disk using a customer-supplied encryption key.
	// After you encrypt a disk with a customer-supplied key, you must
	// provide the same key if you use the disk later (e.g. to create a disk
	// snapshot or an image, or to attach the disk to a virtual machine).
	// Customer-supplied encryption keys do not protect access to metadata of
	// the disk.
	// If you do not provide an encryption key when creating the disk, then
	// the disk will be encrypted using an automatically generated key and
	// you do not need to provide a key to use the disk later.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	DiskEncryptionKey *DiskEncryptionKeyParameters `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"`

	// Whether this disk is using confidential compute mode.
	// Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true
	// +kubebuilder:validation:Optional
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute,omitempty" tf:"enable_confidential_compute,omitempty"`

	// A list of features to enable on the guest operating system.
	// Applicable only for bootable disks.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	GuestOsFeatures []GuestOsFeaturesParameters `json:"guestOsFeatures,omitempty" tf:"guest_os_features,omitempty"`

	// The image from which to initialize this disk. This can be
	// one of: the image's self_link, projects/{project}/global/images/{image},
	// projects/{project}/global/images/family/{family}, global/images/{image},
	// global/images/family/{family}, family/{family}, {project}/{family},
	// {project}/{image}, {family}, or {image}. If referred by family, the
	// images names must include the family name. If they don't, use the
	// google_compute_image data source.
	// For instance, the image centos-6-v20180104 includes its family name centos-6.
	// These images can be referred by family name here.
	// +kubebuilder:validation:Optional
	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	// Labels to apply to this disk.  A list of key->value pairs.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Any applicable license URI.
	// +kubebuilder:validation:Optional
	Licenses []*string `json:"licenses,omitempty" tf:"licenses,omitempty"`

	// Physical block size of the persistent disk, in bytes. If not present
	// in a request, a default value is used. Currently supported sizes
	// are 4096 and 16384, other sizes may be added in the future.
	// If an unsupported value is requested, the error message will list
	// the supported values for the caller's project.
	// +kubebuilder:validation:Optional
	PhysicalBlockSizeBytes *float64 `json:"physicalBlockSizeBytes,omitempty" tf:"physical_block_size_bytes,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Indicates how many IOPS must be provisioned for the disk.
	// Note: Updating currently is only supported by hyperdisk skus without the need to delete and recreate the disk, hyperdisk
	// allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it
	// +kubebuilder:validation:Optional
	ProvisionedIops *float64 `json:"provisionedIops,omitempty" tf:"provisioned_iops,omitempty"`

	// Indicates how much Throughput must be provisioned for the disk.
	// Note: Updating currently is only supported by hyperdisk skus without the need to delete and recreate the disk, hyperdisk
	// allows for an update of Throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it
	// +kubebuilder:validation:Optional
	ProvisionedThroughput *float64 `json:"provisionedThroughput,omitempty" tf:"provisioned_throughput,omitempty"`

	// Size of the persistent disk, specified in GB. You can specify this
	// field when creating a persistent disk using the image or
	// snapshot parameter, or specify it alone to create an empty
	// persistent disk.
	// If you specify this field along with image or snapshot,
	// the value must not be less than the size of the image
	// or the size of the snapshot.
	// You can add lifecycle.prevent_destroy in the config to prevent destroying
	// and recreating.
	// +kubebuilder:validation:Optional
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The source snapshot used to create this disk. You can provide this as
	// a partial or full URL to the resource. If the snapshot is in another
	// project than this disk, you must supply a full URL. For example, the
	// following are valid values:
	// +kubebuilder:validation:Optional
	Snapshot *string `json:"snapshot,omitempty" tf:"snapshot,omitempty"`

	// The source disk used to create this disk. You can provide this as a partial or full URL to the resource.
	// For example, the following are valid values:
	// +kubebuilder:validation:Optional
	SourceDisk *string `json:"sourceDisk,omitempty" tf:"source_disk,omitempty"`

	// The customer-supplied encryption key of the source image. Required if
	// the source image is protected by a customer-supplied encryption key.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	SourceImageEncryptionKey *SourceImageEncryptionKeyParameters `json:"sourceImageEncryptionKey,omitempty" tf:"source_image_encryption_key,omitempty"`

	// The customer-supplied encryption key of the source snapshot. Required
	// if the source snapshot is protected by a customer-supplied encryption
	// key.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	SourceSnapshotEncryptionKey *SourceSnapshotEncryptionKeyParameters `json:"sourceSnapshotEncryptionKey,omitempty" tf:"source_snapshot_encryption_key,omitempty"`

	// URL of the disk type resource describing which disk type to use to
	// create the disk. Provide this when creating the disk.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// A reference to the zone where the disk resides.
	// +kubebuilder:validation:Required
	Zone *string `json:"zone" tf:"zone,omitempty"`
}

func (*DiskParameters) DeepCopy

func (in *DiskParameters) DeepCopy() *DiskParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskParameters.

func (*DiskParameters) DeepCopyInto

func (in *DiskParameters) DeepCopyInto(out *DiskParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskSourceImageEncryptionKeyInitParameters

type DiskSourceImageEncryptionKeyInitParameters struct {

	// The self link of the encryption key that is
	// stored in Google Cloud KMS.
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account being used for the
	// encryption request for the given KMS key. If absent, the Compute Engine
	// default service account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`
}

func (*DiskSourceImageEncryptionKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskSourceImageEncryptionKeyInitParameters.

func (*DiskSourceImageEncryptionKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskSourceImageEncryptionKeyObservation

type DiskSourceImageEncryptionKeyObservation struct {

	// The self link of the encryption key that is
	// stored in Google Cloud KMS.
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account being used for the
	// encryption request for the given KMS key. If absent, the Compute Engine
	// default service account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`
}

func (*DiskSourceImageEncryptionKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskSourceImageEncryptionKeyObservation.

func (*DiskSourceImageEncryptionKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskSourceImageEncryptionKeyParameters

type DiskSourceImageEncryptionKeyParameters struct {

	// The self link of the encryption key that is
	// stored in Google Cloud KMS.
	// +kubebuilder:validation:Optional
	KMSKeySelfLink *string `json:"kmsKeySelfLink" tf:"kms_key_self_link,omitempty"`

	// The service account being used for the
	// encryption request for the given KMS key. If absent, the Compute Engine
	// default service account is used.
	// +kubebuilder:validation:Optional
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`
}

func (*DiskSourceImageEncryptionKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskSourceImageEncryptionKeyParameters.

func (*DiskSourceImageEncryptionKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskSourceSnapshotEncryptionKeyInitParameters

type DiskSourceSnapshotEncryptionKeyInitParameters struct {

	// The self link of the encryption key that is
	// stored in Google Cloud KMS.
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account being used for the
	// encryption request for the given KMS key. If absent, the Compute Engine
	// default service account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`
}

func (*DiskSourceSnapshotEncryptionKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskSourceSnapshotEncryptionKeyInitParameters.

func (*DiskSourceSnapshotEncryptionKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskSourceSnapshotEncryptionKeyObservation

type DiskSourceSnapshotEncryptionKeyObservation struct {

	// The self link of the encryption key that is
	// stored in Google Cloud KMS.
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account being used for the
	// encryption request for the given KMS key. If absent, the Compute Engine
	// default service account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`
}

func (*DiskSourceSnapshotEncryptionKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskSourceSnapshotEncryptionKeyObservation.

func (*DiskSourceSnapshotEncryptionKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskSourceSnapshotEncryptionKeyParameters

type DiskSourceSnapshotEncryptionKeyParameters struct {

	// The self link of the encryption key that is
	// stored in Google Cloud KMS.
	// +kubebuilder:validation:Optional
	KMSKeySelfLink *string `json:"kmsKeySelfLink" tf:"kms_key_self_link,omitempty"`

	// The service account being used for the
	// encryption request for the given KMS key. If absent, the Compute Engine
	// default service account is used.
	// +kubebuilder:validation:Optional
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`
}

func (*DiskSourceSnapshotEncryptionKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskSourceSnapshotEncryptionKeyParameters.

func (*DiskSourceSnapshotEncryptionKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskSpec

type DiskSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     DiskParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider DiskInitParameters `json:"initProvider,omitempty"`
}

DiskSpec defines the desired state of Disk

func (*DiskSpec) DeepCopy

func (in *DiskSpec) DeepCopy() *DiskSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskSpec.

func (*DiskSpec) DeepCopyInto

func (in *DiskSpec) DeepCopyInto(out *DiskSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskStatus

type DiskStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        DiskObservation `json:"atProvider,omitempty"`
}

DiskStatus defines the observed state of Disk.

func (*DiskStatus) DeepCopy

func (in *DiskStatus) DeepCopy() *DiskStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskStatus.

func (*DiskStatus) DeepCopyInto

func (in *DiskStatus) DeepCopyInto(out *DiskStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExceedRedirectOptionsInitParameters

type ExceedRedirectOptionsInitParameters struct {

	// Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// Type of the redirect action.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ExceedRedirectOptionsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExceedRedirectOptionsInitParameters.

func (*ExceedRedirectOptionsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExceedRedirectOptionsObservation

type ExceedRedirectOptionsObservation struct {

	// Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// Type of the redirect action.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ExceedRedirectOptionsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExceedRedirectOptionsObservation.

func (*ExceedRedirectOptionsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExceedRedirectOptionsParameters

type ExceedRedirectOptionsParameters struct {

	// Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
	// +kubebuilder:validation:Optional
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// Type of the redirect action.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*ExceedRedirectOptionsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExceedRedirectOptionsParameters.

func (*ExceedRedirectOptionsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExprInitParameters

type ExprInitParameters struct {

	// Textual representation of an expression in Common Expression Language syntax.
	// The application context of the containing message determines which well-known feature set of CEL is supported.
	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`
}

func (*ExprInitParameters) DeepCopy

func (in *ExprInitParameters) DeepCopy() *ExprInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExprInitParameters.

func (*ExprInitParameters) DeepCopyInto

func (in *ExprInitParameters) DeepCopyInto(out *ExprInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExprObservation

type ExprObservation struct {

	// Textual representation of an expression in Common Expression Language syntax.
	// The application context of the containing message determines which well-known feature set of CEL is supported.
	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`
}

func (*ExprObservation) DeepCopy

func (in *ExprObservation) DeepCopy() *ExprObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExprObservation.

func (*ExprObservation) DeepCopyInto

func (in *ExprObservation) DeepCopyInto(out *ExprObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExprParameters

type ExprParameters struct {

	// Textual representation of an expression in Common Expression Language syntax.
	// The application context of the containing message determines which well-known feature set of CEL is supported.
	// +kubebuilder:validation:Optional
	Expression *string `json:"expression" tf:"expression,omitempty"`
}

func (*ExprParameters) DeepCopy

func (in *ExprParameters) DeepCopy() *ExprParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExprParameters.

func (*ExprParameters) DeepCopyInto

func (in *ExprParameters) DeepCopyInto(out *ExprParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalIPIPAddressInitParameters

type ExternalIPIPAddressInitParameters struct {

	// The URL of the reservation for this IP address.
	Address *string `json:"address,omitempty" tf:"address,omitempty"`
}

func (*ExternalIPIPAddressInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPIPAddressInitParameters.

func (*ExternalIPIPAddressInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalIPIPAddressObservation

type ExternalIPIPAddressObservation struct {

	// The URL of the reservation for this IP address.
	Address *string `json:"address,omitempty" tf:"address,omitempty"`
}

func (*ExternalIPIPAddressObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPIPAddressObservation.

func (*ExternalIPIPAddressObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalIPIPAddressParameters

type ExternalIPIPAddressParameters struct {

	// The URL of the reservation for this IP address.
	// +kubebuilder:validation:Optional
	Address *string `json:"address,omitempty" tf:"address,omitempty"`
}

func (*ExternalIPIPAddressParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPIPAddressParameters.

func (*ExternalIPIPAddressParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalIPInitParameters

type ExternalIPInitParameters struct {

	// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	AutoDelete *string `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Ip address representation
	// Structure is documented below.
	IPAddress *IPAddressInitParameters `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// The identifier for this object. Format specified above.
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*ExternalIPInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPInitParameters.

func (*ExternalIPInitParameters) DeepCopyInto

func (in *ExternalIPInitParameters) DeepCopyInto(out *ExternalIPInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalIPObservation

type ExternalIPObservation struct {

	// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	AutoDelete *string `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Ip address representation
	// Structure is documented below.
	IPAddress *IPAddressObservation `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// The identifier for this object. Format specified above.
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*ExternalIPObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPObservation.

func (*ExternalIPObservation) DeepCopyInto

func (in *ExternalIPObservation) DeepCopyInto(out *ExternalIPObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalIPParameters

type ExternalIPParameters struct {

	// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	// +kubebuilder:validation:Optional
	AutoDelete *string `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Ip address representation
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	IPAddress *IPAddressParameters `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// The identifier for this object. Format specified above.
	// +kubebuilder:validation:Optional
	InterfaceName *string `json:"interfaceName" tf:"interface_name,omitempty"`
}

func (*ExternalIPParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPParameters.

func (*ExternalIPParameters) DeepCopyInto

func (in *ExternalIPParameters) DeepCopyInto(out *ExternalIPParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FailoverPolicyInitParameters

type FailoverPolicyInitParameters struct {

	// On failover or failback, this field indicates whether connection drain
	// will be honored. Setting this to true has the following effect: connections
	// to the old active pool are not drained. Connections to the new active pool
	// use the timeout of 10 min (currently fixed). Setting to false has the
	// following effect: both old and new connections will have a drain timeout
	// of 10 min.
	// This can be set to true only if the protocol is TCP.
	// The default is false.
	DisableConnectionDrainOnFailover *bool `json:"disableConnectionDrainOnFailover,omitempty" tf:"disable_connection_drain_on_failover,omitempty"`

	// This option is used only when no healthy VMs are detected in the primary
	// and backup instance groups. When set to true, traffic is dropped. When
	// set to false, new connections are sent across all VMs in the primary group.
	// The default is false.
	DropTrafficIfUnhealthy *bool `json:"dropTrafficIfUnhealthy,omitempty" tf:"drop_traffic_if_unhealthy,omitempty"`

	// The value of the field must be in [0, 1]. If the ratio of the healthy
	// VMs in the primary backend is at or below this number, traffic arriving
	// at the load-balanced IP will be directed to the failover backend.
	// In case where 'failoverRatio' is not set or all the VMs in the backup
	// backend are unhealthy, the traffic will be directed back to the primary
	// backend in the "force" mode, where traffic will be spread to the healthy
	// VMs with the best effort, or to all VMs when no VM is healthy.
	// This field is only used with l4 load balancing.
	FailoverRatio *float64 `json:"failoverRatio,omitempty" tf:"failover_ratio,omitempty"`
}

func (*FailoverPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailoverPolicyInitParameters.

func (*FailoverPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FailoverPolicyObservation

type FailoverPolicyObservation struct {

	// On failover or failback, this field indicates whether connection drain
	// will be honored. Setting this to true has the following effect: connections
	// to the old active pool are not drained. Connections to the new active pool
	// use the timeout of 10 min (currently fixed). Setting to false has the
	// following effect: both old and new connections will have a drain timeout
	// of 10 min.
	// This can be set to true only if the protocol is TCP.
	// The default is false.
	DisableConnectionDrainOnFailover *bool `json:"disableConnectionDrainOnFailover,omitempty" tf:"disable_connection_drain_on_failover,omitempty"`

	// This option is used only when no healthy VMs are detected in the primary
	// and backup instance groups. When set to true, traffic is dropped. When
	// set to false, new connections are sent across all VMs in the primary group.
	// The default is false.
	DropTrafficIfUnhealthy *bool `json:"dropTrafficIfUnhealthy,omitempty" tf:"drop_traffic_if_unhealthy,omitempty"`

	// The value of the field must be in [0, 1]. If the ratio of the healthy
	// VMs in the primary backend is at or below this number, traffic arriving
	// at the load-balanced IP will be directed to the failover backend.
	// In case where 'failoverRatio' is not set or all the VMs in the backup
	// backend are unhealthy, the traffic will be directed back to the primary
	// backend in the "force" mode, where traffic will be spread to the healthy
	// VMs with the best effort, or to all VMs when no VM is healthy.
	// This field is only used with l4 load balancing.
	FailoverRatio *float64 `json:"failoverRatio,omitempty" tf:"failover_ratio,omitempty"`
}

func (*FailoverPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailoverPolicyObservation.

func (*FailoverPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FailoverPolicyParameters

type FailoverPolicyParameters struct {

	// On failover or failback, this field indicates whether connection drain
	// will be honored. Setting this to true has the following effect: connections
	// to the old active pool are not drained. Connections to the new active pool
	// use the timeout of 10 min (currently fixed). Setting to false has the
	// following effect: both old and new connections will have a drain timeout
	// of 10 min.
	// This can be set to true only if the protocol is TCP.
	// The default is false.
	// +kubebuilder:validation:Optional
	DisableConnectionDrainOnFailover *bool `json:"disableConnectionDrainOnFailover,omitempty" tf:"disable_connection_drain_on_failover,omitempty"`

	// This option is used only when no healthy VMs are detected in the primary
	// and backup instance groups. When set to true, traffic is dropped. When
	// set to false, new connections are sent across all VMs in the primary group.
	// The default is false.
	// +kubebuilder:validation:Optional
	DropTrafficIfUnhealthy *bool `json:"dropTrafficIfUnhealthy,omitempty" tf:"drop_traffic_if_unhealthy,omitempty"`

	// The value of the field must be in [0, 1]. If the ratio of the healthy
	// VMs in the primary backend is at or below this number, traffic arriving
	// at the load-balanced IP will be directed to the failover backend.
	// In case where 'failoverRatio' is not set or all the VMs in the backup
	// backend are unhealthy, the traffic will be directed back to the primary
	// backend in the "force" mode, where traffic will be spread to the healthy
	// VMs with the best effort, or to all VMs when no VM is healthy.
	// This field is only used with l4 load balancing.
	// +kubebuilder:validation:Optional
	FailoverRatio *float64 `json:"failoverRatio,omitempty" tf:"failover_ratio,omitempty"`
}

func (*FailoverPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailoverPolicyParameters.

func (*FailoverPolicyParameters) DeepCopyInto

func (in *FailoverPolicyParameters) DeepCopyInto(out *FailoverPolicyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionPolicyAbortInitParameters

type FaultInjectionPolicyAbortInitParameters struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*FaultInjectionPolicyAbortInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyAbortInitParameters.

func (*FaultInjectionPolicyAbortInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionPolicyAbortObservation

type FaultInjectionPolicyAbortObservation struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*FaultInjectionPolicyAbortObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyAbortObservation.

func (*FaultInjectionPolicyAbortObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionPolicyAbortParameters

type FaultInjectionPolicyAbortParameters struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	// +kubebuilder:validation:Optional
	HTTPStatus *float64 `json:"httpStatus" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	// +kubebuilder:validation:Optional
	Percentage *float64 `json:"percentage" tf:"percentage,omitempty"`
}

func (*FaultInjectionPolicyAbortParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyAbortParameters.

func (*FaultInjectionPolicyAbortParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionPolicyDelayFixedDelayInitParameters

type FaultInjectionPolicyDelayFixedDelayInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*FaultInjectionPolicyDelayFixedDelayInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyDelayFixedDelayInitParameters.

func (*FaultInjectionPolicyDelayFixedDelayInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionPolicyDelayFixedDelayObservation

type FaultInjectionPolicyDelayFixedDelayObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*FaultInjectionPolicyDelayFixedDelayObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyDelayFixedDelayObservation.

func (*FaultInjectionPolicyDelayFixedDelayObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionPolicyDelayFixedDelayParameters

type FaultInjectionPolicyDelayFixedDelayParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds" tf:"seconds,omitempty"`
}

func (*FaultInjectionPolicyDelayFixedDelayParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyDelayFixedDelayParameters.

func (*FaultInjectionPolicyDelayFixedDelayParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionPolicyDelayInitParameters

type FaultInjectionPolicyDelayInitParameters struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	FixedDelay *DelayFixedDelayInitParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*FaultInjectionPolicyDelayInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyDelayInitParameters.

func (*FaultInjectionPolicyDelayInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionPolicyDelayObservation

type FaultInjectionPolicyDelayObservation struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	FixedDelay *DelayFixedDelayObservation `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*FaultInjectionPolicyDelayObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyDelayObservation.

func (*FaultInjectionPolicyDelayObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionPolicyDelayParameters

type FaultInjectionPolicyDelayParameters struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FixedDelay *DelayFixedDelayParameters `json:"fixedDelay" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	// +kubebuilder:validation:Optional
	Percentage *float64 `json:"percentage" tf:"percentage,omitempty"`
}

func (*FaultInjectionPolicyDelayParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyDelayParameters.

func (*FaultInjectionPolicyDelayParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionPolicyInitParameters

type FaultInjectionPolicyInitParameters struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	Abort *AbortInitParameters `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	Delay *DelayInitParameters `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*FaultInjectionPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyInitParameters.

func (*FaultInjectionPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionPolicyObservation

type FaultInjectionPolicyObservation struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	Abort *AbortObservation `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	Delay *DelayObservation `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*FaultInjectionPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyObservation.

func (*FaultInjectionPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionPolicyParameters

type FaultInjectionPolicyParameters struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Abort *AbortParameters `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Delay *DelayParameters `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*FaultInjectionPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyParameters.

func (*FaultInjectionPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FilterInitParameters

type FilterInitParameters struct {

	// IP CIDR ranges that apply as a filter on the source (ingress) or
	// destination (egress) IP in the IP header. Only IPv4 is supported.
	CidrRanges []*string `json:"cidrRanges,omitempty" tf:"cidr_ranges,omitempty"`

	// Direction of traffic to mirror.
	// Default value is BOTH.
	// Possible values are: INGRESS, EGRESS, BOTH.
	Direction *string `json:"direction,omitempty" tf:"direction,omitempty"`

	// Possible IP protocols including tcp, udp, icmp and esp
	IPProtocols []*string `json:"ipProtocols,omitempty" tf:"ip_protocols,omitempty"`
}

func (*FilterInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterInitParameters.

func (*FilterInitParameters) DeepCopyInto

func (in *FilterInitParameters) DeepCopyInto(out *FilterInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FilterLabelsInitParameters

type FilterLabelsInitParameters struct {

	// Name of the resource; provided by the client when the resource is created.
	// 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.
	// For Private Service Connect forwarding rules that forward traffic to Google
	// APIs, the forwarding rule name must be a 1-20 characters string with
	// lowercase letters and numbers and must start with a letter.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The value that the label must match. The value has a maximum
	// length of 1024 characters.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*FilterLabelsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterLabelsInitParameters.

func (*FilterLabelsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FilterLabelsObservation

type FilterLabelsObservation struct {

	// Name of the resource; provided by the client when the resource is created.
	// 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.
	// For Private Service Connect forwarding rules that forward traffic to Google
	// APIs, the forwarding rule name must be a 1-20 characters string with
	// lowercase letters and numbers and must start with a letter.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The value that the label must match. The value has a maximum
	// length of 1024 characters.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*FilterLabelsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterLabelsObservation.

func (*FilterLabelsObservation) DeepCopyInto

func (in *FilterLabelsObservation) DeepCopyInto(out *FilterLabelsObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FilterLabelsParameters

type FilterLabelsParameters struct {

	// Name of the resource; provided by the client when the resource is created.
	// 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.
	// For Private Service Connect forwarding rules that forward traffic to Google
	// APIs, the forwarding rule name must be a 1-20 characters string with
	// lowercase letters and numbers and must start with a letter.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The value that the label must match. The value has a maximum
	// length of 1024 characters.
	// +kubebuilder:validation:Optional
	Value *string `json:"value" tf:"value,omitempty"`
}

func (*FilterLabelsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterLabelsParameters.

func (*FilterLabelsParameters) DeepCopyInto

func (in *FilterLabelsParameters) DeepCopyInto(out *FilterLabelsParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FilterObservation

type FilterObservation struct {

	// IP CIDR ranges that apply as a filter on the source (ingress) or
	// destination (egress) IP in the IP header. Only IPv4 is supported.
	CidrRanges []*string `json:"cidrRanges,omitempty" tf:"cidr_ranges,omitempty"`

	// Direction of traffic to mirror.
	// Default value is BOTH.
	// Possible values are: INGRESS, EGRESS, BOTH.
	Direction *string `json:"direction,omitempty" tf:"direction,omitempty"`

	// Possible IP protocols including tcp, udp, icmp and esp
	IPProtocols []*string `json:"ipProtocols,omitempty" tf:"ip_protocols,omitempty"`
}

func (*FilterObservation) DeepCopy

func (in *FilterObservation) DeepCopy() *FilterObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterObservation.

func (*FilterObservation) DeepCopyInto

func (in *FilterObservation) DeepCopyInto(out *FilterObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FilterParameters

type FilterParameters struct {

	// IP CIDR ranges that apply as a filter on the source (ingress) or
	// destination (egress) IP in the IP header. Only IPv4 is supported.
	// +kubebuilder:validation:Optional
	CidrRanges []*string `json:"cidrRanges,omitempty" tf:"cidr_ranges,omitempty"`

	// Direction of traffic to mirror.
	// Default value is BOTH.
	// Possible values are: INGRESS, EGRESS, BOTH.
	// +kubebuilder:validation:Optional
	Direction *string `json:"direction,omitempty" tf:"direction,omitempty"`

	// Possible IP protocols including tcp, udp, icmp and esp
	// +kubebuilder:validation:Optional
	IPProtocols []*string `json:"ipProtocols,omitempty" tf:"ip_protocols,omitempty"`
}

func (*FilterParameters) DeepCopy

func (in *FilterParameters) DeepCopy() *FilterParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterParameters.

func (*FilterParameters) DeepCopyInto

func (in *FilterParameters) DeepCopyInto(out *FilterParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Firewall

type Firewall struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              FirewallSpec   `json:"spec"`
	Status            FirewallStatus `json:"status,omitempty"`
}

Firewall is the Schema for the Firewalls API. Each network has its own firewall controlling access to and from the instances. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*Firewall) DeepCopy

func (in *Firewall) DeepCopy() *Firewall

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Firewall.

func (*Firewall) DeepCopyInto

func (in *Firewall) DeepCopyInto(out *Firewall)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Firewall) DeepCopyObject

func (in *Firewall) DeepCopyObject() runtime.Object

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) GetConnectionDetailsMapping

func (tr *Firewall) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Firewall

func (*Firewall) GetDeletionPolicy

func (mg *Firewall) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Firewall.

func (*Firewall) GetID

func (tr *Firewall) GetID() string

GetID returns ID of underlying Terraform resource of this Firewall

func (*Firewall) GetInitParameters

func (tr *Firewall) GetInitParameters() (map[string]any, error)

GetInitParameters of this Firewall

func (*Firewall) GetManagementPolicies

func (mg *Firewall) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Firewall.

func (*Firewall) GetMergedParameters

func (tr *Firewall) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Firewall

func (*Firewall) GetObservation

func (tr *Firewall) GetObservation() (map[string]any, error)

GetObservation of this Firewall

func (*Firewall) GetParameters

func (tr *Firewall) GetParameters() (map[string]any, error)

GetParameters of this Firewall

func (*Firewall) GetProviderConfigReference

func (mg *Firewall) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Firewall.

func (*Firewall) GetPublishConnectionDetailsTo

func (mg *Firewall) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Firewall.

func (*Firewall) GetTerraformResourceType

func (mg *Firewall) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Firewall

func (*Firewall) GetTerraformSchemaVersion

func (tr *Firewall) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Firewall) GetWriteConnectionSecretToReference

func (mg *Firewall) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Firewall.

func (*Firewall) Hub

func (tr *Firewall) Hub()

Hub marks this type as a conversion hub.

func (*Firewall) LateInitialize

func (tr *Firewall) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Firewall using its observed tfState. returns True if there are any spec changes for the resource.

func (*Firewall) ResolveReferences

func (mg *Firewall) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Firewall.

func (*Firewall) SetConditions

func (mg *Firewall) SetConditions(c ...xpv1.Condition)

SetConditions of this Firewall.

func (*Firewall) SetDeletionPolicy

func (mg *Firewall) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Firewall.

func (*Firewall) SetManagementPolicies

func (mg *Firewall) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Firewall.

func (*Firewall) SetObservation

func (tr *Firewall) SetObservation(obs map[string]any) error

SetObservation for this Firewall

func (*Firewall) SetParameters

func (tr *Firewall) SetParameters(params map[string]any) error

SetParameters for this Firewall

func (*Firewall) SetProviderConfigReference

func (mg *Firewall) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Firewall.

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 FirewallInitParameters

type FirewallInitParameters struct {

	// The list of ALLOW rules specified by this firewall. Each rule
	// specifies a protocol and port-range tuple that describes a permitted
	// connection.
	// Structure is documented below.
	Allow []AllowInitParameters `json:"allow,omitempty" tf:"allow,omitempty"`

	// The list of DENY rules specified by this firewall. Each rule specifies
	// a protocol and port-range tuple that describes a denied connection.
	// Structure is documented below.
	Deny []DenyInitParameters `json:"deny,omitempty" tf:"deny,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// If destination ranges are specified, the firewall will apply only to
	// traffic that has destination IP address in these ranges. These ranges
	// must be expressed in CIDR format. IPv4 or IPv6 ranges are supported.
	// +listType=set
	DestinationRanges []*string `json:"destinationRanges,omitempty" tf:"destination_ranges,omitempty"`

	// Direction of traffic to which this firewall applies; default is
	// INGRESS. Note: For INGRESS traffic, one of source_ranges,
	// source_tags or source_service_accounts is required.
	// Possible values are: INGRESS, EGRESS.
	Direction *string `json:"direction,omitempty" tf:"direction,omitempty"`

	// Denotes whether the firewall rule is disabled, i.e not applied to the
	// network it is associated with. 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.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// This field denotes whether to enable logging for a particular firewall rule.
	// If logging is enabled, logs will be exported to Stackdriver. Deprecated in favor of log_config
	EnableLogging *bool `json:"enableLogging,omitempty" tf:"enable_logging,omitempty"`

	// This field denotes the logging options for a particular firewall rule.
	// If defined, logging is enabled, and logs will be exported to Cloud Logging.
	// Structure is documented below.
	LogConfig *FirewallLogConfigInitParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// The name or self_link of the network to attach this firewall to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// Priority for this rule. This is an integer between 0 and 65535, both
	// inclusive. When not specified, the value assumed is 1000. Relative
	// priorities determine precedence of conflicting rules. Lower value of
	// priority implies higher precedence (eg, a rule with priority 0 has
	// higher precedence than a rule with priority 1). DENY rules take
	// precedence over ALLOW rules having equal priority.
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// If source ranges are specified, the firewall will apply only to
	// traffic that has 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 properties are set, the firewall will
	// apply to traffic that has source IP address within sourceRanges OR the
	// source IP that belongs to a tag listed in the sourceTags property. The
	// connection does not need to match both properties for the firewall to
	// apply. IPv4 or IPv6 ranges are supported. For INGRESS traffic, one of
	// source_ranges, source_tags or source_service_accounts is required.
	// +listType=set
	SourceRanges []*string `json:"sourceRanges,omitempty" tf:"source_ranges,omitempty"`

	// If source service accounts are specified, the firewall will 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 will
	// apply to traffic that has source IP address within sourceRanges OR the
	// source IP belongs to an instance with service account listed in
	// sourceServiceAccount. The connection does not need to match both
	// properties for the firewall to apply. sourceServiceAccounts cannot be
	// used at the same time as sourceTags or targetTags. For INGRESS traffic,
	// one of source_ranges, source_tags or source_service_accounts is required.
	// +listType=set
	SourceServiceAccounts []*string `json:"sourceServiceAccounts,omitempty" tf:"source_service_accounts,omitempty"`

	// If source tags are specified, the firewall will apply only to traffic
	// with source IP that belongs to a tag listed in source tags. Source
	// tags cannot be used to control traffic to an instance's external IP
	// address. Because tags are associated with an instance, not an IP
	// address. One or both of sourceRanges and sourceTags may be set. If
	// both properties are set, the firewall will apply to traffic that has
	// source IP address within sourceRanges OR the source IP that belongs to
	// a tag listed in the sourceTags property. The connection does not need
	// to match both properties for the firewall to apply. For INGRESS traffic,
	// one of source_ranges, source_tags or source_service_accounts is required.
	// +listType=set
	SourceTags []*string `json:"sourceTags,omitempty" tf:"source_tags,omitempty"`

	// 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.
	// +listType=set
	TargetServiceAccounts []*string `json:"targetServiceAccounts,omitempty" tf:"target_service_accounts,omitempty"`

	// A list of instance tags indicating sets of instances located in the
	// network that may make network connections as specified in allowed[].
	// If no targetTags are specified, the firewall rule applies to all
	// instances on the specified network.
	// +listType=set
	TargetTags []*string `json:"targetTags,omitempty" tf:"target_tags,omitempty"`
}

func (*FirewallInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallInitParameters.

func (*FirewallInitParameters) DeepCopyInto

func (in *FirewallInitParameters) DeepCopyInto(out *FirewallInitParameters)

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 Firewalls

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 FirewallLogConfigInitParameters

type FirewallLogConfigInitParameters struct {

	// This field denotes whether to include or exclude metadata for firewall logs.
	// Possible values are: EXCLUDE_ALL_METADATA, INCLUDE_ALL_METADATA.
	Metadata *string `json:"metadata,omitempty" tf:"metadata,omitempty"`
}

func (*FirewallLogConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallLogConfigInitParameters.

func (*FirewallLogConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallLogConfigObservation

type FirewallLogConfigObservation struct {

	// This field denotes whether to include or exclude metadata for firewall logs.
	// Possible values are: EXCLUDE_ALL_METADATA, INCLUDE_ALL_METADATA.
	Metadata *string `json:"metadata,omitempty" tf:"metadata,omitempty"`
}

func (*FirewallLogConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallLogConfigObservation.

func (*FirewallLogConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallLogConfigParameters

type FirewallLogConfigParameters struct {

	// This field denotes whether to include or exclude metadata for firewall logs.
	// Possible values are: EXCLUDE_ALL_METADATA, INCLUDE_ALL_METADATA.
	// +kubebuilder:validation:Optional
	Metadata *string `json:"metadata" tf:"metadata,omitempty"`
}

func (*FirewallLogConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallLogConfigParameters.

func (*FirewallLogConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallObservation

type FirewallObservation struct {

	// The list of ALLOW rules specified by this firewall. Each rule
	// specifies a protocol and port-range tuple that describes a permitted
	// connection.
	// Structure is documented below.
	Allow []AllowObservation `json:"allow,omitempty" tf:"allow,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// The list of DENY rules specified by this firewall. Each rule specifies
	// a protocol and port-range tuple that describes a denied connection.
	// Structure is documented below.
	Deny []DenyObservation `json:"deny,omitempty" tf:"deny,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// If destination ranges are specified, the firewall will apply only to
	// traffic that has destination IP address in these ranges. These ranges
	// must be expressed in CIDR format. IPv4 or IPv6 ranges are supported.
	// +listType=set
	DestinationRanges []*string `json:"destinationRanges,omitempty" tf:"destination_ranges,omitempty"`

	// Direction of traffic to which this firewall applies; default is
	// INGRESS. Note: For INGRESS traffic, one of source_ranges,
	// source_tags or source_service_accounts is required.
	// Possible values are: INGRESS, EGRESS.
	Direction *string `json:"direction,omitempty" tf:"direction,omitempty"`

	// Denotes whether the firewall rule is disabled, i.e not applied to the
	// network it is associated with. 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.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// This field denotes whether to enable logging for a particular firewall rule.
	// If logging is enabled, logs will be exported to Stackdriver. Deprecated in favor of log_config
	EnableLogging *bool `json:"enableLogging,omitempty" tf:"enable_logging,omitempty"`

	// an identifier for the resource with format projects/{{project}}/global/firewalls/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// This field denotes the logging options for a particular firewall rule.
	// If defined, logging is enabled, and logs will be exported to Cloud Logging.
	// Structure is documented below.
	LogConfig *FirewallLogConfigObservation `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// The name or self_link of the network to attach this firewall to.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Priority for this rule. This is an integer between 0 and 65535, both
	// inclusive. When not specified, the value assumed is 1000. Relative
	// priorities determine precedence of conflicting rules. Lower value of
	// priority implies higher precedence (eg, a rule with priority 0 has
	// higher precedence than a rule with priority 1). DENY rules take
	// precedence over ALLOW rules having equal priority.
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// If source ranges are specified, the firewall will apply only to
	// traffic that has 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 properties are set, the firewall will
	// apply to traffic that has source IP address within sourceRanges OR the
	// source IP that belongs to a tag listed in the sourceTags property. The
	// connection does not need to match both properties for the firewall to
	// apply. IPv4 or IPv6 ranges are supported. For INGRESS traffic, one of
	// source_ranges, source_tags or source_service_accounts is required.
	// +listType=set
	SourceRanges []*string `json:"sourceRanges,omitempty" tf:"source_ranges,omitempty"`

	// If source service accounts are specified, the firewall will 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 will
	// apply to traffic that has source IP address within sourceRanges OR the
	// source IP belongs to an instance with service account listed in
	// sourceServiceAccount. The connection does not need to match both
	// properties for the firewall to apply. sourceServiceAccounts cannot be
	// used at the same time as sourceTags or targetTags. For INGRESS traffic,
	// one of source_ranges, source_tags or source_service_accounts is required.
	// +listType=set
	SourceServiceAccounts []*string `json:"sourceServiceAccounts,omitempty" tf:"source_service_accounts,omitempty"`

	// If source tags are specified, the firewall will apply only to traffic
	// with source IP that belongs to a tag listed in source tags. Source
	// tags cannot be used to control traffic to an instance's external IP
	// address. Because tags are associated with an instance, not an IP
	// address. One or both of sourceRanges and sourceTags may be set. If
	// both properties are set, the firewall will apply to traffic that has
	// source IP address within sourceRanges OR the source IP that belongs to
	// a tag listed in the sourceTags property. The connection does not need
	// to match both properties for the firewall to apply. For INGRESS traffic,
	// one of source_ranges, source_tags or source_service_accounts is required.
	// +listType=set
	SourceTags []*string `json:"sourceTags,omitempty" tf:"source_tags,omitempty"`

	// 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.
	// +listType=set
	TargetServiceAccounts []*string `json:"targetServiceAccounts,omitempty" tf:"target_service_accounts,omitempty"`

	// A list of instance tags indicating sets of instances located in the
	// network that may make network connections as specified in allowed[].
	// If no targetTags are specified, the firewall rule applies to all
	// instances on the specified network.
	// +listType=set
	TargetTags []*string `json:"targetTags,omitempty" tf:"target_tags,omitempty"`
}

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 {

	// The list of ALLOW rules specified by this firewall. Each rule
	// specifies a protocol and port-range tuple that describes a permitted
	// connection.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Allow []AllowParameters `json:"allow,omitempty" tf:"allow,omitempty"`

	// The list of DENY rules specified by this firewall. Each rule specifies
	// a protocol and port-range tuple that describes a denied connection.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Deny []DenyParameters `json:"deny,omitempty" tf:"deny,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// If destination ranges are specified, the firewall will apply only to
	// traffic that has destination IP address in these ranges. These ranges
	// must be expressed in CIDR format. IPv4 or IPv6 ranges are supported.
	// +kubebuilder:validation:Optional
	// +listType=set
	DestinationRanges []*string `json:"destinationRanges,omitempty" tf:"destination_ranges,omitempty"`

	// Direction of traffic to which this firewall applies; default is
	// INGRESS. Note: For INGRESS traffic, one of source_ranges,
	// source_tags or source_service_accounts is required.
	// Possible values are: INGRESS, EGRESS.
	// +kubebuilder:validation:Optional
	Direction *string `json:"direction,omitempty" tf:"direction,omitempty"`

	// Denotes whether the firewall rule is disabled, i.e not applied to the
	// network it is associated with. 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.
	// +kubebuilder:validation:Optional
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// This field denotes whether to enable logging for a particular firewall rule.
	// If logging is enabled, logs will be exported to Stackdriver. Deprecated in favor of log_config
	// +kubebuilder:validation:Optional
	EnableLogging *bool `json:"enableLogging,omitempty" tf:"enable_logging,omitempty"`

	// This field denotes the logging options for a particular firewall rule.
	// If defined, logging is enabled, and logs will be exported to Cloud Logging.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	LogConfig *FirewallLogConfigParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// The name or self_link of the network to attach this firewall to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +kubebuilder:validation:Optional
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// Priority for this rule. This is an integer between 0 and 65535, both
	// inclusive. When not specified, the value assumed is 1000. Relative
	// priorities determine precedence of conflicting rules. Lower value of
	// priority implies higher precedence (eg, a rule with priority 0 has
	// higher precedence than a rule with priority 1). DENY rules take
	// precedence over ALLOW rules having equal priority.
	// +kubebuilder:validation:Optional
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// If source ranges are specified, the firewall will apply only to
	// traffic that has 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 properties are set, the firewall will
	// apply to traffic that has source IP address within sourceRanges OR the
	// source IP that belongs to a tag listed in the sourceTags property. The
	// connection does not need to match both properties for the firewall to
	// apply. IPv4 or IPv6 ranges are supported. For INGRESS traffic, one of
	// source_ranges, source_tags or source_service_accounts is required.
	// +kubebuilder:validation:Optional
	// +listType=set
	SourceRanges []*string `json:"sourceRanges,omitempty" tf:"source_ranges,omitempty"`

	// If source service accounts are specified, the firewall will 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 will
	// apply to traffic that has source IP address within sourceRanges OR the
	// source IP belongs to an instance with service account listed in
	// sourceServiceAccount. The connection does not need to match both
	// properties for the firewall to apply. sourceServiceAccounts cannot be
	// used at the same time as sourceTags or targetTags. For INGRESS traffic,
	// one of source_ranges, source_tags or source_service_accounts is required.
	// +kubebuilder:validation:Optional
	// +listType=set
	SourceServiceAccounts []*string `json:"sourceServiceAccounts,omitempty" tf:"source_service_accounts,omitempty"`

	// If source tags are specified, the firewall will apply only to traffic
	// with source IP that belongs to a tag listed in source tags. Source
	// tags cannot be used to control traffic to an instance's external IP
	// address. Because tags are associated with an instance, not an IP
	// address. One or both of sourceRanges and sourceTags may be set. If
	// both properties are set, the firewall will apply to traffic that has
	// source IP address within sourceRanges OR the source IP that belongs to
	// a tag listed in the sourceTags property. The connection does not need
	// to match both properties for the firewall to apply. For INGRESS traffic,
	// one of source_ranges, source_tags or source_service_accounts is required.
	// +kubebuilder:validation:Optional
	// +listType=set
	SourceTags []*string `json:"sourceTags,omitempty" tf:"source_tags,omitempty"`

	// 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.
	// +kubebuilder:validation:Optional
	// +listType=set
	TargetServiceAccounts []*string `json:"targetServiceAccounts,omitempty" tf:"target_service_accounts,omitempty"`

	// A list of instance tags indicating sets of instances located in the
	// network that may make network connections as specified in allowed[].
	// If no targetTags are specified, the firewall rule applies to all
	// instances on the specified network.
	// +kubebuilder:validation:Optional
	// +listType=set
	TargetTags []*string `json:"targetTags,omitempty" tf:"target_tags,omitempty"`
}

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 FirewallPolicyRule

type FirewallPolicyRule struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.action) || (has(self.initProvider) && has(self.initProvider.action))",message="spec.forProvider.action is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.direction) || (has(self.initProvider) && has(self.initProvider.direction))",message="spec.forProvider.direction is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.match) || (has(self.initProvider) && has(self.initProvider.match))",message="spec.forProvider.match is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.priority) || (has(self.initProvider) && has(self.initProvider.priority))",message="spec.forProvider.priority is a required parameter"
	Spec   FirewallPolicyRuleSpec   `json:"spec"`
	Status FirewallPolicyRuleStatus `json:"status,omitempty"`
}

FirewallPolicyRule is the Schema for the FirewallPolicyRules API. The Compute FirewallPolicyRule resource +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*FirewallPolicyRule) DeepCopy

func (in *FirewallPolicyRule) DeepCopy() *FirewallPolicyRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyRule.

func (*FirewallPolicyRule) DeepCopyInto

func (in *FirewallPolicyRule) DeepCopyInto(out *FirewallPolicyRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FirewallPolicyRule) DeepCopyObject

func (in *FirewallPolicyRule) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*FirewallPolicyRule) GetCondition

func (mg *FirewallPolicyRule) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this FirewallPolicyRule.

func (*FirewallPolicyRule) GetConnectionDetailsMapping

func (tr *FirewallPolicyRule) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this FirewallPolicyRule

func (*FirewallPolicyRule) GetDeletionPolicy

func (mg *FirewallPolicyRule) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this FirewallPolicyRule.

func (*FirewallPolicyRule) GetID

func (tr *FirewallPolicyRule) GetID() string

GetID returns ID of underlying Terraform resource of this FirewallPolicyRule

func (*FirewallPolicyRule) GetInitParameters

func (tr *FirewallPolicyRule) GetInitParameters() (map[string]any, error)

GetInitParameters of this FirewallPolicyRule

func (*FirewallPolicyRule) GetManagementPolicies

func (mg *FirewallPolicyRule) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this FirewallPolicyRule.

func (*FirewallPolicyRule) GetMergedParameters

func (tr *FirewallPolicyRule) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this FirewallPolicyRule

func (*FirewallPolicyRule) GetObservation

func (tr *FirewallPolicyRule) GetObservation() (map[string]any, error)

GetObservation of this FirewallPolicyRule

func (*FirewallPolicyRule) GetParameters

func (tr *FirewallPolicyRule) GetParameters() (map[string]any, error)

GetParameters of this FirewallPolicyRule

func (*FirewallPolicyRule) GetProviderConfigReference

func (mg *FirewallPolicyRule) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this FirewallPolicyRule.

func (*FirewallPolicyRule) GetPublishConnectionDetailsTo

func (mg *FirewallPolicyRule) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this FirewallPolicyRule.

func (*FirewallPolicyRule) GetTerraformResourceType

func (mg *FirewallPolicyRule) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this FirewallPolicyRule

func (*FirewallPolicyRule) GetTerraformSchemaVersion

func (tr *FirewallPolicyRule) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*FirewallPolicyRule) GetWriteConnectionSecretToReference

func (mg *FirewallPolicyRule) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this FirewallPolicyRule.

func (*FirewallPolicyRule) Hub

func (tr *FirewallPolicyRule) Hub()

Hub marks this type as a conversion hub.

func (*FirewallPolicyRule) LateInitialize

func (tr *FirewallPolicyRule) LateInitialize(attrs []byte) (bool, error)

LateInitialize this FirewallPolicyRule using its observed tfState. returns True if there are any spec changes for the resource.

func (*FirewallPolicyRule) ResolveReferences

func (mg *FirewallPolicyRule) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this FirewallPolicyRule.

func (*FirewallPolicyRule) SetConditions

func (mg *FirewallPolicyRule) SetConditions(c ...xpv1.Condition)

SetConditions of this FirewallPolicyRule.

func (*FirewallPolicyRule) SetDeletionPolicy

func (mg *FirewallPolicyRule) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this FirewallPolicyRule.

func (*FirewallPolicyRule) SetManagementPolicies

func (mg *FirewallPolicyRule) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this FirewallPolicyRule.

func (*FirewallPolicyRule) SetObservation

func (tr *FirewallPolicyRule) SetObservation(obs map[string]any) error

SetObservation for this FirewallPolicyRule

func (*FirewallPolicyRule) SetParameters

func (tr *FirewallPolicyRule) SetParameters(params map[string]any) error

SetParameters for this FirewallPolicyRule

func (*FirewallPolicyRule) SetProviderConfigReference

func (mg *FirewallPolicyRule) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this FirewallPolicyRule.

func (*FirewallPolicyRule) SetPublishConnectionDetailsTo

func (mg *FirewallPolicyRule) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this FirewallPolicyRule.

func (*FirewallPolicyRule) SetWriteConnectionSecretToReference

func (mg *FirewallPolicyRule) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this FirewallPolicyRule.

type FirewallPolicyRuleInitParameters

type FirewallPolicyRuleInitParameters struct {

	// The Action to perform when the client connection triggers the rule. Valid actions are "allow", "deny" and "goto_next".
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// An optional description for this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The direction in which this rule applies. Possible values: INGRESS, EGRESS
	Direction *string `json:"direction,omitempty" tf:"direction,omitempty"`

	// Denotes whether the firewall policy rule is disabled. When set to true, the firewall policy rule is not enforced and traffic behaves as if it did not exist. If this is unspecified, the firewall policy rule will be enabled.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules.
	EnableLogging *bool `json:"enableLogging,omitempty" tf:"enable_logging,omitempty"`

	// The firewall policy of the resource.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.FirewallPolicy
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",true)
	FirewallPolicy *string `json:"firewallPolicy,omitempty" tf:"firewall_policy,omitempty"`

	// Reference to a FirewallPolicy in compute to populate firewallPolicy.
	// +kubebuilder:validation:Optional
	FirewallPolicyRef *v1.Reference `json:"firewallPolicyRef,omitempty" tf:"-"`

	// Selector for a FirewallPolicy in compute to populate firewallPolicy.
	// +kubebuilder:validation:Optional
	FirewallPolicySelector *v1.Selector `json:"firewallPolicySelector,omitempty" tf:"-"`

	// A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
	Match *MatchInitParameters `json:"match,omitempty" tf:"match,omitempty"`

	// An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority.
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.
	TargetResources []*string `json:"targetResources,omitempty" tf:"target_resources,omitempty"`

	// A list of service accounts indicating the sets of instances that are applied with this rule.
	TargetServiceAccounts []*string `json:"targetServiceAccounts,omitempty" tf:"target_service_accounts,omitempty"`
}

func (*FirewallPolicyRuleInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyRuleInitParameters.

func (*FirewallPolicyRuleInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallPolicyRuleList

type FirewallPolicyRuleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []FirewallPolicyRule `json:"items"`
}

FirewallPolicyRuleList contains a list of FirewallPolicyRules

func (*FirewallPolicyRuleList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyRuleList.

func (*FirewallPolicyRuleList) DeepCopyInto

func (in *FirewallPolicyRuleList) DeepCopyInto(out *FirewallPolicyRuleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FirewallPolicyRuleList) DeepCopyObject

func (in *FirewallPolicyRuleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*FirewallPolicyRuleList) GetItems

func (l *FirewallPolicyRuleList) GetItems() []resource.Managed

GetItems of this FirewallPolicyRuleList.

type FirewallPolicyRuleObservation

type FirewallPolicyRuleObservation struct {

	// The Action to perform when the client connection triggers the rule. Valid actions are "allow", "deny" and "goto_next".
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// An optional description for this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The direction in which this rule applies. Possible values: INGRESS, EGRESS
	Direction *string `json:"direction,omitempty" tf:"direction,omitempty"`

	// Denotes whether the firewall policy rule is disabled. When set to true, the firewall policy rule is not enforced and traffic behaves as if it did not exist. If this is unspecified, the firewall policy rule will be enabled.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules.
	EnableLogging *bool `json:"enableLogging,omitempty" tf:"enable_logging,omitempty"`

	// The firewall policy of the resource.
	FirewallPolicy *string `json:"firewallPolicy,omitempty" tf:"firewall_policy,omitempty"`

	// an identifier for the resource with format locations/global/firewallPolicies/{{firewall_policy}}/rules/{{priority}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Type of the resource. Always compute#firewallPolicyRule for firewall policy rules
	Kind *string `json:"kind,omitempty" tf:"kind,omitempty"`

	// A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
	Match *MatchObservation `json:"match,omitempty" tf:"match,omitempty"`

	// An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority.
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// Calculation of the complexity of a single firewall policy rule.
	RuleTupleCount *float64 `json:"ruleTupleCount,omitempty" tf:"rule_tuple_count,omitempty"`

	// A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.
	TargetResources []*string `json:"targetResources,omitempty" tf:"target_resources,omitempty"`

	// A list of service accounts indicating the sets of instances that are applied with this rule.
	TargetServiceAccounts []*string `json:"targetServiceAccounts,omitempty" tf:"target_service_accounts,omitempty"`
}

func (*FirewallPolicyRuleObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyRuleObservation.

func (*FirewallPolicyRuleObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallPolicyRuleParameters

type FirewallPolicyRuleParameters struct {

	// The Action to perform when the client connection triggers the rule. Valid actions are "allow", "deny" and "goto_next".
	// +kubebuilder:validation:Optional
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// An optional description for this resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The direction in which this rule applies. Possible values: INGRESS, EGRESS
	// +kubebuilder:validation:Optional
	Direction *string `json:"direction,omitempty" tf:"direction,omitempty"`

	// Denotes whether the firewall policy rule is disabled. When set to true, the firewall policy rule is not enforced and traffic behaves as if it did not exist. If this is unspecified, the firewall policy rule will be enabled.
	// +kubebuilder:validation:Optional
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules.
	// +kubebuilder:validation:Optional
	EnableLogging *bool `json:"enableLogging,omitempty" tf:"enable_logging,omitempty"`

	// The firewall policy of the resource.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.FirewallPolicy
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",true)
	// +kubebuilder:validation:Optional
	FirewallPolicy *string `json:"firewallPolicy,omitempty" tf:"firewall_policy,omitempty"`

	// Reference to a FirewallPolicy in compute to populate firewallPolicy.
	// +kubebuilder:validation:Optional
	FirewallPolicyRef *v1.Reference `json:"firewallPolicyRef,omitempty" tf:"-"`

	// Selector for a FirewallPolicy in compute to populate firewallPolicy.
	// +kubebuilder:validation:Optional
	FirewallPolicySelector *v1.Selector `json:"firewallPolicySelector,omitempty" tf:"-"`

	// A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
	// +kubebuilder:validation:Optional
	Match *MatchParameters `json:"match,omitempty" tf:"match,omitempty"`

	// An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority.
	// +kubebuilder:validation:Optional
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.
	// +kubebuilder:validation:Optional
	TargetResources []*string `json:"targetResources,omitempty" tf:"target_resources,omitempty"`

	// A list of service accounts indicating the sets of instances that are applied with this rule.
	// +kubebuilder:validation:Optional
	TargetServiceAccounts []*string `json:"targetServiceAccounts,omitempty" tf:"target_service_accounts,omitempty"`
}

func (*FirewallPolicyRuleParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyRuleParameters.

func (*FirewallPolicyRuleParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallPolicyRuleSpec

type FirewallPolicyRuleSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     FirewallPolicyRuleParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider FirewallPolicyRuleInitParameters `json:"initProvider,omitempty"`
}

FirewallPolicyRuleSpec defines the desired state of FirewallPolicyRule

func (*FirewallPolicyRuleSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyRuleSpec.

func (*FirewallPolicyRuleSpec) DeepCopyInto

func (in *FirewallPolicyRuleSpec) DeepCopyInto(out *FirewallPolicyRuleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallPolicyRuleStatus

type FirewallPolicyRuleStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        FirewallPolicyRuleObservation `json:"atProvider,omitempty"`
}

FirewallPolicyRuleStatus defines the observed state of FirewallPolicyRule.

func (*FirewallPolicyRuleStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyRuleStatus.

func (*FirewallPolicyRuleStatus) DeepCopyInto

func (in *FirewallPolicyRuleStatus) DeepCopyInto(out *FirewallPolicyRuleStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallSpec

type FirewallSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     FirewallParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider FirewallInitParameters `json:"initProvider,omitempty"`
}

FirewallSpec defines the desired state of 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 {
	v1.ResourceStatus `json:",inline"`
	AtProvider        FirewallObservation `json:"atProvider,omitempty"`
}

FirewallStatus defines the observed state of 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 FixedDelayInitParameters

type FixedDelayInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*FixedDelayInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FixedDelayInitParameters.

func (*FixedDelayInitParameters) DeepCopyInto

func (in *FixedDelayInitParameters) DeepCopyInto(out *FixedDelayInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FixedDelayObservation

type FixedDelayObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*FixedDelayObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FixedDelayObservation.

func (*FixedDelayObservation) DeepCopyInto

func (in *FixedDelayObservation) DeepCopyInto(out *FixedDelayObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FixedDelayParameters

type FixedDelayParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*FixedDelayParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FixedDelayParameters.

func (*FixedDelayParameters) DeepCopyInto

func (in *FixedDelayParameters) DeepCopyInto(out *FixedDelayParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ForwardingRule

type ForwardingRule struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ForwardingRuleSpec   `json:"spec"`
	Status            ForwardingRuleStatus `json:"status,omitempty"`
}

ForwardingRule is the Schema for the ForwardingRules API. A ForwardingRule resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*ForwardingRule) DeepCopy

func (in *ForwardingRule) DeepCopy() *ForwardingRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingRule.

func (*ForwardingRule) DeepCopyInto

func (in *ForwardingRule) DeepCopyInto(out *ForwardingRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ForwardingRule) DeepCopyObject

func (in *ForwardingRule) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ForwardingRule) GetCondition

func (mg *ForwardingRule) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this ForwardingRule.

func (*ForwardingRule) GetConnectionDetailsMapping

func (tr *ForwardingRule) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this ForwardingRule

func (*ForwardingRule) GetDeletionPolicy

func (mg *ForwardingRule) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this ForwardingRule.

func (*ForwardingRule) GetID

func (tr *ForwardingRule) GetID() string

GetID returns ID of underlying Terraform resource of this ForwardingRule

func (*ForwardingRule) GetInitParameters

func (tr *ForwardingRule) GetInitParameters() (map[string]any, error)

GetInitParameters of this ForwardingRule

func (*ForwardingRule) GetManagementPolicies

func (mg *ForwardingRule) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this ForwardingRule.

func (*ForwardingRule) GetMergedParameters

func (tr *ForwardingRule) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this ForwardingRule

func (*ForwardingRule) GetObservation

func (tr *ForwardingRule) GetObservation() (map[string]any, error)

GetObservation of this ForwardingRule

func (*ForwardingRule) GetParameters

func (tr *ForwardingRule) GetParameters() (map[string]any, error)

GetParameters of this ForwardingRule

func (*ForwardingRule) GetProviderConfigReference

func (mg *ForwardingRule) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this ForwardingRule.

func (*ForwardingRule) GetPublishConnectionDetailsTo

func (mg *ForwardingRule) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this ForwardingRule.

func (*ForwardingRule) GetTerraformResourceType

func (mg *ForwardingRule) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ForwardingRule

func (*ForwardingRule) GetTerraformSchemaVersion

func (tr *ForwardingRule) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ForwardingRule) GetWriteConnectionSecretToReference

func (mg *ForwardingRule) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this ForwardingRule.

func (*ForwardingRule) Hub

func (tr *ForwardingRule) Hub()

Hub marks this type as a conversion hub.

func (*ForwardingRule) LateInitialize

func (tr *ForwardingRule) LateInitialize(attrs []byte) (bool, error)

LateInitialize this ForwardingRule using its observed tfState. returns True if there are any spec changes for the resource.

func (*ForwardingRule) ResolveReferences

func (mg *ForwardingRule) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this ForwardingRule.

func (*ForwardingRule) SetConditions

func (mg *ForwardingRule) SetConditions(c ...xpv1.Condition)

SetConditions of this ForwardingRule.

func (*ForwardingRule) SetDeletionPolicy

func (mg *ForwardingRule) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this ForwardingRule.

func (*ForwardingRule) SetManagementPolicies

func (mg *ForwardingRule) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this ForwardingRule.

func (*ForwardingRule) SetObservation

func (tr *ForwardingRule) SetObservation(obs map[string]any) error

SetObservation for this ForwardingRule

func (*ForwardingRule) SetParameters

func (tr *ForwardingRule) SetParameters(params map[string]any) error

SetParameters for this ForwardingRule

func (*ForwardingRule) SetProviderConfigReference

func (mg *ForwardingRule) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this ForwardingRule.

func (*ForwardingRule) SetPublishConnectionDetailsTo

func (mg *ForwardingRule) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this ForwardingRule.

func (*ForwardingRule) SetWriteConnectionSecretToReference

func (mg *ForwardingRule) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this ForwardingRule.

type ForwardingRuleInitParameters

type ForwardingRuleInitParameters struct {

	// The ports, portRange, and allPorts fields are mutually exclusive.
	// Only packets addressed to ports in the specified range will be forwarded
	// to the backends configured with this forwarding rule.
	// The allPorts field has the following limitations:
	AllPorts *bool `json:"allPorts,omitempty" tf:"all_ports,omitempty"`

	// This field is used along with the backend_service field for
	// internal load balancing or with the target field for internal
	// TargetInstance.
	// If the field is set to TRUE, clients can access ILB from all
	// regions.
	// Otherwise only allows access from clients in the same region as the
	// internal load balancer.
	AllowGlobalAccess *bool `json:"allowGlobalAccess,omitempty" tf:"allow_global_access,omitempty"`

	// This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region.
	AllowPscGlobalAccess *bool `json:"allowPscGlobalAccess,omitempty" tf:"allow_psc_global_access,omitempty"`

	// Identifies the backend service to which the forwarding rule sends traffic.
	// Required for Internal TCP/UDP Load Balancing and Network Load Balancing;
	// must be omitted for all other load balancer types.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Reference to a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// IP address for which this forwarding rule accepts traffic. When a client
	// sends traffic to this IP address, the forwarding rule directs the traffic
	// to the referenced target or backendService.
	// While creating a forwarding rule, specifying an IPAddress is
	// required under the following circumstances:
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Address
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// Reference to a Address in compute to populate ipAddress.
	// +kubebuilder:validation:Optional
	IPAddressRef *v1.Reference `json:"ipAddressRef,omitempty" tf:"-"`

	// Selector for a Address in compute to populate ipAddress.
	// +kubebuilder:validation:Optional
	IPAddressSelector *v1.Selector `json:"ipAddressSelector,omitempty" tf:"-"`

	// The IP protocol to which this rule applies.
	// For protocol forwarding, valid
	// options are TCP, UDP, ESP,
	// AH, SCTP, ICMP and
	// L3_DEFAULT.
	// The valid IP protocols are different for different load balancing products
	// as described in Load balancing
	// features.
	// A Forwarding Rule with protocol L3_DEFAULT can attach with target instance or
	// backend service with UNSPECIFIED protocol.
	// A forwarding rule with "L3_DEFAULT" IPProtocal cannot be attached to a backend service with TCP or UDP.
	// Possible values are: TCP, UDP, ESP, AH, SCTP, ICMP, L3_DEFAULT.
	IPProtocol *string `json:"ipProtocol,omitempty" tf:"ip_protocol,omitempty"`

	// The IP address version that will be used by this forwarding rule.
	// Valid options are IPV4 and IPV6.
	// If not set, the IPv4 address will be used by default.
	// Possible values are: IPV4, IPV6.
	IPVersion *string `json:"ipVersion,omitempty" tf:"ip_version,omitempty"`

	// Indicates whether or not this load balancer can be used as a collector for
	// packet mirroring. To prevent mirroring loops, instances behind this
	// load balancer will not have their traffic mirrored even if a
	// PacketMirroring rule applies to them.
	// This can only be set to true for load balancers that have their
	// loadBalancingScheme set to INTERNAL.
	IsMirroringCollector *bool `json:"isMirroringCollector,omitempty" tf:"is_mirroring_collector,omitempty"`

	// Labels to apply to this forwarding rule.  A list of key->value pairs.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Specifies the forwarding rule type.
	// For more information about forwarding rules, refer to
	// Forwarding rule concepts.
	// Default value is EXTERNAL.
	// Possible values are: EXTERNAL, EXTERNAL_MANAGED, INTERNAL, INTERNAL_MANAGED.
	LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"`

	// This field is not used for external load balancing.
	// For Internal TCP/UDP Load Balancing, this field identifies the network that
	// the load balanced IP should belong to for this Forwarding Rule.
	// If the subnetwork is specified, the network of the subnetwork will be used.
	// If neither subnetwork nor this field is specified, the default network will
	// be used.
	// For Private Service Connect forwarding rules that forward traffic to Google
	// APIs, a network must be provided.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// This signifies the networking tier used for configuring
	// this load balancer and can only take the following values:
	// PREMIUM, STANDARD.
	// For regional ForwardingRule, the valid values are PREMIUM and
	// STANDARD. For GlobalForwardingRule, the valid value is
	// PREMIUM.
	// If this field is not specified, it is assumed to be PREMIUM.
	// If IPAddress is specified, this value must be equal to the
	// networkTier of the Address.
	// Possible values are: PREMIUM, STANDARD.
	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`

	// This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field.
	NoAutomateDNSZone *bool `json:"noAutomateDnsZone,omitempty" tf:"no_automate_dns_zone,omitempty"`

	// The ports, portRange, and allPorts fields are mutually exclusive.
	// Only packets addressed to ports in the specified range will be forwarded
	// to the backends configured with this forwarding rule.
	// The portRange field has the following limitations:
	PortRange *string `json:"portRange,omitempty" tf:"port_range,omitempty"`

	// The ports, portRange, and allPorts fields are mutually exclusive.
	// Only packets addressed to ports in the specified range will be forwarded
	// to the backends configured with this forwarding rule.
	// The ports field has the following limitations:
	// +listType=set
	Ports []*string `json:"ports,omitempty" tf:"ports,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// this is used in psc consumer forwardingrule to make provider recreate the forwardingrule when the status is closed
	RecreateClosedPsc *bool `json:"recreateClosedPsc,omitempty" tf:"recreate_closed_psc,omitempty"`

	// Service Directory resources to register this forwarding rule with.
	// Currently, only supports a single Service Directory resource.
	// Structure is documented below.
	ServiceDirectoryRegistrations *ServiceDirectoryRegistrationsInitParameters `json:"serviceDirectoryRegistrations,omitempty" tf:"service_directory_registrations,omitempty"`

	// An optional prefix to the service name for this Forwarding Rule.
	// If specified, will be the first label of the fully qualified service
	// name.
	// The label must be 1-63 characters long, and comply with RFC1035.
	// Specifically, the label 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.
	// This field is only used for INTERNAL load balancing.
	ServiceLabel *string `json:"serviceLabel,omitempty" tf:"service_label,omitempty"`

	// If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each sourceIpRange entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
	SourceIPRanges []*string `json:"sourceIpRanges,omitempty" tf:"source_ip_ranges,omitempty"`

	// This field identifies the subnetwork that the load balanced IP should
	// belong to for this Forwarding Rule, used in internal load balancing and
	// network load balancing with IPv6.
	// If the network specified is in auto subnet mode, this field is optional.
	// However, a subnetwork must be specified if the network is in custom subnet
	// mode or when creating external forwarding rule with IPv6.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// Reference to a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"`

	// is set to targetGrpcProxy and
	// validateForProxyless is set to true, the
	// IPAddress should be set to 0.0.0.0.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionTargetHTTPProxy
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// Reference to a RegionTargetHTTPProxy in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetRef *v1.Reference `json:"targetRef,omitempty" tf:"-"`

	// Selector for a RegionTargetHTTPProxy in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetSelector *v1.Selector `json:"targetSelector,omitempty" tf:"-"`
}

func (*ForwardingRuleInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingRuleInitParameters.

func (*ForwardingRuleInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ForwardingRuleList

type ForwardingRuleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ForwardingRule `json:"items"`
}

ForwardingRuleList contains a list of ForwardingRules

func (*ForwardingRuleList) DeepCopy

func (in *ForwardingRuleList) DeepCopy() *ForwardingRuleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingRuleList.

func (*ForwardingRuleList) DeepCopyInto

func (in *ForwardingRuleList) DeepCopyInto(out *ForwardingRuleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ForwardingRuleList) DeepCopyObject

func (in *ForwardingRuleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ForwardingRuleList) GetItems

func (l *ForwardingRuleList) GetItems() []resource.Managed

GetItems of this ForwardingRuleList.

type ForwardingRuleObservation

type ForwardingRuleObservation struct {

	// The ports, portRange, and allPorts fields are mutually exclusive.
	// Only packets addressed to ports in the specified range will be forwarded
	// to the backends configured with this forwarding rule.
	// The allPorts field has the following limitations:
	AllPorts *bool `json:"allPorts,omitempty" tf:"all_ports,omitempty"`

	// This field is used along with the backend_service field for
	// internal load balancing or with the target field for internal
	// TargetInstance.
	// If the field is set to TRUE, clients can access ILB from all
	// regions.
	// Otherwise only allows access from clients in the same region as the
	// internal load balancer.
	AllowGlobalAccess *bool `json:"allowGlobalAccess,omitempty" tf:"allow_global_access,omitempty"`

	// This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region.
	AllowPscGlobalAccess *bool `json:"allowPscGlobalAccess,omitempty" tf:"allow_psc_global_access,omitempty"`

	// Identifies the backend service to which the forwarding rule sends traffic.
	// Required for Internal TCP/UDP Load Balancing and Network Load Balancing;
	// must be omitted for all other load balancer types.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// [Output Only] The URL for the corresponding base Forwarding Rule. By base Forwarding Rule, we mean the Forwarding Rule that has the same IP address, protocol, and port settings with the current Forwarding Rule, but without sourceIPRanges specified. Always empty if the current Forwarding Rule does not have sourceIPRanges specified.
	BaseForwardingRule *string `json:"baseForwardingRule,omitempty" tf:"base_forwarding_rule,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// for all of the labels present on the resource.
	// +mapType=granular
	EffectiveLabels map[string]*string `json:"effectiveLabels,omitempty" tf:"effective_labels,omitempty"`

	// an identifier for the resource with format projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// IP address for which this forwarding rule accepts traffic. When a client
	// sends traffic to this IP address, the forwarding rule directs the traffic
	// to the referenced target or backendService.
	// While creating a forwarding rule, specifying an IPAddress is
	// required under the following circumstances:
	IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// The IP protocol to which this rule applies.
	// For protocol forwarding, valid
	// options are TCP, UDP, ESP,
	// AH, SCTP, ICMP and
	// L3_DEFAULT.
	// The valid IP protocols are different for different load balancing products
	// as described in Load balancing
	// features.
	// A Forwarding Rule with protocol L3_DEFAULT can attach with target instance or
	// backend service with UNSPECIFIED protocol.
	// A forwarding rule with "L3_DEFAULT" IPProtocal cannot be attached to a backend service with TCP or UDP.
	// Possible values are: TCP, UDP, ESP, AH, SCTP, ICMP, L3_DEFAULT.
	IPProtocol *string `json:"ipProtocol,omitempty" tf:"ip_protocol,omitempty"`

	// The IP address version that will be used by this forwarding rule.
	// Valid options are IPV4 and IPV6.
	// If not set, the IPv4 address will be used by default.
	// Possible values are: IPV4, IPV6.
	IPVersion *string `json:"ipVersion,omitempty" tf:"ip_version,omitempty"`

	// Indicates whether or not this load balancer can be used as a collector for
	// packet mirroring. To prevent mirroring loops, instances behind this
	// load balancer will not have their traffic mirrored even if a
	// PacketMirroring rule applies to them.
	// This can only be set to true for load balancers that have their
	// loadBalancingScheme set to INTERNAL.
	IsMirroringCollector *bool `json:"isMirroringCollector,omitempty" tf:"is_mirroring_collector,omitempty"`

	// The fingerprint used for optimistic locking of this resource.  Used
	// internally during updates.
	LabelFingerprint *string `json:"labelFingerprint,omitempty" tf:"label_fingerprint,omitempty"`

	// Labels to apply to this forwarding rule.  A list of key->value pairs.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Specifies the forwarding rule type.
	// For more information about forwarding rules, refer to
	// Forwarding rule concepts.
	// Default value is EXTERNAL.
	// Possible values are: EXTERNAL, EXTERNAL_MANAGED, INTERNAL, INTERNAL_MANAGED.
	LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"`

	// This field is not used for external load balancing.
	// For Internal TCP/UDP Load Balancing, this field identifies the network that
	// the load balanced IP should belong to for this Forwarding Rule.
	// If the subnetwork is specified, the network of the subnetwork will be used.
	// If neither subnetwork nor this field is specified, the default network will
	// be used.
	// For Private Service Connect forwarding rules that forward traffic to Google
	// APIs, a network must be provided.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// This signifies the networking tier used for configuring
	// this load balancer and can only take the following values:
	// PREMIUM, STANDARD.
	// For regional ForwardingRule, the valid values are PREMIUM and
	// STANDARD. For GlobalForwardingRule, the valid value is
	// PREMIUM.
	// If this field is not specified, it is assumed to be PREMIUM.
	// If IPAddress is specified, this value must be equal to the
	// networkTier of the Address.
	// Possible values are: PREMIUM, STANDARD.
	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`

	// This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field.
	NoAutomateDNSZone *bool `json:"noAutomateDnsZone,omitempty" tf:"no_automate_dns_zone,omitempty"`

	// The ports, portRange, and allPorts fields are mutually exclusive.
	// Only packets addressed to ports in the specified range will be forwarded
	// to the backends configured with this forwarding rule.
	// The portRange field has the following limitations:
	PortRange *string `json:"portRange,omitempty" tf:"port_range,omitempty"`

	// The ports, portRange, and allPorts fields are mutually exclusive.
	// Only packets addressed to ports in the specified range will be forwarded
	// to the backends configured with this forwarding rule.
	// The ports field has the following limitations:
	// +listType=set
	Ports []*string `json:"ports,omitempty" tf:"ports,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The PSC connection id of the PSC Forwarding Rule.
	PscConnectionID *string `json:"pscConnectionId,omitempty" tf:"psc_connection_id,omitempty"`

	// The PSC connection status of the PSC Forwarding Rule. Possible values: STATUS_UNSPECIFIED, PENDING, ACCEPTED, REJECTED, CLOSED
	PscConnectionStatus *string `json:"pscConnectionStatus,omitempty" tf:"psc_connection_status,omitempty"`

	// this is used in psc consumer forwardingrule to make provider recreate the forwardingrule when the status is closed
	RecreateClosedPsc *bool `json:"recreateClosedPsc,omitempty" tf:"recreate_closed_psc,omitempty"`

	// A reference to the region where the regional forwarding rule resides.
	// This field is not applicable to global forwarding rules.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// Service Directory resources to register this forwarding rule with.
	// Currently, only supports a single Service Directory resource.
	// Structure is documented below.
	ServiceDirectoryRegistrations *ServiceDirectoryRegistrationsObservation `json:"serviceDirectoryRegistrations,omitempty" tf:"service_directory_registrations,omitempty"`

	// An optional prefix to the service name for this Forwarding Rule.
	// If specified, will be the first label of the fully qualified service
	// name.
	// The label must be 1-63 characters long, and comply with RFC1035.
	// Specifically, the label 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.
	// This field is only used for INTERNAL load balancing.
	ServiceLabel *string `json:"serviceLabel,omitempty" tf:"service_label,omitempty"`

	// The internal fully qualified service name for this Forwarding Rule.
	// This field is only used for INTERNAL load balancing.
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`

	// If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each sourceIpRange entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
	SourceIPRanges []*string `json:"sourceIpRanges,omitempty" tf:"source_ip_ranges,omitempty"`

	// This field identifies the subnetwork that the load balanced IP should
	// belong to for this Forwarding Rule, used in internal load balancing and
	// network load balancing with IPv6.
	// If the network specified is in auto subnet mode, this field is optional.
	// However, a subnetwork must be specified if the network is in custom subnet
	// mode or when creating external forwarding rule with IPv6.
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// is set to targetGrpcProxy and
	// validateForProxyless is set to true, the
	// IPAddress should be set to 0.0.0.0.
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	// +mapType=granular
	TerraformLabels map[string]*string `json:"terraformLabels,omitempty" tf:"terraform_labels,omitempty"`
}

func (*ForwardingRuleObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingRuleObservation.

func (*ForwardingRuleObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ForwardingRuleParameters

type ForwardingRuleParameters struct {

	// The ports, portRange, and allPorts fields are mutually exclusive.
	// Only packets addressed to ports in the specified range will be forwarded
	// to the backends configured with this forwarding rule.
	// The allPorts field has the following limitations:
	// +kubebuilder:validation:Optional
	AllPorts *bool `json:"allPorts,omitempty" tf:"all_ports,omitempty"`

	// This field is used along with the backend_service field for
	// internal load balancing or with the target field for internal
	// TargetInstance.
	// If the field is set to TRUE, clients can access ILB from all
	// regions.
	// Otherwise only allows access from clients in the same region as the
	// internal load balancer.
	// +kubebuilder:validation:Optional
	AllowGlobalAccess *bool `json:"allowGlobalAccess,omitempty" tf:"allow_global_access,omitempty"`

	// This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region.
	// +kubebuilder:validation:Optional
	AllowPscGlobalAccess *bool `json:"allowPscGlobalAccess,omitempty" tf:"allow_psc_global_access,omitempty"`

	// Identifies the backend service to which the forwarding rule sends traffic.
	// Required for Internal TCP/UDP Load Balancing and Network Load Balancing;
	// must be omitted for all other load balancer types.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +kubebuilder:validation:Optional
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Reference to a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// IP address for which this forwarding rule accepts traffic. When a client
	// sends traffic to this IP address, the forwarding rule directs the traffic
	// to the referenced target or backendService.
	// While creating a forwarding rule, specifying an IPAddress is
	// required under the following circumstances:
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Address
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +kubebuilder:validation:Optional
	IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// Reference to a Address in compute to populate ipAddress.
	// +kubebuilder:validation:Optional
	IPAddressRef *v1.Reference `json:"ipAddressRef,omitempty" tf:"-"`

	// Selector for a Address in compute to populate ipAddress.
	// +kubebuilder:validation:Optional
	IPAddressSelector *v1.Selector `json:"ipAddressSelector,omitempty" tf:"-"`

	// The IP protocol to which this rule applies.
	// For protocol forwarding, valid
	// options are TCP, UDP, ESP,
	// AH, SCTP, ICMP and
	// L3_DEFAULT.
	// The valid IP protocols are different for different load balancing products
	// as described in Load balancing
	// features.
	// A Forwarding Rule with protocol L3_DEFAULT can attach with target instance or
	// backend service with UNSPECIFIED protocol.
	// A forwarding rule with "L3_DEFAULT" IPProtocal cannot be attached to a backend service with TCP or UDP.
	// Possible values are: TCP, UDP, ESP, AH, SCTP, ICMP, L3_DEFAULT.
	// +kubebuilder:validation:Optional
	IPProtocol *string `json:"ipProtocol,omitempty" tf:"ip_protocol,omitempty"`

	// The IP address version that will be used by this forwarding rule.
	// Valid options are IPV4 and IPV6.
	// If not set, the IPv4 address will be used by default.
	// Possible values are: IPV4, IPV6.
	// +kubebuilder:validation:Optional
	IPVersion *string `json:"ipVersion,omitempty" tf:"ip_version,omitempty"`

	// Indicates whether or not this load balancer can be used as a collector for
	// packet mirroring. To prevent mirroring loops, instances behind this
	// load balancer will not have their traffic mirrored even if a
	// PacketMirroring rule applies to them.
	// This can only be set to true for load balancers that have their
	// loadBalancingScheme set to INTERNAL.
	// +kubebuilder:validation:Optional
	IsMirroringCollector *bool `json:"isMirroringCollector,omitempty" tf:"is_mirroring_collector,omitempty"`

	// Labels to apply to this forwarding rule.  A list of key->value pairs.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Specifies the forwarding rule type.
	// For more information about forwarding rules, refer to
	// Forwarding rule concepts.
	// Default value is EXTERNAL.
	// Possible values are: EXTERNAL, EXTERNAL_MANAGED, INTERNAL, INTERNAL_MANAGED.
	// +kubebuilder:validation:Optional
	LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"`

	// This field is not used for external load balancing.
	// For Internal TCP/UDP Load Balancing, this field identifies the network that
	// the load balanced IP should belong to for this Forwarding Rule.
	// If the subnetwork is specified, the network of the subnetwork will be used.
	// If neither subnetwork nor this field is specified, the default network will
	// be used.
	// For Private Service Connect forwarding rules that forward traffic to Google
	// APIs, a network must be provided.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +kubebuilder:validation:Optional
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// This signifies the networking tier used for configuring
	// this load balancer and can only take the following values:
	// PREMIUM, STANDARD.
	// For regional ForwardingRule, the valid values are PREMIUM and
	// STANDARD. For GlobalForwardingRule, the valid value is
	// PREMIUM.
	// If this field is not specified, it is assumed to be PREMIUM.
	// If IPAddress is specified, this value must be equal to the
	// networkTier of the Address.
	// Possible values are: PREMIUM, STANDARD.
	// +kubebuilder:validation:Optional
	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`

	// This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field.
	// +kubebuilder:validation:Optional
	NoAutomateDNSZone *bool `json:"noAutomateDnsZone,omitempty" tf:"no_automate_dns_zone,omitempty"`

	// The ports, portRange, and allPorts fields are mutually exclusive.
	// Only packets addressed to ports in the specified range will be forwarded
	// to the backends configured with this forwarding rule.
	// The portRange field has the following limitations:
	// +kubebuilder:validation:Optional
	PortRange *string `json:"portRange,omitempty" tf:"port_range,omitempty"`

	// The ports, portRange, and allPorts fields are mutually exclusive.
	// Only packets addressed to ports in the specified range will be forwarded
	// to the backends configured with this forwarding rule.
	// The ports field has the following limitations:
	// +kubebuilder:validation:Optional
	// +listType=set
	Ports []*string `json:"ports,omitempty" tf:"ports,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// this is used in psc consumer forwardingrule to make provider recreate the forwardingrule when the status is closed
	// +kubebuilder:validation:Optional
	RecreateClosedPsc *bool `json:"recreateClosedPsc,omitempty" tf:"recreate_closed_psc,omitempty"`

	// A reference to the region where the regional forwarding rule resides.
	// This field is not applicable to global forwarding rules.
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"region,omitempty"`

	// Service Directory resources to register this forwarding rule with.
	// Currently, only supports a single Service Directory resource.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ServiceDirectoryRegistrations *ServiceDirectoryRegistrationsParameters `json:"serviceDirectoryRegistrations,omitempty" tf:"service_directory_registrations,omitempty"`

	// An optional prefix to the service name for this Forwarding Rule.
	// If specified, will be the first label of the fully qualified service
	// name.
	// The label must be 1-63 characters long, and comply with RFC1035.
	// Specifically, the label 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.
	// This field is only used for INTERNAL load balancing.
	// +kubebuilder:validation:Optional
	ServiceLabel *string `json:"serviceLabel,omitempty" tf:"service_label,omitempty"`

	// If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each sourceIpRange entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
	// +kubebuilder:validation:Optional
	SourceIPRanges []*string `json:"sourceIpRanges,omitempty" tf:"source_ip_ranges,omitempty"`

	// This field identifies the subnetwork that the load balanced IP should
	// belong to for this Forwarding Rule, used in internal load balancing and
	// network load balancing with IPv6.
	// If the network specified is in auto subnet mode, this field is optional.
	// However, a subnetwork must be specified if the network is in custom subnet
	// mode or when creating external forwarding rule with IPv6.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +kubebuilder:validation:Optional
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// Reference to a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"`

	// is set to targetGrpcProxy and
	// validateForProxyless is set to true, the
	// IPAddress should be set to 0.0.0.0.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RegionTargetHTTPProxy
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +kubebuilder:validation:Optional
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// Reference to a RegionTargetHTTPProxy in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetRef *v1.Reference `json:"targetRef,omitempty" tf:"-"`

	// Selector for a RegionTargetHTTPProxy in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetSelector *v1.Selector `json:"targetSelector,omitempty" tf:"-"`
}

func (*ForwardingRuleParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingRuleParameters.

func (*ForwardingRuleParameters) DeepCopyInto

func (in *ForwardingRuleParameters) DeepCopyInto(out *ForwardingRuleParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ForwardingRuleSpec

type ForwardingRuleSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ForwardingRuleParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ForwardingRuleInitParameters `json:"initProvider,omitempty"`
}

ForwardingRuleSpec defines the desired state of ForwardingRule

func (*ForwardingRuleSpec) DeepCopy

func (in *ForwardingRuleSpec) DeepCopy() *ForwardingRuleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingRuleSpec.

func (*ForwardingRuleSpec) DeepCopyInto

func (in *ForwardingRuleSpec) DeepCopyInto(out *ForwardingRuleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ForwardingRuleStatus

type ForwardingRuleStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ForwardingRuleObservation `json:"atProvider,omitempty"`
}

ForwardingRuleStatus defines the observed state of ForwardingRule.

func (*ForwardingRuleStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingRuleStatus.

func (*ForwardingRuleStatus) DeepCopyInto

func (in *ForwardingRuleStatus) DeepCopyInto(out *ForwardingRuleStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GRPCHealthCheckInitParameters

type GRPCHealthCheckInitParameters struct {

	// The gRPC service name for the health check.
	// The value of grpcServiceName has the following meanings by convention:
	GRPCServiceName *string `json:"grpcServiceName,omitempty" tf:"grpc_service_name,omitempty"`

	// The port number for the health check request.
	// Must be specified if portName and portSpecification are not set
	// or if port_specification is USE_FIXED_PORT. Valid values are 1 through 65535.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`
}

func (*GRPCHealthCheckInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCHealthCheckInitParameters.

func (*GRPCHealthCheckInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GRPCHealthCheckObservation

type GRPCHealthCheckObservation struct {

	// The gRPC service name for the health check.
	// The value of grpcServiceName has the following meanings by convention:
	GRPCServiceName *string `json:"grpcServiceName,omitempty" tf:"grpc_service_name,omitempty"`

	// The port number for the health check request.
	// Must be specified if portName and portSpecification are not set
	// or if port_specification is USE_FIXED_PORT. Valid values are 1 through 65535.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`
}

func (*GRPCHealthCheckObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCHealthCheckObservation.

func (*GRPCHealthCheckObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GRPCHealthCheckParameters

type GRPCHealthCheckParameters struct {

	// The gRPC service name for the health check.
	// The value of grpcServiceName has the following meanings by convention:
	// +kubebuilder:validation:Optional
	GRPCServiceName *string `json:"grpcServiceName,omitempty" tf:"grpc_service_name,omitempty"`

	// The port number for the health check request.
	// Must be specified if portName and portSpecification are not set
	// or if port_specification is USE_FIXED_PORT. Valid values are 1 through 65535.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	// +kubebuilder:validation:Optional
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	// +kubebuilder:validation:Optional
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`
}

func (*GRPCHealthCheckParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCHealthCheckParameters.

func (*GRPCHealthCheckParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalForwardingRule

type GlobalForwardingRule struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              GlobalForwardingRuleSpec   `json:"spec"`
	Status            GlobalForwardingRuleStatus `json:"status,omitempty"`
}

GlobalForwardingRule is the Schema for the GlobalForwardingRules API. Represents a GlobalForwardingRule resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*GlobalForwardingRule) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRule.

func (*GlobalForwardingRule) DeepCopyInto

func (in *GlobalForwardingRule) DeepCopyInto(out *GlobalForwardingRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GlobalForwardingRule) DeepCopyObject

func (in *GlobalForwardingRule) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GlobalForwardingRule) GetCondition

func (mg *GlobalForwardingRule) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this GlobalForwardingRule.

func (*GlobalForwardingRule) GetConnectionDetailsMapping

func (tr *GlobalForwardingRule) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this GlobalForwardingRule

func (*GlobalForwardingRule) GetDeletionPolicy

func (mg *GlobalForwardingRule) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this GlobalForwardingRule.

func (*GlobalForwardingRule) GetID

func (tr *GlobalForwardingRule) GetID() string

GetID returns ID of underlying Terraform resource of this GlobalForwardingRule

func (*GlobalForwardingRule) GetInitParameters

func (tr *GlobalForwardingRule) GetInitParameters() (map[string]any, error)

GetInitParameters of this GlobalForwardingRule

func (*GlobalForwardingRule) GetManagementPolicies

func (mg *GlobalForwardingRule) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this GlobalForwardingRule.

func (*GlobalForwardingRule) GetMergedParameters

func (tr *GlobalForwardingRule) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this GlobalForwardingRule

func (*GlobalForwardingRule) GetObservation

func (tr *GlobalForwardingRule) GetObservation() (map[string]any, error)

GetObservation of this GlobalForwardingRule

func (*GlobalForwardingRule) GetParameters

func (tr *GlobalForwardingRule) GetParameters() (map[string]any, error)

GetParameters of this GlobalForwardingRule

func (*GlobalForwardingRule) GetProviderConfigReference

func (mg *GlobalForwardingRule) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this GlobalForwardingRule.

func (*GlobalForwardingRule) GetPublishConnectionDetailsTo

func (mg *GlobalForwardingRule) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this GlobalForwardingRule.

func (*GlobalForwardingRule) GetTerraformResourceType

func (mg *GlobalForwardingRule) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this GlobalForwardingRule

func (*GlobalForwardingRule) GetTerraformSchemaVersion

func (tr *GlobalForwardingRule) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*GlobalForwardingRule) GetWriteConnectionSecretToReference

func (mg *GlobalForwardingRule) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this GlobalForwardingRule.

func (*GlobalForwardingRule) Hub

func (tr *GlobalForwardingRule) Hub()

Hub marks this type as a conversion hub.

func (*GlobalForwardingRule) LateInitialize

func (tr *GlobalForwardingRule) LateInitialize(attrs []byte) (bool, error)

LateInitialize this GlobalForwardingRule using its observed tfState. returns True if there are any spec changes for the resource.

func (*GlobalForwardingRule) ResolveReferences

func (mg *GlobalForwardingRule) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this GlobalForwardingRule.

func (*GlobalForwardingRule) SetConditions

func (mg *GlobalForwardingRule) SetConditions(c ...xpv1.Condition)

SetConditions of this GlobalForwardingRule.

func (*GlobalForwardingRule) SetDeletionPolicy

func (mg *GlobalForwardingRule) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this GlobalForwardingRule.

func (*GlobalForwardingRule) SetManagementPolicies

func (mg *GlobalForwardingRule) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this GlobalForwardingRule.

func (*GlobalForwardingRule) SetObservation

func (tr *GlobalForwardingRule) SetObservation(obs map[string]any) error

SetObservation for this GlobalForwardingRule

func (*GlobalForwardingRule) SetParameters

func (tr *GlobalForwardingRule) SetParameters(params map[string]any) error

SetParameters for this GlobalForwardingRule

func (*GlobalForwardingRule) SetProviderConfigReference

func (mg *GlobalForwardingRule) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this GlobalForwardingRule.

func (*GlobalForwardingRule) SetPublishConnectionDetailsTo

func (mg *GlobalForwardingRule) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this GlobalForwardingRule.

func (*GlobalForwardingRule) SetWriteConnectionSecretToReference

func (mg *GlobalForwardingRule) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this GlobalForwardingRule.

type GlobalForwardingRuleInitParameters

type GlobalForwardingRuleInitParameters struct {

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// IP address for which this forwarding rule accepts traffic. When a client
	// sends traffic to this IP address, the forwarding rule directs the traffic
	// to the referenced target.
	// While creating a forwarding rule, specifying an IPAddress is
	// required under the following circumstances:
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.GlobalAddress
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// Reference to a GlobalAddress in compute to populate ipAddress.
	// +kubebuilder:validation:Optional
	IPAddressRef *v1.Reference `json:"ipAddressRef,omitempty" tf:"-"`

	// Selector for a GlobalAddress in compute to populate ipAddress.
	// +kubebuilder:validation:Optional
	IPAddressSelector *v1.Selector `json:"ipAddressSelector,omitempty" tf:"-"`

	// The IP protocol to which this rule applies.
	// For protocol forwarding, valid
	// options are TCP, UDP, ESP,
	// AH, SCTP, ICMP and
	// L3_DEFAULT.
	// The valid IP protocols are different for different load balancing products
	// as described in Load balancing
	// features.
	// Possible values are: TCP, UDP, ESP, AH, SCTP, ICMP.
	IPProtocol *string `json:"ipProtocol,omitempty" tf:"ip_protocol,omitempty"`

	// The IP Version that will be used by this global forwarding rule.
	// Possible values are: IPV4, IPV6.
	IPVersion *string `json:"ipVersion,omitempty" tf:"ip_version,omitempty"`

	// Labels to apply to this forwarding rule.  A list of key->value pairs.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Specifies the forwarding rule type.
	// For more information about forwarding rules, refer to
	// Forwarding rule concepts.
	// Default value is EXTERNAL.
	// Possible values are: EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED.
	LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"`

	// Opaque filter criteria used by Loadbalancer to restrict routing
	// configuration to a limited set xDS compliant clients. In their xDS
	// requests to Loadbalancer, xDS clients present node metadata. If a
	// match takes place, the relevant routing configuration is made available
	// to those proxies.
	// For each metadataFilter in this list, if its filterMatchCriteria is set
	// to MATCH_ANY, at least one of the filterLabels must match the
	// corresponding label provided in the metadata. If its filterMatchCriteria
	// is set to MATCH_ALL, then all of its filterLabels must match with
	// corresponding labels in the provided metadata.
	// metadataFilters specified here can be overridden by those specified in
	// the UrlMap that this ForwardingRule references.
	// metadataFilters only applies to Loadbalancers that have their
	// loadBalancingScheme set to INTERNAL_SELF_MANAGED.
	// Structure is documented below.
	MetadataFilters []MetadataFiltersInitParameters `json:"metadataFilters,omitempty" tf:"metadata_filters,omitempty"`

	// This field is not used for external load balancing.
	// For Internal TCP/UDP Load Balancing, this field identifies the network that
	// the load balanced IP should belong to for this Forwarding Rule.
	// If the subnetwork is specified, the network of the subnetwork will be used.
	// If neither subnetwork nor this field is specified, the default network will
	// be used.
	// For Private Service Connect forwarding rules that forward traffic to Google
	// APIs, a network must be provided.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field.
	NoAutomateDNSZone *bool `json:"noAutomateDnsZone,omitempty" tf:"no_automate_dns_zone,omitempty"`

	// The portRange field has the following limitations:
	PortRange *string `json:"portRange,omitempty" tf:"port_range,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project",false)
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Reference to a Network in compute to populate project.
	// +kubebuilder:validation:Optional
	ProjectRef *v1.Reference `json:"projectRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate project.
	// +kubebuilder:validation:Optional
	ProjectSelector *v1.Selector `json:"projectSelector,omitempty" tf:"-"`

	// Service Directory resources to register this forwarding rule with.
	// Currently, only supports a single Service Directory resource.
	// Structure is documented below.
	ServiceDirectoryRegistrations *GlobalForwardingRuleServiceDirectoryRegistrationsInitParameters `json:"serviceDirectoryRegistrations,omitempty" tf:"service_directory_registrations,omitempty"`

	// If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each sourceIpRange entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
	SourceIPRanges []*string `json:"sourceIpRanges,omitempty" tf:"source_ip_ranges,omitempty"`

	// This field identifies the subnetwork that the load balanced IP should
	// belong to for this Forwarding Rule, used in internal load balancing and
	// network load balancing with IPv6.
	// If the network specified is in auto subnet mode, this field is optional.
	// However, a subnetwork must be specified if the network is in custom subnet
	// mode or when creating external forwarding rule with IPv6.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// Reference to a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"`

	// The URL of the target resource to receive the matched traffic.  For
	// regional forwarding rules, this target must be in the same region as the
	// forwarding rule. For global forwarding rules, this target must be a global
	// load balancing resource.
	// The forwarded traffic must be of a type appropriate to the target object.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.TargetSSLProxy
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// Reference to a TargetSSLProxy in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetRef *v1.Reference `json:"targetRef,omitempty" tf:"-"`

	// Selector for a TargetSSLProxy in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetSelector *v1.Selector `json:"targetSelector,omitempty" tf:"-"`
}

func (*GlobalForwardingRuleInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRuleInitParameters.

func (*GlobalForwardingRuleInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalForwardingRuleList

type GlobalForwardingRuleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GlobalForwardingRule `json:"items"`
}

GlobalForwardingRuleList contains a list of GlobalForwardingRules

func (*GlobalForwardingRuleList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRuleList.

func (*GlobalForwardingRuleList) DeepCopyInto

func (in *GlobalForwardingRuleList) DeepCopyInto(out *GlobalForwardingRuleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GlobalForwardingRuleList) DeepCopyObject

func (in *GlobalForwardingRuleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GlobalForwardingRuleList) GetItems

func (l *GlobalForwardingRuleList) GetItems() []resource.Managed

GetItems of this GlobalForwardingRuleList.

type GlobalForwardingRuleObservation

type GlobalForwardingRuleObservation struct {

	// [Output Only] The URL for the corresponding base Forwarding Rule. By base Forwarding Rule, we mean the Forwarding Rule that has the same IP address, protocol, and port settings with the current Forwarding Rule, but without sourceIPRanges specified. Always empty if the current Forwarding Rule does not have sourceIPRanges specified.
	BaseForwardingRule *string `json:"baseForwardingRule,omitempty" tf:"base_forwarding_rule,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// for all of the labels present on the resource.
	// +mapType=granular
	EffectiveLabels map[string]*string `json:"effectiveLabels,omitempty" tf:"effective_labels,omitempty"`

	// an identifier for the resource with format projects/{{project}}/global/forwardingRules/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// IP address for which this forwarding rule accepts traffic. When a client
	// sends traffic to this IP address, the forwarding rule directs the traffic
	// to the referenced target.
	// While creating a forwarding rule, specifying an IPAddress is
	// required under the following circumstances:
	IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// The IP protocol to which this rule applies.
	// For protocol forwarding, valid
	// options are TCP, UDP, ESP,
	// AH, SCTP, ICMP and
	// L3_DEFAULT.
	// The valid IP protocols are different for different load balancing products
	// as described in Load balancing
	// features.
	// Possible values are: TCP, UDP, ESP, AH, SCTP, ICMP.
	IPProtocol *string `json:"ipProtocol,omitempty" tf:"ip_protocol,omitempty"`

	// The IP Version that will be used by this global forwarding rule.
	// Possible values are: IPV4, IPV6.
	IPVersion *string `json:"ipVersion,omitempty" tf:"ip_version,omitempty"`

	// The fingerprint used for optimistic locking of this resource.  Used
	// internally during updates.
	LabelFingerprint *string `json:"labelFingerprint,omitempty" tf:"label_fingerprint,omitempty"`

	// Labels to apply to this forwarding rule.  A list of key->value pairs.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Specifies the forwarding rule type.
	// For more information about forwarding rules, refer to
	// Forwarding rule concepts.
	// Default value is EXTERNAL.
	// Possible values are: EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED.
	LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"`

	// Opaque filter criteria used by Loadbalancer to restrict routing
	// configuration to a limited set xDS compliant clients. In their xDS
	// requests to Loadbalancer, xDS clients present node metadata. If a
	// match takes place, the relevant routing configuration is made available
	// to those proxies.
	// For each metadataFilter in this list, if its filterMatchCriteria is set
	// to MATCH_ANY, at least one of the filterLabels must match the
	// corresponding label provided in the metadata. If its filterMatchCriteria
	// is set to MATCH_ALL, then all of its filterLabels must match with
	// corresponding labels in the provided metadata.
	// metadataFilters specified here can be overridden by those specified in
	// the UrlMap that this ForwardingRule references.
	// metadataFilters only applies to Loadbalancers that have their
	// loadBalancingScheme set to INTERNAL_SELF_MANAGED.
	// Structure is documented below.
	MetadataFilters []MetadataFiltersObservation `json:"metadataFilters,omitempty" tf:"metadata_filters,omitempty"`

	// This field is not used for external load balancing.
	// For Internal TCP/UDP Load Balancing, this field identifies the network that
	// the load balanced IP should belong to for this Forwarding Rule.
	// If the subnetwork is specified, the network of the subnetwork will be used.
	// If neither subnetwork nor this field is specified, the default network will
	// be used.
	// For Private Service Connect forwarding rules that forward traffic to Google
	// APIs, a network must be provided.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field.
	NoAutomateDNSZone *bool `json:"noAutomateDnsZone,omitempty" tf:"no_automate_dns_zone,omitempty"`

	// The portRange field has the following limitations:
	PortRange *string `json:"portRange,omitempty" tf:"port_range,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The PSC connection id of the PSC Forwarding Rule.
	PscConnectionID *string `json:"pscConnectionId,omitempty" tf:"psc_connection_id,omitempty"`

	// The PSC connection status of the PSC Forwarding Rule. Possible values: STATUS_UNSPECIFIED, PENDING, ACCEPTED, REJECTED, CLOSED
	PscConnectionStatus *string `json:"pscConnectionStatus,omitempty" tf:"psc_connection_status,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// Service Directory resources to register this forwarding rule with.
	// Currently, only supports a single Service Directory resource.
	// Structure is documented below.
	ServiceDirectoryRegistrations *GlobalForwardingRuleServiceDirectoryRegistrationsObservation `json:"serviceDirectoryRegistrations,omitempty" tf:"service_directory_registrations,omitempty"`

	// If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each sourceIpRange entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
	SourceIPRanges []*string `json:"sourceIpRanges,omitempty" tf:"source_ip_ranges,omitempty"`

	// This field identifies the subnetwork that the load balanced IP should
	// belong to for this Forwarding Rule, used in internal load balancing and
	// network load balancing with IPv6.
	// If the network specified is in auto subnet mode, this field is optional.
	// However, a subnetwork must be specified if the network is in custom subnet
	// mode or when creating external forwarding rule with IPv6.
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// The URL of the target resource to receive the matched traffic.  For
	// regional forwarding rules, this target must be in the same region as the
	// forwarding rule. For global forwarding rules, this target must be a global
	// load balancing resource.
	// The forwarded traffic must be of a type appropriate to the target object.
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	// +mapType=granular
	TerraformLabels map[string]*string `json:"terraformLabels,omitempty" tf:"terraform_labels,omitempty"`
}

func (*GlobalForwardingRuleObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRuleObservation.

func (*GlobalForwardingRuleObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalForwardingRuleParameters

type GlobalForwardingRuleParameters struct {

	// An optional description of this resource. Provide this property when
	// you create the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// IP address for which this forwarding rule accepts traffic. When a client
	// sends traffic to this IP address, the forwarding rule directs the traffic
	// to the referenced target.
	// While creating a forwarding rule, specifying an IPAddress is
	// required under the following circumstances:
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.GlobalAddress
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// Reference to a GlobalAddress in compute to populate ipAddress.
	// +kubebuilder:validation:Optional
	IPAddressRef *v1.Reference `json:"ipAddressRef,omitempty" tf:"-"`

	// Selector for a GlobalAddress in compute to populate ipAddress.
	// +kubebuilder:validation:Optional
	IPAddressSelector *v1.Selector `json:"ipAddressSelector,omitempty" tf:"-"`

	// The IP protocol to which this rule applies.
	// For protocol forwarding, valid
	// options are TCP, UDP, ESP,
	// AH, SCTP, ICMP and
	// L3_DEFAULT.
	// The valid IP protocols are different for different load balancing products
	// as described in Load balancing
	// features.
	// Possible values are: TCP, UDP, ESP, AH, SCTP, ICMP.
	// +kubebuilder:validation:Optional
	IPProtocol *string `json:"ipProtocol,omitempty" tf:"ip_protocol,omitempty"`

	// The IP Version that will be used by this global forwarding rule.
	// Possible values are: IPV4, IPV6.
	// +kubebuilder:validation:Optional
	IPVersion *string `json:"ipVersion,omitempty" tf:"ip_version,omitempty"`

	// Labels to apply to this forwarding rule.  A list of key->value pairs.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Specifies the forwarding rule type.
	// For more information about forwarding rules, refer to
	// Forwarding rule concepts.
	// Default value is EXTERNAL.
	// Possible values are: EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED.
	// +kubebuilder:validation:Optional
	LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"`

	// Opaque filter criteria used by Loadbalancer to restrict routing
	// configuration to a limited set xDS compliant clients. In their xDS
	// requests to Loadbalancer, xDS clients present node metadata. If a
	// match takes place, the relevant routing configuration is made available
	// to those proxies.
	// For each metadataFilter in this list, if its filterMatchCriteria is set
	// to MATCH_ANY, at least one of the filterLabels must match the
	// corresponding label provided in the metadata. If its filterMatchCriteria
	// is set to MATCH_ALL, then all of its filterLabels must match with
	// corresponding labels in the provided metadata.
	// metadataFilters specified here can be overridden by those specified in
	// the UrlMap that this ForwardingRule references.
	// metadataFilters only applies to Loadbalancers that have their
	// loadBalancingScheme set to INTERNAL_SELF_MANAGED.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	MetadataFilters []MetadataFiltersParameters `json:"metadataFilters,omitempty" tf:"metadata_filters,omitempty"`

	// This field is not used for external load balancing.
	// For Internal TCP/UDP Load Balancing, this field identifies the network that
	// the load balanced IP should belong to for this Forwarding Rule.
	// If the subnetwork is specified, the network of the subnetwork will be used.
	// If neither subnetwork nor this field is specified, the default network will
	// be used.
	// For Private Service Connect forwarding rules that forward traffic to Google
	// APIs, a network must be provided.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field.
	// +kubebuilder:validation:Optional
	NoAutomateDNSZone *bool `json:"noAutomateDnsZone,omitempty" tf:"no_automate_dns_zone,omitempty"`

	// The portRange field has the following limitations:
	// +kubebuilder:validation:Optional
	PortRange *string `json:"portRange,omitempty" tf:"port_range,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project",false)
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Reference to a Network in compute to populate project.
	// +kubebuilder:validation:Optional
	ProjectRef *v1.Reference `json:"projectRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate project.
	// +kubebuilder:validation:Optional
	ProjectSelector *v1.Selector `json:"projectSelector,omitempty" tf:"-"`

	// Service Directory resources to register this forwarding rule with.
	// Currently, only supports a single Service Directory resource.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ServiceDirectoryRegistrations *GlobalForwardingRuleServiceDirectoryRegistrationsParameters `json:"serviceDirectoryRegistrations,omitempty" tf:"service_directory_registrations,omitempty"`

	// If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each sourceIpRange entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
	// +kubebuilder:validation:Optional
	SourceIPRanges []*string `json:"sourceIpRanges,omitempty" tf:"source_ip_ranges,omitempty"`

	// This field identifies the subnetwork that the load balanced IP should
	// belong to for this Forwarding Rule, used in internal load balancing and
	// network load balancing with IPv6.
	// If the network specified is in auto subnet mode, this field is optional.
	// However, a subnetwork must be specified if the network is in custom subnet
	// mode or when creating external forwarding rule with IPv6.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// Reference to a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"`

	// The URL of the target resource to receive the matched traffic.  For
	// regional forwarding rules, this target must be in the same region as the
	// forwarding rule. For global forwarding rules, this target must be a global
	// load balancing resource.
	// The forwarded traffic must be of a type appropriate to the target object.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.TargetSSLProxy
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// Reference to a TargetSSLProxy in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetRef *v1.Reference `json:"targetRef,omitempty" tf:"-"`

	// Selector for a TargetSSLProxy in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetSelector *v1.Selector `json:"targetSelector,omitempty" tf:"-"`
}

func (*GlobalForwardingRuleParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRuleParameters.

func (*GlobalForwardingRuleParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalForwardingRuleServiceDirectoryRegistrationsInitParameters

type GlobalForwardingRuleServiceDirectoryRegistrationsInitParameters struct {

	// Service Directory namespace to register the forwarding rule under.
	Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"`

	// [Optional] Service Directory region to register this global forwarding rule under.
	// Default to "us-central1". Only used for PSC for Google APIs. All PSC for
	// Google APIs Forwarding Rules on the same network should use the same Service
	// Directory region.
	ServiceDirectoryRegion *string `json:"serviceDirectoryRegion,omitempty" tf:"service_directory_region,omitempty"`
}

func (*GlobalForwardingRuleServiceDirectoryRegistrationsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRuleServiceDirectoryRegistrationsInitParameters.

func (*GlobalForwardingRuleServiceDirectoryRegistrationsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalForwardingRuleServiceDirectoryRegistrationsObservation

type GlobalForwardingRuleServiceDirectoryRegistrationsObservation struct {

	// Service Directory namespace to register the forwarding rule under.
	Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"`

	// [Optional] Service Directory region to register this global forwarding rule under.
	// Default to "us-central1". Only used for PSC for Google APIs. All PSC for
	// Google APIs Forwarding Rules on the same network should use the same Service
	// Directory region.
	ServiceDirectoryRegion *string `json:"serviceDirectoryRegion,omitempty" tf:"service_directory_region,omitempty"`
}

func (*GlobalForwardingRuleServiceDirectoryRegistrationsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRuleServiceDirectoryRegistrationsObservation.

func (*GlobalForwardingRuleServiceDirectoryRegistrationsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalForwardingRuleServiceDirectoryRegistrationsParameters

type GlobalForwardingRuleServiceDirectoryRegistrationsParameters struct {

	// Service Directory namespace to register the forwarding rule under.
	// +kubebuilder:validation:Optional
	Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"`

	// [Optional] Service Directory region to register this global forwarding rule under.
	// Default to "us-central1". Only used for PSC for Google APIs. All PSC for
	// Google APIs Forwarding Rules on the same network should use the same Service
	// Directory region.
	// +kubebuilder:validation:Optional
	ServiceDirectoryRegion *string `json:"serviceDirectoryRegion,omitempty" tf:"service_directory_region,omitempty"`
}

func (*GlobalForwardingRuleServiceDirectoryRegistrationsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRuleServiceDirectoryRegistrationsParameters.

func (*GlobalForwardingRuleServiceDirectoryRegistrationsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalForwardingRuleSpec

type GlobalForwardingRuleSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     GlobalForwardingRuleParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider GlobalForwardingRuleInitParameters `json:"initProvider,omitempty"`
}

GlobalForwardingRuleSpec defines the desired state of GlobalForwardingRule

func (*GlobalForwardingRuleSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRuleSpec.

func (*GlobalForwardingRuleSpec) DeepCopyInto

func (in *GlobalForwardingRuleSpec) DeepCopyInto(out *GlobalForwardingRuleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalForwardingRuleStatus

type GlobalForwardingRuleStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        GlobalForwardingRuleObservation `json:"atProvider,omitempty"`
}

GlobalForwardingRuleStatus defines the observed state of GlobalForwardingRule.

func (*GlobalForwardingRuleStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRuleStatus.

func (*GlobalForwardingRuleStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupPlacementPolicyInitParameters

type GroupPlacementPolicyInitParameters struct {

	// The number of availability domains instances will be spread across. If two instances are in different
	// availability domain, they will not be put in the same low latency network
	AvailabilityDomainCount *float64 `json:"availabilityDomainCount,omitempty" tf:"availability_domain_count,omitempty"`

	// Collocation specifies whether to place VMs inside the same availability domain on the same low-latency network.
	// Specify COLLOCATED to enable collocation. Can only be specified with vm_count. If compute instances are created
	// with a COLLOCATED policy, then exactly vm_count instances must be created at the same time with the resource policy
	// attached.
	// Possible values are: COLLOCATED.
	Collocation *string `json:"collocation,omitempty" tf:"collocation,omitempty"`

	// Number of VMs in this placement group. Google does not recommend that you use this field
	// unless you use a compact policy and you want your policy to work only if it contains this
	// exact number of VMs.
	VMCount *float64 `json:"vmCount,omitempty" tf:"vm_count,omitempty"`
}

func (*GroupPlacementPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupPlacementPolicyInitParameters.

func (*GroupPlacementPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupPlacementPolicyObservation

type GroupPlacementPolicyObservation struct {

	// The number of availability domains instances will be spread across. If two instances are in different
	// availability domain, they will not be put in the same low latency network
	AvailabilityDomainCount *float64 `json:"availabilityDomainCount,omitempty" tf:"availability_domain_count,omitempty"`

	// Collocation specifies whether to place VMs inside the same availability domain on the same low-latency network.
	// Specify COLLOCATED to enable collocation. Can only be specified with vm_count. If compute instances are created
	// with a COLLOCATED policy, then exactly vm_count instances must be created at the same time with the resource policy
	// attached.
	// Possible values are: COLLOCATED.
	Collocation *string `json:"collocation,omitempty" tf:"collocation,omitempty"`

	// Number of VMs in this placement group. Google does not recommend that you use this field
	// unless you use a compact policy and you want your policy to work only if it contains this
	// exact number of VMs.
	VMCount *float64 `json:"vmCount,omitempty" tf:"vm_count,omitempty"`
}

func (*GroupPlacementPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupPlacementPolicyObservation.

func (*GroupPlacementPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupPlacementPolicyParameters

type GroupPlacementPolicyParameters struct {

	// The number of availability domains instances will be spread across. If two instances are in different
	// availability domain, they will not be put in the same low latency network
	// +kubebuilder:validation:Optional
	AvailabilityDomainCount *float64 `json:"availabilityDomainCount,omitempty" tf:"availability_domain_count,omitempty"`

	// Collocation specifies whether to place VMs inside the same availability domain on the same low-latency network.
	// Specify COLLOCATED to enable collocation. Can only be specified with vm_count. If compute instances are created
	// with a COLLOCATED policy, then exactly vm_count instances must be created at the same time with the resource policy
	// attached.
	// Possible values are: COLLOCATED.
	// +kubebuilder:validation:Optional
	Collocation *string `json:"collocation,omitempty" tf:"collocation,omitempty"`

	// Number of VMs in this placement group. Google does not recommend that you use this field
	// unless you use a compact policy and you want your policy to work only if it contains this
	// exact number of VMs.
	// +kubebuilder:validation:Optional
	VMCount *float64 `json:"vmCount,omitempty" tf:"vm_count,omitempty"`
}

func (*GroupPlacementPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupPlacementPolicyParameters.

func (*GroupPlacementPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GuestAcceleratorInitParameters

type GuestAcceleratorInitParameters struct {

	// The number of the guest accelerator cards exposed to this instance.
	Count *float64 `json:"count,omitempty" tf:"count"`

	// The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80.
	Type *string `json:"type,omitempty" tf:"type"`
}

func (*GuestAcceleratorInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestAcceleratorInitParameters.

func (*GuestAcceleratorInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GuestAcceleratorObservation

type GuestAcceleratorObservation struct {

	// The number of the guest accelerator cards exposed to this instance.
	Count *float64 `json:"count,omitempty" tf:"count,omitempty"`

	// The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*GuestAcceleratorObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestAcceleratorObservation.

func (*GuestAcceleratorObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GuestAcceleratorParameters

type GuestAcceleratorParameters struct {

	// The number of the guest accelerator cards exposed to this instance.
	// +kubebuilder:validation:Optional
	Count *float64 `json:"count,omitempty" tf:"count"`

	// The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type"`
}

func (*GuestAcceleratorParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestAcceleratorParameters.

func (*GuestAcceleratorParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GuestAcceleratorsInitParameters

type GuestAcceleratorsInitParameters struct {

	// The number of the guest accelerator cards exposed to
	// this instance.
	AcceleratorCount *float64 `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"`

	// The full or partial URL of the accelerator type to
	// attach to this instance. For example:
	// projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100
	// If you are creating an instance template, specify only the accelerator name.
	AcceleratorType *string `json:"acceleratorType,omitempty" tf:"accelerator_type,omitempty"`
}

func (*GuestAcceleratorsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestAcceleratorsInitParameters.

func (*GuestAcceleratorsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GuestAcceleratorsObservation

type GuestAcceleratorsObservation struct {

	// The number of the guest accelerator cards exposed to
	// this instance.
	AcceleratorCount *float64 `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"`

	// The full or partial URL of the accelerator type to
	// attach to this instance. For example:
	// projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100
	// If you are creating an instance template, specify only the accelerator name.
	AcceleratorType *string `json:"acceleratorType,omitempty" tf:"accelerator_type,omitempty"`
}

func (*GuestAcceleratorsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestAcceleratorsObservation.

func (*GuestAcceleratorsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GuestAcceleratorsParameters

type GuestAcceleratorsParameters struct {

	// The number of the guest accelerator cards exposed to
	// this instance.
	// +kubebuilder:validation:Optional
	AcceleratorCount *float64 `json:"acceleratorCount" tf:"accelerator_count,omitempty"`

	// The full or partial URL of the accelerator type to
	// attach to this instance. For example:
	// projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100
	// If you are creating an instance template, specify only the accelerator name.
	// +kubebuilder:validation:Optional
	AcceleratorType *string `json:"acceleratorType" tf:"accelerator_type,omitempty"`
}

func (*GuestAcceleratorsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestAcceleratorsParameters.

func (*GuestAcceleratorsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GuestOsFeaturesInitParameters

type GuestOsFeaturesInitParameters struct {

	// The type of supported feature. Read Enabling guest operating system features to see a list of available options.
	// Possible values are: MULTI_IP_SUBNET, SECURE_BOOT, SEV_CAPABLE, UEFI_COMPATIBLE, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, GVNIC, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, SUSPEND_RESUME_COMPATIBLE, TDX_CAPABLE.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*GuestOsFeaturesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestOsFeaturesInitParameters.

func (*GuestOsFeaturesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GuestOsFeaturesObservation

type GuestOsFeaturesObservation struct {

	// The type of supported feature. Read Enabling guest operating system features to see a list of available options.
	// Possible values are: MULTI_IP_SUBNET, SECURE_BOOT, SEV_CAPABLE, UEFI_COMPATIBLE, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, GVNIC, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, SUSPEND_RESUME_COMPATIBLE, TDX_CAPABLE.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*GuestOsFeaturesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestOsFeaturesObservation.

func (*GuestOsFeaturesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GuestOsFeaturesParameters

type GuestOsFeaturesParameters struct {

	// The type of supported feature. Read Enabling guest operating system features to see a list of available options.
	// Possible values are: MULTI_IP_SUBNET, SECURE_BOOT, SEV_CAPABLE, UEFI_COMPATIBLE, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, GVNIC, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, SUSPEND_RESUME_COMPATIBLE, TDX_CAPABLE.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*GuestOsFeaturesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestOsFeaturesParameters.

func (*GuestOsFeaturesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPCookieInitParameters

type HTTPCookieInitParameters struct {

	// The name of a locality load balancer policy to be used. The value
	// should be one of the predefined ones as supported by localityLbPolicy,
	// although at the moment only ROUND_ROBIN is supported.
	// This field should only be populated when the customPolicy field is not
	// used.
	// Note that specifying the same policy more than once for a backend is
	// not a valid configuration and will be rejected.
	// The possible values are:
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Path to set for the cookie.
	Path *string `json:"path,omitempty" tf:"path,omitempty"`

	// The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s
	// (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
	TTL *TTLInitParameters `json:"ttl,omitempty" tf:"ttl,omitempty"`
}

func (*HTTPCookieInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPCookieInitParameters.

func (*HTTPCookieInitParameters) DeepCopyInto

func (in *HTTPCookieInitParameters) DeepCopyInto(out *HTTPCookieInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPCookieObservation

type HTTPCookieObservation struct {

	// The name of a locality load balancer policy to be used. The value
	// should be one of the predefined ones as supported by localityLbPolicy,
	// although at the moment only ROUND_ROBIN is supported.
	// This field should only be populated when the customPolicy field is not
	// used.
	// Note that specifying the same policy more than once for a backend is
	// not a valid configuration and will be rejected.
	// The possible values are:
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Path to set for the cookie.
	Path *string `json:"path,omitempty" tf:"path,omitempty"`

	// The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s
	// (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
	TTL *TTLObservation `json:"ttl,omitempty" tf:"ttl,omitempty"`
}

func (*HTTPCookieObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPCookieObservation.

func (*HTTPCookieObservation) DeepCopyInto

func (in *HTTPCookieObservation) DeepCopyInto(out *HTTPCookieObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPCookieParameters

type HTTPCookieParameters struct {

	// The name of a locality load balancer policy to be used. The value
	// should be one of the predefined ones as supported by localityLbPolicy,
	// although at the moment only ROUND_ROBIN is supported.
	// This field should only be populated when the customPolicy field is not
	// used.
	// Note that specifying the same policy more than once for a backend is
	// not a valid configuration and will be rejected.
	// The possible values are:
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Path to set for the cookie.
	// +kubebuilder:validation:Optional
	Path *string `json:"path,omitempty" tf:"path,omitempty"`

	// The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s
	// (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
	// +kubebuilder:validation:Optional
	TTL *TTLParameters `json:"ttl,omitempty" tf:"ttl,omitempty"`
}

func (*HTTPCookieParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPCookieParameters.

func (*HTTPCookieParameters) DeepCopyInto

func (in *HTTPCookieParameters) DeepCopyInto(out *HTTPCookieParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPCookieTTLInitParameters

type HTTPCookieTTLInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*HTTPCookieTTLInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPCookieTTLInitParameters.

func (*HTTPCookieTTLInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPCookieTTLObservation

type HTTPCookieTTLObservation struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*HTTPCookieTTLObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPCookieTTLObservation.

func (*HTTPCookieTTLObservation) DeepCopyInto

func (in *HTTPCookieTTLObservation) DeepCopyInto(out *HTTPCookieTTLObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPCookieTTLParameters

type HTTPCookieTTLParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	// +kubebuilder:validation:Optional
	Seconds *float64 `json:"seconds" tf:"seconds,omitempty"`
}

func (*HTTPCookieTTLParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPCookieTTLParameters.

func (*HTTPCookieTTLParameters) DeepCopyInto

func (in *HTTPCookieTTLParameters) DeepCopyInto(out *HTTPCookieTTLParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPHealthCheckInitParameters

type HTTPHealthCheckInitParameters struct {

	// The value of the host header in the HTTP health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTP health check request.
	// The default value is 80.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTP health check request.
	// The default value is /.
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*HTTPHealthCheckInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheckInitParameters.

func (*HTTPHealthCheckInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPHealthCheckObservation

type HTTPHealthCheckObservation struct {

	// The value of the host header in the HTTP health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTP health check request.
	// The default value is 80.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTP health check request.
	// The default value is /.
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*HTTPHealthCheckObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheckObservation.

func (*HTTPHealthCheckObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPHealthCheckParameters

type HTTPHealthCheckParameters struct {

	// The value of the host header in the HTTP health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	// +kubebuilder:validation:Optional
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTP health check request.
	// The default value is 80.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	// +kubebuilder:validation:Optional
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	// +kubebuilder:validation:Optional
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	// +kubebuilder:validation:Optional
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTP health check request.
	// The default value is /.
	// +kubebuilder:validation:Optional
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	// +kubebuilder:validation:Optional
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*HTTPHealthCheckParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheckParameters.

func (*HTTPHealthCheckParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPSHealthCheckInitParameters

type HTTPSHealthCheckInitParameters struct {

	// The value of the host header in the HTTPS health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTPS health check request.
	// The default value is 443.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTPS health check request.
	// The default value is /.
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*HTTPSHealthCheckInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSHealthCheckInitParameters.

func (*HTTPSHealthCheckInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPSHealthCheckObservation

type HTTPSHealthCheckObservation struct {

	// The value of the host header in the HTTPS health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTPS health check request.
	// The default value is 443.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTPS health check request.
	// The default value is /.
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*HTTPSHealthCheckObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSHealthCheckObservation.

func (*HTTPSHealthCheckObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPSHealthCheckParameters

type HTTPSHealthCheckParameters struct {

	// The value of the host header in the HTTPS health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	// +kubebuilder:validation:Optional
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTPS health check request.
	// The default value is 443.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	// +kubebuilder:validation:Optional
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	// +kubebuilder:validation:Optional
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	// +kubebuilder:validation:Optional
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTPS health check request.
	// The default value is /.
	// +kubebuilder:validation:Optional
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	// +kubebuilder:validation:Optional
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*HTTPSHealthCheckParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSHealthCheckParameters.

func (*HTTPSHealthCheckParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeaderActionInitParameters

type HeaderActionInitParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []RequestHeadersToAddInitParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []ResponseHeadersToAddInitParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*HeaderActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionInitParameters.

func (*HeaderActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeaderActionObservation

type HeaderActionObservation struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []RequestHeadersToAddObservation `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []ResponseHeadersToAddObservation `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*HeaderActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionObservation.

func (*HeaderActionObservation) DeepCopyInto

func (in *HeaderActionObservation) DeepCopyInto(out *HeaderActionObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeaderActionParameters

type HeaderActionParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestHeadersToAdd []RequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	// +kubebuilder:validation:Optional
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ResponseHeadersToAdd []ResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	// +kubebuilder:validation:Optional
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*HeaderActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionParameters.

func (*HeaderActionParameters) DeepCopyInto

func (in *HeaderActionParameters) DeepCopyInto(out *HeaderActionParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeaderActionRequestHeadersToAddInitParameters

type HeaderActionRequestHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*HeaderActionRequestHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionRequestHeadersToAddInitParameters.

func (*HeaderActionRequestHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeaderActionRequestHeadersToAddObservation

type HeaderActionRequestHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*HeaderActionRequestHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionRequestHeadersToAddObservation.

func (*HeaderActionRequestHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeaderActionRequestHeadersToAddParameters

type HeaderActionRequestHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*HeaderActionRequestHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionRequestHeadersToAddParameters.

func (*HeaderActionRequestHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeaderActionResponseHeadersToAddInitParameters

type HeaderActionResponseHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*HeaderActionResponseHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionResponseHeadersToAddInitParameters.

func (*HeaderActionResponseHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeaderActionResponseHeadersToAddObservation

type HeaderActionResponseHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*HeaderActionResponseHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionResponseHeadersToAddObservation.

func (*HeaderActionResponseHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeaderActionResponseHeadersToAddParameters

type HeaderActionResponseHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*HeaderActionResponseHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionResponseHeadersToAddParameters.

func (*HeaderActionResponseHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeaderMatchesInitParameters

type HeaderMatchesInitParameters struct {

	// The queryParameterMatch matches if the value of the parameter exactly matches
	// the contents of exactMatch. Only one of presentMatch, exactMatch and regexMatch
	// must be set.
	ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"`

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// If set to false, the headerMatch is considered a match if the match criteria
	// above are met. If set to true, the headerMatch is considered a match if the
	// match criteria above are NOT met. Defaults to false.
	InvertMatch *bool `json:"invertMatch,omitempty" tf:"invert_match,omitempty"`

	// For satisfying the matchRule condition, the request's path must begin with the
	// specified prefixMatch. prefixMatch must begin with a /. The value must be
	// between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
	// regexMatch must be specified.
	PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"`

	// Specifies that the queryParameterMatch matches if the request contains the query
	// parameter, irrespective of whether the parameter has a value or not. Only one of
	// presentMatch, exactMatch and regexMatch must be set.
	PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"`

	// The header value must be an integer and its value must be in the range specified
	// in rangeMatch. If the header does not contain an integer, number or is empty,
	// the match fails. For example for a range [-5, 0]
	RangeMatch *RangeMatchInitParameters `json:"rangeMatch,omitempty" tf:"range_match,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`

	// The value of the header must end with the contents of suffixMatch. Only one of
	// exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
	// must be set.
	SuffixMatch *string `json:"suffixMatch,omitempty" tf:"suffix_match,omitempty"`
}

func (*HeaderMatchesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchesInitParameters.

func (*HeaderMatchesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeaderMatchesObservation

type HeaderMatchesObservation struct {

	// The queryParameterMatch matches if the value of the parameter exactly matches
	// the contents of exactMatch. Only one of presentMatch, exactMatch and regexMatch
	// must be set.
	ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"`

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// If set to false, the headerMatch is considered a match if the match criteria
	// above are met. If set to true, the headerMatch is considered a match if the
	// match criteria above are NOT met. Defaults to false.
	InvertMatch *bool `json:"invertMatch,omitempty" tf:"invert_match,omitempty"`

	// For satisfying the matchRule condition, the request's path must begin with the
	// specified prefixMatch. prefixMatch must begin with a /. The value must be
	// between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
	// regexMatch must be specified.
	PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"`

	// Specifies that the queryParameterMatch matches if the request contains the query
	// parameter, irrespective of whether the parameter has a value or not. Only one of
	// presentMatch, exactMatch and regexMatch must be set.
	PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"`

	// The header value must be an integer and its value must be in the range specified
	// in rangeMatch. If the header does not contain an integer, number or is empty,
	// the match fails. For example for a range [-5, 0]
	RangeMatch *RangeMatchObservation `json:"rangeMatch,omitempty" tf:"range_match,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`

	// The value of the header must end with the contents of suffixMatch. Only one of
	// exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
	// must be set.
	SuffixMatch *string `json:"suffixMatch,omitempty" tf:"suffix_match,omitempty"`
}

func (*HeaderMatchesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchesObservation.

func (*HeaderMatchesObservation) DeepCopyInto

func (in *HeaderMatchesObservation) DeepCopyInto(out *HeaderMatchesObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeaderMatchesParameters

type HeaderMatchesParameters struct {

	// The queryParameterMatch matches if the value of the parameter exactly matches
	// the contents of exactMatch. Only one of presentMatch, exactMatch and regexMatch
	// must be set.
	// +kubebuilder:validation:Optional
	ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"`

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// If set to false, the headerMatch is considered a match if the match criteria
	// above are met. If set to true, the headerMatch is considered a match if the
	// match criteria above are NOT met. Defaults to false.
	// +kubebuilder:validation:Optional
	InvertMatch *bool `json:"invertMatch,omitempty" tf:"invert_match,omitempty"`

	// For satisfying the matchRule condition, the request's path must begin with the
	// specified prefixMatch. prefixMatch must begin with a /. The value must be
	// between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
	// regexMatch must be specified.
	// +kubebuilder:validation:Optional
	PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"`

	// Specifies that the queryParameterMatch matches if the request contains the query
	// parameter, irrespective of whether the parameter has a value or not. Only one of
	// presentMatch, exactMatch and regexMatch must be set.
	// +kubebuilder:validation:Optional
	PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"`

	// The header value must be an integer and its value must be in the range specified
	// in rangeMatch. If the header does not contain an integer, number or is empty,
	// the match fails. For example for a range [-5, 0]
	// +kubebuilder:validation:Optional
	RangeMatch *RangeMatchParameters `json:"rangeMatch,omitempty" tf:"range_match,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	// +kubebuilder:validation:Optional
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`

	// The value of the header must end with the contents of suffixMatch. Only one of
	// exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
	// must be set.
	// +kubebuilder:validation:Optional
	SuffixMatch *string `json:"suffixMatch,omitempty" tf:"suffix_match,omitempty"`
}

func (*HeaderMatchesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchesParameters.

func (*HeaderMatchesParameters) DeepCopyInto

func (in *HeaderMatchesParameters) DeepCopyInto(out *HeaderMatchesParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeaderMatchesRangeMatchInitParameters

type HeaderMatchesRangeMatchInitParameters struct {

	// The end of the range (exclusive).
	RangeEnd *float64 `json:"rangeEnd,omitempty" tf:"range_end,omitempty"`

	// The start of the range (inclusive).
	RangeStart *float64 `json:"rangeStart,omitempty" tf:"range_start,omitempty"`
}

func (*HeaderMatchesRangeMatchInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchesRangeMatchInitParameters.

func (*HeaderMatchesRangeMatchInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeaderMatchesRangeMatchObservation

type HeaderMatchesRangeMatchObservation struct {

	// The end of the range (exclusive).
	RangeEnd *float64 `json:"rangeEnd,omitempty" tf:"range_end,omitempty"`

	// The start of the range (inclusive).
	RangeStart *float64 `json:"rangeStart,omitempty" tf:"range_start,omitempty"`
}

func (*HeaderMatchesRangeMatchObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchesRangeMatchObservation.

func (*HeaderMatchesRangeMatchObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeaderMatchesRangeMatchParameters

type HeaderMatchesRangeMatchParameters struct {

	// The end of the range (exclusive).
	// +kubebuilder:validation:Optional
	RangeEnd *float64 `json:"rangeEnd" tf:"range_end,omitempty"`

	// The start of the range (inclusive).
	// +kubebuilder:validation:Optional
	RangeStart *float64 `json:"rangeStart" tf:"range_start,omitempty"`
}

func (*HeaderMatchesRangeMatchParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchesRangeMatchParameters.

func (*HeaderMatchesRangeMatchParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HealthCheck

type HealthCheck struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              HealthCheckSpec   `json:"spec"`
	Status            HealthCheckStatus `json:"status,omitempty"`
}

HealthCheck is the Schema for the HealthChecks API. Health Checks determine whether instances are responsive and able to do work. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*HealthCheck) DeepCopy

func (in *HealthCheck) DeepCopy() *HealthCheck

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheck.

func (*HealthCheck) DeepCopyInto

func (in *HealthCheck) DeepCopyInto(out *HealthCheck)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HealthCheck) DeepCopyObject

func (in *HealthCheck) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*HealthCheck) GetCondition

func (mg *HealthCheck) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this HealthCheck.

func (*HealthCheck) GetConnectionDetailsMapping

func (tr *HealthCheck) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this HealthCheck

func (*HealthCheck) GetDeletionPolicy

func (mg *HealthCheck) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this HealthCheck.

func (*HealthCheck) GetID

func (tr *HealthCheck) GetID() string

GetID returns ID of underlying Terraform resource of this HealthCheck

func (*HealthCheck) GetInitParameters

func (tr *HealthCheck) GetInitParameters() (map[string]any, error)

GetInitParameters of this HealthCheck

func (*HealthCheck) GetManagementPolicies

func (mg *HealthCheck) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this HealthCheck.

func (*HealthCheck) GetMergedParameters

func (tr *HealthCheck) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this HealthCheck

func (*HealthCheck) GetObservation

func (tr *HealthCheck) GetObservation() (map[string]any, error)

GetObservation of this HealthCheck

func (*HealthCheck) GetParameters

func (tr *HealthCheck) GetParameters() (map[string]any, error)

GetParameters of this HealthCheck

func (*HealthCheck) GetProviderConfigReference

func (mg *HealthCheck) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this HealthCheck.

func (*HealthCheck) GetPublishConnectionDetailsTo

func (mg *HealthCheck) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this HealthCheck.

func (*HealthCheck) GetTerraformResourceType

func (mg *HealthCheck) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this HealthCheck

func (*HealthCheck) GetTerraformSchemaVersion

func (tr *HealthCheck) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*HealthCheck) GetWriteConnectionSecretToReference

func (mg *HealthCheck) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this HealthCheck.

func (*HealthCheck) Hub

func (tr *HealthCheck) Hub()

Hub marks this type as a conversion hub.

func (*HealthCheck) LateInitialize

func (tr *HealthCheck) LateInitialize(attrs []byte) (bool, error)

LateInitialize this HealthCheck using its observed tfState. returns True if there are any spec changes for the resource.

func (*HealthCheck) SetConditions

func (mg *HealthCheck) SetConditions(c ...xpv1.Condition)

SetConditions of this HealthCheck.

func (*HealthCheck) SetDeletionPolicy

func (mg *HealthCheck) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this HealthCheck.

func (*HealthCheck) SetManagementPolicies

func (mg *HealthCheck) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this HealthCheck.

func (*HealthCheck) SetObservation

func (tr *HealthCheck) SetObservation(obs map[string]any) error

SetObservation for this HealthCheck

func (*HealthCheck) SetParameters

func (tr *HealthCheck) SetParameters(params map[string]any) error

SetParameters for this HealthCheck

func (*HealthCheck) SetProviderConfigReference

func (mg *HealthCheck) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this HealthCheck.

func (*HealthCheck) SetPublishConnectionDetailsTo

func (mg *HealthCheck) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this HealthCheck.

func (*HealthCheck) SetWriteConnectionSecretToReference

func (mg *HealthCheck) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this HealthCheck.

type HealthCheckInitParameters

type HealthCheckInitParameters struct {

	// How often (in seconds) to send a health check. The default value is 5
	// seconds.
	CheckIntervalSec *float64 `json:"checkIntervalSec,omitempty" tf:"check_interval_sec,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A nested object resource
	// Structure is documented below.
	GRPCHealthCheck *GRPCHealthCheckInitParameters `json:"grpcHealthCheck,omitempty" tf:"grpc_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	HTTPHealthCheck *HTTPHealthCheckInitParameters `json:"httpHealthCheck,omitempty" tf:"http_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	HTTPSHealthCheck *HTTPSHealthCheckInitParameters `json:"httpsHealthCheck,omitempty" tf:"https_health_check,omitempty"`

	// A so-far unhealthy instance will be marked healthy after this many
	// consecutive successes. The default value is 2.
	HealthyThreshold *float64 `json:"healthyThreshold,omitempty" tf:"healthy_threshold,omitempty"`

	// A nested object resource
	// Structure is documented below.
	Http2HealthCheck *Http2HealthCheckInitParameters `json:"http2HealthCheck,omitempty" tf:"http2_health_check,omitempty"`

	// Configure logging on this health check.
	// Structure is documented below.
	LogConfig *HealthCheckLogConfigInitParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// A nested object resource
	// Structure is documented below.
	SSLHealthCheck *SSLHealthCheckInitParameters `json:"sslHealthCheck,omitempty" tf:"ssl_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	TCPHealthCheck *TCPHealthCheckInitParameters `json:"tcpHealthCheck,omitempty" tf:"tcp_health_check,omitempty"`

	// How long (in seconds) to wait before claiming failure.
	// The default value is 5 seconds.  It is invalid for timeoutSec to have
	// greater value than checkIntervalSec.
	TimeoutSec *float64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"`

	// A so-far healthy instance will be marked unhealthy after this many
	// consecutive failures. The default value is 2.
	UnhealthyThreshold *float64 `json:"unhealthyThreshold,omitempty" tf:"unhealthy_threshold,omitempty"`
}

func (*HealthCheckInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckInitParameters.

func (*HealthCheckInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HealthCheckList

type HealthCheckList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []HealthCheck `json:"items"`
}

HealthCheckList contains a list of HealthChecks

func (*HealthCheckList) DeepCopy

func (in *HealthCheckList) DeepCopy() *HealthCheckList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckList.

func (*HealthCheckList) DeepCopyInto

func (in *HealthCheckList) DeepCopyInto(out *HealthCheckList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HealthCheckList) DeepCopyObject

func (in *HealthCheckList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*HealthCheckList) GetItems

func (l *HealthCheckList) GetItems() []resource.Managed

GetItems of this HealthCheckList.

type HealthCheckLogConfigInitParameters

type HealthCheckLogConfigInitParameters struct {

	// Indicates whether or not to export logs. This is false by default,
	// which means no health check logging will be done.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`
}

func (*HealthCheckLogConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckLogConfigInitParameters.

func (*HealthCheckLogConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HealthCheckLogConfigObservation

type HealthCheckLogConfigObservation struct {

	// Indicates whether or not to export logs. This is false by default,
	// which means no health check logging will be done.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`
}

func (*HealthCheckLogConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckLogConfigObservation.

func (*HealthCheckLogConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HealthCheckLogConfigParameters

type HealthCheckLogConfigParameters struct {

	// Indicates whether or not to export logs. This is false by default,
	// which means no health check logging will be done.
	// +kubebuilder:validation:Optional
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`
}

func (*HealthCheckLogConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckLogConfigParameters.

func (*HealthCheckLogConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HealthCheckObservation

type HealthCheckObservation struct {

	// How often (in seconds) to send a health check. The default value is 5
	// seconds.
	CheckIntervalSec *float64 `json:"checkIntervalSec,omitempty" tf:"check_interval_sec,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A nested object resource
	// Structure is documented below.
	GRPCHealthCheck *GRPCHealthCheckObservation `json:"grpcHealthCheck,omitempty" tf:"grpc_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	HTTPHealthCheck *HTTPHealthCheckObservation `json:"httpHealthCheck,omitempty" tf:"http_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	HTTPSHealthCheck *HTTPSHealthCheckObservation `json:"httpsHealthCheck,omitempty" tf:"https_health_check,omitempty"`

	// A so-far unhealthy instance will be marked healthy after this many
	// consecutive successes. The default value is 2.
	HealthyThreshold *float64 `json:"healthyThreshold,omitempty" tf:"healthy_threshold,omitempty"`

	// A nested object resource
	// Structure is documented below.
	Http2HealthCheck *Http2HealthCheckObservation `json:"http2HealthCheck,omitempty" tf:"http2_health_check,omitempty"`

	// an identifier for the resource with format projects/{{project}}/global/healthChecks/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Configure logging on this health check.
	// Structure is documented below.
	LogConfig *HealthCheckLogConfigObservation `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// A nested object resource
	// Structure is documented below.
	SSLHealthCheck *SSLHealthCheckObservation `json:"sslHealthCheck,omitempty" tf:"ssl_health_check,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// A nested object resource
	// Structure is documented below.
	TCPHealthCheck *TCPHealthCheckObservation `json:"tcpHealthCheck,omitempty" tf:"tcp_health_check,omitempty"`

	// How long (in seconds) to wait before claiming failure.
	// The default value is 5 seconds.  It is invalid for timeoutSec to have
	// greater value than checkIntervalSec.
	TimeoutSec *float64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"`

	// The type of the health check. One of HTTP, HTTPS, TCP, or SSL.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// A so-far healthy instance will be marked unhealthy after this many
	// consecutive failures. The default value is 2.
	UnhealthyThreshold *float64 `json:"unhealthyThreshold,omitempty" tf:"unhealthy_threshold,omitempty"`
}

func (*HealthCheckObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckObservation.

func (*HealthCheckObservation) DeepCopyInto

func (in *HealthCheckObservation) DeepCopyInto(out *HealthCheckObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HealthCheckParameters

type HealthCheckParameters struct {

	// How often (in seconds) to send a health check. The default value is 5
	// seconds.
	// +kubebuilder:validation:Optional
	CheckIntervalSec *float64 `json:"checkIntervalSec,omitempty" tf:"check_interval_sec,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	GRPCHealthCheck *GRPCHealthCheckParameters `json:"grpcHealthCheck,omitempty" tf:"grpc_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HTTPHealthCheck *HTTPHealthCheckParameters `json:"httpHealthCheck,omitempty" tf:"http_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HTTPSHealthCheck *HTTPSHealthCheckParameters `json:"httpsHealthCheck,omitempty" tf:"https_health_check,omitempty"`

	// A so-far unhealthy instance will be marked healthy after this many
	// consecutive successes. The default value is 2.
	// +kubebuilder:validation:Optional
	HealthyThreshold *float64 `json:"healthyThreshold,omitempty" tf:"healthy_threshold,omitempty"`

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Http2HealthCheck *Http2HealthCheckParameters `json:"http2HealthCheck,omitempty" tf:"http2_health_check,omitempty"`

	// Configure logging on this health check.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	LogConfig *HealthCheckLogConfigParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	SSLHealthCheck *SSLHealthCheckParameters `json:"sslHealthCheck,omitempty" tf:"ssl_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	TCPHealthCheck *TCPHealthCheckParameters `json:"tcpHealthCheck,omitempty" tf:"tcp_health_check,omitempty"`

	// How long (in seconds) to wait before claiming failure.
	// The default value is 5 seconds.  It is invalid for timeoutSec to have
	// greater value than checkIntervalSec.
	// +kubebuilder:validation:Optional
	TimeoutSec *float64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"`

	// A so-far healthy instance will be marked unhealthy after this many
	// consecutive failures. The default value is 2.
	// +kubebuilder:validation:Optional
	UnhealthyThreshold *float64 `json:"unhealthyThreshold,omitempty" tf:"unhealthy_threshold,omitempty"`
}

func (*HealthCheckParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckParameters.

func (*HealthCheckParameters) DeepCopyInto

func (in *HealthCheckParameters) DeepCopyInto(out *HealthCheckParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HealthCheckSpec

type HealthCheckSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     HealthCheckParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider HealthCheckInitParameters `json:"initProvider,omitempty"`
}

HealthCheckSpec defines the desired state of HealthCheck

func (*HealthCheckSpec) DeepCopy

func (in *HealthCheckSpec) DeepCopy() *HealthCheckSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckSpec.

func (*HealthCheckSpec) DeepCopyInto

func (in *HealthCheckSpec) DeepCopyInto(out *HealthCheckSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HealthCheckStatus

type HealthCheckStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        HealthCheckObservation `json:"atProvider,omitempty"`
}

HealthCheckStatus defines the observed state of HealthCheck.

func (*HealthCheckStatus) DeepCopy

func (in *HealthCheckStatus) DeepCopy() *HealthCheckStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckStatus.

func (*HealthCheckStatus) DeepCopyInto

func (in *HealthCheckStatus) DeepCopyInto(out *HealthCheckStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HostRuleInitParameters

type HostRuleInitParameters struct {

	// An optional description of this HostRule. Provide this property
	// when you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The list of host patterns to match. They must be valid
	// hostnames, except * will match any string of ([a-z0-9-.]*). In
	// that case, * must be the first character and must be followed in
	// the pattern by either - or ..
	// +listType=set
	Hosts []*string `json:"hosts,omitempty" tf:"hosts,omitempty"`

	// The name of the PathMatcher to use to match the path portion of
	// the URL if the hostRule matches the URL's host portion.
	PathMatcher *string `json:"pathMatcher,omitempty" tf:"path_matcher,omitempty"`
}

func (*HostRuleInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostRuleInitParameters.

func (*HostRuleInitParameters) DeepCopyInto

func (in *HostRuleInitParameters) DeepCopyInto(out *HostRuleInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HostRuleObservation

type HostRuleObservation struct {

	// An optional description of this HostRule. Provide this property
	// when you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The list of host patterns to match. They must be valid
	// hostnames, except * will match any string of ([a-z0-9-.]*). In
	// that case, * must be the first character and must be followed in
	// the pattern by either - or ..
	// +listType=set
	Hosts []*string `json:"hosts,omitempty" tf:"hosts,omitempty"`

	// The name of the PathMatcher to use to match the path portion of
	// the URL if the hostRule matches the URL's host portion.
	PathMatcher *string `json:"pathMatcher,omitempty" tf:"path_matcher,omitempty"`
}

func (*HostRuleObservation) DeepCopy

func (in *HostRuleObservation) DeepCopy() *HostRuleObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostRuleObservation.

func (*HostRuleObservation) DeepCopyInto

func (in *HostRuleObservation) DeepCopyInto(out *HostRuleObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HostRuleParameters

type HostRuleParameters struct {

	// An optional description of this HostRule. Provide this property
	// when you create the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The list of host patterns to match. They must be valid
	// hostnames, except * will match any string of ([a-z0-9-.]*). In
	// that case, * must be the first character and must be followed in
	// the pattern by either - or ..
	// +kubebuilder:validation:Optional
	// +listType=set
	Hosts []*string `json:"hosts" tf:"hosts,omitempty"`

	// The name of the PathMatcher to use to match the path portion of
	// the URL if the hostRule matches the URL's host portion.
	// +kubebuilder:validation:Optional
	PathMatcher *string `json:"pathMatcher" tf:"path_matcher,omitempty"`
}

func (*HostRuleParameters) DeepCopy

func (in *HostRuleParameters) DeepCopy() *HostRuleParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostRuleParameters.

func (*HostRuleParameters) DeepCopyInto

func (in *HostRuleParameters) DeepCopyInto(out *HostRuleParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HourlyScheduleInitParameters

type HourlyScheduleInitParameters struct {

	// The number of hours between snapshots.
	HoursInCycle *float64 `json:"hoursInCycle,omitempty" tf:"hours_in_cycle,omitempty"`

	// Time within the window to start the operations.
	// It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT.
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`
}

func (*HourlyScheduleInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HourlyScheduleInitParameters.

func (*HourlyScheduleInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HourlyScheduleObservation

type HourlyScheduleObservation struct {

	// The number of hours between snapshots.
	HoursInCycle *float64 `json:"hoursInCycle,omitempty" tf:"hours_in_cycle,omitempty"`

	// Time within the window to start the operations.
	// It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT.
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`
}

func (*HourlyScheduleObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HourlyScheduleObservation.

func (*HourlyScheduleObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HourlyScheduleParameters

type HourlyScheduleParameters struct {

	// The number of hours between snapshots.
	// +kubebuilder:validation:Optional
	HoursInCycle *float64 `json:"hoursInCycle" tf:"hours_in_cycle,omitempty"`

	// Time within the window to start the operations.
	// It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT.
	// +kubebuilder:validation:Optional
	StartTime *string `json:"startTime" tf:"start_time,omitempty"`
}

func (*HourlyScheduleParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HourlyScheduleParameters.

func (*HourlyScheduleParameters) DeepCopyInto

func (in *HourlyScheduleParameters) DeepCopyInto(out *HourlyScheduleParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Http2HealthCheckInitParameters

type Http2HealthCheckInitParameters struct {

	// The value of the host header in the HTTP2 health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTP2 health check request.
	// The default value is 443.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTP2 health check request.
	// The default value is /.
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*Http2HealthCheckInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2HealthCheckInitParameters.

func (*Http2HealthCheckInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Http2HealthCheckObservation

type Http2HealthCheckObservation struct {

	// The value of the host header in the HTTP2 health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTP2 health check request.
	// The default value is 443.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTP2 health check request.
	// The default value is /.
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*Http2HealthCheckObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2HealthCheckObservation.

func (*Http2HealthCheckObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Http2HealthCheckParameters

type Http2HealthCheckParameters struct {

	// The value of the host header in the HTTP2 health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	// +kubebuilder:validation:Optional
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTP2 health check request.
	// The default value is 443.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	// +kubebuilder:validation:Optional
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	// +kubebuilder:validation:Optional
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	// +kubebuilder:validation:Optional
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTP2 health check request.
	// The default value is /.
	// +kubebuilder:validation:Optional
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	// +kubebuilder:validation:Optional
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*Http2HealthCheckParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2HealthCheckParameters.

func (*Http2HealthCheckParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPAddressInitParameters

type IPAddressInitParameters struct {

	// The URL of the reservation for this IP address.
	Address *string `json:"address,omitempty" tf:"address,omitempty"`
}

func (*IPAddressInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressInitParameters.

func (*IPAddressInitParameters) DeepCopyInto

func (in *IPAddressInitParameters) DeepCopyInto(out *IPAddressInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPAddressObservation

type IPAddressObservation struct {

	// The URL of the reservation for this IP address.
	Address *string `json:"address,omitempty" tf:"address,omitempty"`
}

func (*IPAddressObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressObservation.

func (*IPAddressObservation) DeepCopyInto

func (in *IPAddressObservation) DeepCopyInto(out *IPAddressObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPAddressParameters

type IPAddressParameters struct {

	// The URL of the reservation for this IP address.
	// +kubebuilder:validation:Optional
	Address *string `json:"address,omitempty" tf:"address,omitempty"`
}

func (*IPAddressParameters) DeepCopy

func (in *IPAddressParameters) DeepCopy() *IPAddressParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressParameters.

func (*IPAddressParameters) DeepCopyInto

func (in *IPAddressParameters) DeepCopyInto(out *IPAddressParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPv6AccessConfigInitParameters

type IPv6AccessConfigInitParameters struct {

	// The first IPv6 address of the external IPv6 range associated
	// with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig.
	// To use a static external IP address, it must be unused and in the same region as the instance's zone.
	// If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
	ExternalIPv6 *string `json:"externalIpv6,omitempty" tf:"external_ipv6,omitempty"`

	// The prefix length of the external IPv6 range.
	ExternalIPv6PrefixLength *string `json:"externalIpv6PrefixLength,omitempty" tf:"external_ipv6_prefix_length,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The service-level to be provided for IPv6 traffic when the
	// subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`

	// The domain name to be used when creating DNSv6
	// records for the external IPv6 ranges..
	PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"`
}

func (*IPv6AccessConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPv6AccessConfigInitParameters.

func (*IPv6AccessConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPv6AccessConfigObservation

type IPv6AccessConfigObservation struct {

	// The first IPv6 address of the external IPv6 range associated
	// with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig.
	// To use a static external IP address, it must be unused and in the same region as the instance's zone.
	// If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
	ExternalIPv6 *string `json:"externalIpv6,omitempty" tf:"external_ipv6,omitempty"`

	// The prefix length of the external IPv6 range.
	ExternalIPv6PrefixLength *string `json:"externalIpv6PrefixLength,omitempty" tf:"external_ipv6_prefix_length,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The service-level to be provided for IPv6 traffic when the
	// subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`

	// The domain name to be used when creating DNSv6
	// records for the external IPv6 ranges..
	PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"`
}

func (*IPv6AccessConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPv6AccessConfigObservation.

func (*IPv6AccessConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPv6AccessConfigParameters

type IPv6AccessConfigParameters struct {

	// The first IPv6 address of the external IPv6 range associated
	// with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig.
	// To use a static external IP address, it must be unused and in the same region as the instance's zone.
	// If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
	// +kubebuilder:validation:Optional
	ExternalIPv6 *string `json:"externalIpv6,omitempty" tf:"external_ipv6,omitempty"`

	// The prefix length of the external IPv6 range.
	// +kubebuilder:validation:Optional
	ExternalIPv6PrefixLength *string `json:"externalIpv6PrefixLength,omitempty" tf:"external_ipv6_prefix_length,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The service-level to be provided for IPv6 traffic when the
	// subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
	// +kubebuilder:validation:Optional
	NetworkTier *string `json:"networkTier" tf:"network_tier,omitempty"`

	// The domain name to be used when creating DNSv6
	// records for the external IPv6 ranges..
	// +kubebuilder:validation:Optional
	PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"`
}

func (*IPv6AccessConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPv6AccessConfigParameters.

func (*IPv6AccessConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IapInitParameters

type IapInitParameters struct {

	// OAuth2 Client ID for IAP
	Oauth2ClientID *string `json:"oauth2ClientId,omitempty" tf:"oauth2_client_id,omitempty"`
}

func (*IapInitParameters) DeepCopy

func (in *IapInitParameters) DeepCopy() *IapInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IapInitParameters.

func (*IapInitParameters) DeepCopyInto

func (in *IapInitParameters) DeepCopyInto(out *IapInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IapObservation

type IapObservation struct {

	// OAuth2 Client ID for IAP
	Oauth2ClientID *string `json:"oauth2ClientId,omitempty" tf:"oauth2_client_id,omitempty"`
}

func (*IapObservation) DeepCopy

func (in *IapObservation) DeepCopy() *IapObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IapObservation.

func (*IapObservation) DeepCopyInto

func (in *IapObservation) DeepCopyInto(out *IapObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IapParameters

type IapParameters struct {

	// OAuth2 Client ID for IAP
	// +kubebuilder:validation:Optional
	Oauth2ClientID *string `json:"oauth2ClientId" tf:"oauth2_client_id,omitempty"`

	// OAuth2 Client Secret for IAP
	// Note: This property is sensitive and will not be displayed in the plan.
	// +kubebuilder:validation:Required
	Oauth2ClientSecretSecretRef v1.SecretKeySelector `json:"oauth2ClientSecretSecretRef" tf:"-"`
}

func (*IapParameters) DeepCopy

func (in *IapParameters) DeepCopy() *IapParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IapParameters.

func (*IapParameters) DeepCopyInto

func (in *IapParameters) DeepCopyInto(out *IapParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Image

type Image struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ImageSpec   `json:"spec"`
	Status            ImageStatus `json:"status,omitempty"`
}

Image is the Schema for the Images API. Represents an Image resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*Image) DeepCopy

func (in *Image) DeepCopy() *Image

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.

func (*Image) DeepCopyInto

func (in *Image) DeepCopyInto(out *Image)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Image) DeepCopyObject

func (in *Image) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Image) GetCondition

func (mg *Image) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Image.

func (*Image) GetConnectionDetailsMapping

func (tr *Image) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Image

func (*Image) GetDeletionPolicy

func (mg *Image) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Image.

func (*Image) GetID

func (tr *Image) GetID() string

GetID returns ID of underlying Terraform resource of this Image

func (*Image) GetInitParameters

func (tr *Image) GetInitParameters() (map[string]any, error)

GetInitParameters of this Image

func (*Image) GetManagementPolicies

func (mg *Image) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Image.

func (*Image) GetMergedParameters

func (tr *Image) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Image

func (*Image) GetObservation

func (tr *Image) GetObservation() (map[string]any, error)

GetObservation of this Image

func (*Image) GetParameters

func (tr *Image) GetParameters() (map[string]any, error)

GetParameters of this Image

func (*Image) GetProviderConfigReference

func (mg *Image) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Image.

func (*Image) GetPublishConnectionDetailsTo

func (mg *Image) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Image.

func (*Image) GetTerraformResourceType

func (mg *Image) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Image

func (*Image) GetTerraformSchemaVersion

func (tr *Image) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Image) GetWriteConnectionSecretToReference

func (mg *Image) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Image.

func (*Image) Hub

func (tr *Image) Hub()

Hub marks this type as a conversion hub.

func (*Image) LateInitialize

func (tr *Image) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Image using its observed tfState. returns True if there are any spec changes for the resource.

func (*Image) SetConditions

func (mg *Image) SetConditions(c ...xpv1.Condition)

SetConditions of this Image.

func (*Image) SetDeletionPolicy

func (mg *Image) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Image.

func (*Image) SetManagementPolicies

func (mg *Image) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Image.

func (*Image) SetObservation

func (tr *Image) SetObservation(obs map[string]any) error

SetObservation for this Image

func (*Image) SetParameters

func (tr *Image) SetParameters(params map[string]any) error

SetParameters for this Image

func (*Image) SetProviderConfigReference

func (mg *Image) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Image.

func (*Image) SetPublishConnectionDetailsTo

func (mg *Image) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Image.

func (*Image) SetWriteConnectionSecretToReference

func (mg *Image) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Image.

type ImageEncryptionKeyInitParameters

type ImageEncryptionKeyInitParameters struct {

	// The self link of the encryption key that is stored in Google Cloud
	// KMS.
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account being used for the encryption request for the
	// given KMS key. If absent, the Compute Engine default service
	// account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`
}

func (*ImageEncryptionKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageEncryptionKeyInitParameters.

func (*ImageEncryptionKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageEncryptionKeyObservation

type ImageEncryptionKeyObservation struct {

	// The self link of the encryption key that is stored in Google Cloud
	// KMS.
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account being used for the encryption request for the
	// given KMS key. If absent, the Compute Engine default service
	// account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`
}

func (*ImageEncryptionKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageEncryptionKeyObservation.

func (*ImageEncryptionKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageEncryptionKeyParameters

type ImageEncryptionKeyParameters struct {

	// The self link of the encryption key that is stored in Google Cloud
	// KMS.
	// +kubebuilder:validation:Optional
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account being used for the encryption request for the
	// given KMS key. If absent, the Compute Engine default service
	// account is used.
	// +kubebuilder:validation:Optional
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`
}

func (*ImageEncryptionKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageEncryptionKeyParameters.

func (*ImageEncryptionKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageGuestOsFeaturesInitParameters

type ImageGuestOsFeaturesInitParameters struct {

	// The type of supported feature. Read Enabling guest operating system features to see a list of available options.
	// Possible values are: MULTI_IP_SUBNET, SECURE_BOOT, SEV_CAPABLE, UEFI_COMPATIBLE, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, GVNIC, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, SUSPEND_RESUME_COMPATIBLE, TDX_CAPABLE, SEV_LIVE_MIGRATABLE_V2.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ImageGuestOsFeaturesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageGuestOsFeaturesInitParameters.

func (*ImageGuestOsFeaturesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageGuestOsFeaturesObservation

type ImageGuestOsFeaturesObservation struct {

	// The type of supported feature. Read Enabling guest operating system features to see a list of available options.
	// Possible values are: MULTI_IP_SUBNET, SECURE_BOOT, SEV_CAPABLE, UEFI_COMPATIBLE, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, GVNIC, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, SUSPEND_RESUME_COMPATIBLE, TDX_CAPABLE, SEV_LIVE_MIGRATABLE_V2.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ImageGuestOsFeaturesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageGuestOsFeaturesObservation.

func (*ImageGuestOsFeaturesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageGuestOsFeaturesParameters

type ImageGuestOsFeaturesParameters struct {

	// The type of supported feature. Read Enabling guest operating system features to see a list of available options.
	// Possible values are: MULTI_IP_SUBNET, SECURE_BOOT, SEV_CAPABLE, UEFI_COMPATIBLE, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, GVNIC, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, SUSPEND_RESUME_COMPATIBLE, TDX_CAPABLE, SEV_LIVE_MIGRATABLE_V2.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*ImageGuestOsFeaturesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageGuestOsFeaturesParameters.

func (*ImageGuestOsFeaturesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageIAMMember

type ImageIAMMember struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.member) || (has(self.initProvider) && has(self.initProvider.member))",message="spec.forProvider.member is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.role) || (has(self.initProvider) && has(self.initProvider.role))",message="spec.forProvider.role is a required parameter"
	Spec   ImageIAMMemberSpec   `json:"spec"`
	Status ImageIAMMemberStatus `json:"status,omitempty"`
}

ImageIAMMember is the Schema for the ImageIAMMembers API. <no value> +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*ImageIAMMember) DeepCopy

func (in *ImageIAMMember) DeepCopy() *ImageIAMMember

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMember.

func (*ImageIAMMember) DeepCopyInto

func (in *ImageIAMMember) DeepCopyInto(out *ImageIAMMember)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ImageIAMMember) DeepCopyObject

func (in *ImageIAMMember) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ImageIAMMember) GetCondition

func (mg *ImageIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this ImageIAMMember.

func (*ImageIAMMember) GetConnectionDetailsMapping

func (tr *ImageIAMMember) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this ImageIAMMember

func (*ImageIAMMember) GetDeletionPolicy

func (mg *ImageIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this ImageIAMMember.

func (*ImageIAMMember) GetID

func (tr *ImageIAMMember) GetID() string

GetID returns ID of underlying Terraform resource of this ImageIAMMember

func (*ImageIAMMember) GetInitParameters

func (tr *ImageIAMMember) GetInitParameters() (map[string]any, error)

GetInitParameters of this ImageIAMMember

func (*ImageIAMMember) GetManagementPolicies

func (mg *ImageIAMMember) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this ImageIAMMember.

func (*ImageIAMMember) GetMergedParameters

func (tr *ImageIAMMember) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this ImageIAMMember

func (*ImageIAMMember) GetObservation

func (tr *ImageIAMMember) GetObservation() (map[string]any, error)

GetObservation of this ImageIAMMember

func (*ImageIAMMember) GetParameters

func (tr *ImageIAMMember) GetParameters() (map[string]any, error)

GetParameters of this ImageIAMMember

func (*ImageIAMMember) GetProviderConfigReference

func (mg *ImageIAMMember) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this ImageIAMMember.

func (*ImageIAMMember) GetPublishConnectionDetailsTo

func (mg *ImageIAMMember) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this ImageIAMMember.

func (*ImageIAMMember) GetTerraformResourceType

func (mg *ImageIAMMember) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ImageIAMMember

func (*ImageIAMMember) GetTerraformSchemaVersion

func (tr *ImageIAMMember) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ImageIAMMember) GetWriteConnectionSecretToReference

func (mg *ImageIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this ImageIAMMember.

func (*ImageIAMMember) Hub

func (tr *ImageIAMMember) Hub()

Hub marks this type as a conversion hub.

func (*ImageIAMMember) LateInitialize

func (tr *ImageIAMMember) LateInitialize(attrs []byte) (bool, error)

LateInitialize this ImageIAMMember using its observed tfState. returns True if there are any spec changes for the resource.

func (*ImageIAMMember) ResolveReferences

func (mg *ImageIAMMember) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this ImageIAMMember.

func (*ImageIAMMember) SetConditions

func (mg *ImageIAMMember) SetConditions(c ...xpv1.Condition)

SetConditions of this ImageIAMMember.

func (*ImageIAMMember) SetDeletionPolicy

func (mg *ImageIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this ImageIAMMember.

func (*ImageIAMMember) SetManagementPolicies

func (mg *ImageIAMMember) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this ImageIAMMember.

func (*ImageIAMMember) SetObservation

func (tr *ImageIAMMember) SetObservation(obs map[string]any) error

SetObservation for this ImageIAMMember

func (*ImageIAMMember) SetParameters

func (tr *ImageIAMMember) SetParameters(params map[string]any) error

SetParameters for this ImageIAMMember

func (*ImageIAMMember) SetProviderConfigReference

func (mg *ImageIAMMember) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this ImageIAMMember.

func (*ImageIAMMember) SetPublishConnectionDetailsTo

func (mg *ImageIAMMember) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this ImageIAMMember.

func (*ImageIAMMember) SetWriteConnectionSecretToReference

func (mg *ImageIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this ImageIAMMember.

type ImageIAMMemberConditionInitParameters

type ImageIAMMemberConditionInitParameters struct {
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*ImageIAMMemberConditionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberConditionInitParameters.

func (*ImageIAMMemberConditionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageIAMMemberConditionObservation

type ImageIAMMemberConditionObservation struct {
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*ImageIAMMemberConditionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberConditionObservation.

func (*ImageIAMMemberConditionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageIAMMemberConditionParameters

type ImageIAMMemberConditionParameters struct {

	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// +kubebuilder:validation:Optional
	Expression *string `json:"expression" tf:"expression,omitempty"`

	// +kubebuilder:validation:Optional
	Title *string `json:"title" tf:"title,omitempty"`
}

func (*ImageIAMMemberConditionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberConditionParameters.

func (*ImageIAMMemberConditionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageIAMMemberInitParameters

type ImageIAMMemberInitParameters struct {
	Condition *ImageIAMMemberConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Image
	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	// Reference to a Image in compute to populate image.
	// +kubebuilder:validation:Optional
	ImageRef *v1.Reference `json:"imageRef,omitempty" tf:"-"`

	// Selector for a Image in compute to populate image.
	// +kubebuilder:validation:Optional
	ImageSelector *v1.Selector `json:"imageSelector,omitempty" tf:"-"`

	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`
}

func (*ImageIAMMemberInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberInitParameters.

func (*ImageIAMMemberInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageIAMMemberList

type ImageIAMMemberList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ImageIAMMember `json:"items"`
}

ImageIAMMemberList contains a list of ImageIAMMembers

func (*ImageIAMMemberList) DeepCopy

func (in *ImageIAMMemberList) DeepCopy() *ImageIAMMemberList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberList.

func (*ImageIAMMemberList) DeepCopyInto

func (in *ImageIAMMemberList) DeepCopyInto(out *ImageIAMMemberList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ImageIAMMemberList) DeepCopyObject

func (in *ImageIAMMemberList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ImageIAMMemberList) GetItems

func (l *ImageIAMMemberList) GetItems() []resource.Managed

GetItems of this ImageIAMMemberList.

type ImageIAMMemberObservation

type ImageIAMMemberObservation struct {
	Condition *ImageIAMMemberConditionObservation `json:"condition,omitempty" tf:"condition,omitempty"`

	Etag *string `json:"etag,omitempty" tf:"etag,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`
}

func (*ImageIAMMemberObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberObservation.

func (*ImageIAMMemberObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageIAMMemberParameters

type ImageIAMMemberParameters struct {

	// +kubebuilder:validation:Optional
	Condition *ImageIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Image
	// +kubebuilder:validation:Optional
	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	// Reference to a Image in compute to populate image.
	// +kubebuilder:validation:Optional
	ImageRef *v1.Reference `json:"imageRef,omitempty" tf:"-"`

	// Selector for a Image in compute to populate image.
	// +kubebuilder:validation:Optional
	ImageSelector *v1.Selector `json:"imageSelector,omitempty" tf:"-"`

	// +kubebuilder:validation:Optional
	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// +kubebuilder:validation:Optional
	Role *string `json:"role,omitempty" tf:"role,omitempty"`
}

func (*ImageIAMMemberParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberParameters.

func (*ImageIAMMemberParameters) DeepCopyInto

func (in *ImageIAMMemberParameters) DeepCopyInto(out *ImageIAMMemberParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageIAMMemberSpec

type ImageIAMMemberSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ImageIAMMemberParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ImageIAMMemberInitParameters `json:"initProvider,omitempty"`
}

ImageIAMMemberSpec defines the desired state of ImageIAMMember

func (*ImageIAMMemberSpec) DeepCopy

func (in *ImageIAMMemberSpec) DeepCopy() *ImageIAMMemberSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberSpec.

func (*ImageIAMMemberSpec) DeepCopyInto

func (in *ImageIAMMemberSpec) DeepCopyInto(out *ImageIAMMemberSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageIAMMemberStatus

type ImageIAMMemberStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ImageIAMMemberObservation `json:"atProvider,omitempty"`
}

ImageIAMMemberStatus defines the observed state of ImageIAMMember.

func (*ImageIAMMemberStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberStatus.

func (*ImageIAMMemberStatus) DeepCopyInto

func (in *ImageIAMMemberStatus) DeepCopyInto(out *ImageIAMMemberStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageInitParameters

type ImageInitParameters struct {

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Size of the image when restored onto a persistent disk (in GB).
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The name of the image family to which this image belongs. You can
	// create disks by specifying an image family instead of a specific
	// image name. The image family always returns its latest image that is
	// not deprecated. The name of the image family must comply with
	// RFC1035.
	Family *string `json:"family,omitempty" tf:"family,omitempty"`

	// A list of features to enable on the guest operating system.
	// Applicable only for bootable images.
	// Structure is documented below.
	GuestOsFeatures []ImageGuestOsFeaturesInitParameters `json:"guestOsFeatures,omitempty" tf:"guest_os_features,omitempty"`

	// Encrypts the image using a customer-supplied encryption key.
	// After you encrypt an image with a customer-supplied key, you must
	// provide the same key if you use the image later (e.g. to create a
	// disk from the image)
	// Structure is documented below.
	ImageEncryptionKey *ImageEncryptionKeyInitParameters `json:"imageEncryptionKey,omitempty" tf:"image_encryption_key,omitempty"`

	// Labels to apply to this Image.
	// Note: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field effective_labels for all of the labels present on the resource.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Any applicable license URI.
	Licenses []*string `json:"licenses,omitempty" tf:"licenses,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The parameters of the raw disk image.
	// Structure is documented below.
	RawDisk *RawDiskInitParameters `json:"rawDisk,omitempty" tf:"raw_disk,omitempty"`

	// The source disk to create this image based on.
	// You must provide either this property or the
	// rawDisk.source property but not both to create an image.
	SourceDisk *string `json:"sourceDisk,omitempty" tf:"source_disk,omitempty"`

	// URL of the source image used to create this image. In order to create an image, you must provide the full or partial
	// URL of one of the following:
	SourceImage *string `json:"sourceImage,omitempty" tf:"source_image,omitempty"`

	// URL of the source snapshot used to create this image.
	// In order to create an image, you must provide the full or partial URL of one of the following:
	SourceSnapshot *string `json:"sourceSnapshot,omitempty" tf:"source_snapshot,omitempty"`

	// Cloud Storage bucket storage location of the image
	// (regional or multi-regional).
	// Reference link: https://cloud.google.com/compute/docs/reference/rest/v1/images
	StorageLocations []*string `json:"storageLocations,omitempty" tf:"storage_locations,omitempty"`
}

func (*ImageInitParameters) DeepCopy

func (in *ImageInitParameters) DeepCopy() *ImageInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageInitParameters.

func (*ImageInitParameters) DeepCopyInto

func (in *ImageInitParameters) DeepCopyInto(out *ImageInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageList

type ImageList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Image `json:"items"`
}

ImageList contains a list of Images

func (*ImageList) DeepCopy

func (in *ImageList) DeepCopy() *ImageList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageList.

func (*ImageList) DeepCopyInto

func (in *ImageList) DeepCopyInto(out *ImageList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ImageList) DeepCopyObject

func (in *ImageList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ImageList) GetItems

func (l *ImageList) GetItems() []resource.Managed

GetItems of this ImageList.

type ImageObservation

type ImageObservation struct {

	// Size of the image tar.gz archive stored in Google Cloud Storage (in
	// bytes).
	ArchiveSizeBytes *float64 `json:"archiveSizeBytes,omitempty" tf:"archive_size_bytes,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Size of the image when restored onto a persistent disk (in GB).
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// +mapType=granular
	EffectiveLabels map[string]*string `json:"effectiveLabels,omitempty" tf:"effective_labels,omitempty"`

	// The name of the image family to which this image belongs. You can
	// create disks by specifying an image family instead of a specific
	// image name. The image family always returns its latest image that is
	// not deprecated. The name of the image family must comply with
	// RFC1035.
	Family *string `json:"family,omitempty" tf:"family,omitempty"`

	// A list of features to enable on the guest operating system.
	// Applicable only for bootable images.
	// Structure is documented below.
	GuestOsFeatures []ImageGuestOsFeaturesObservation `json:"guestOsFeatures,omitempty" tf:"guest_os_features,omitempty"`

	// an identifier for the resource with format projects/{{project}}/global/images/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Encrypts the image using a customer-supplied encryption key.
	// After you encrypt an image with a customer-supplied key, you must
	// provide the same key if you use the image later (e.g. to create a
	// disk from the image)
	// Structure is documented below.
	ImageEncryptionKey *ImageEncryptionKeyObservation `json:"imageEncryptionKey,omitempty" tf:"image_encryption_key,omitempty"`

	// The fingerprint used for optimistic locking of this resource. Used
	// internally during updates.
	LabelFingerprint *string `json:"labelFingerprint,omitempty" tf:"label_fingerprint,omitempty"`

	// Labels to apply to this Image.
	// Note: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field effective_labels for all of the labels present on the resource.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Any applicable license URI.
	Licenses []*string `json:"licenses,omitempty" tf:"licenses,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The parameters of the raw disk image.
	// Structure is documented below.
	RawDisk *RawDiskObservation `json:"rawDisk,omitempty" tf:"raw_disk,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// The source disk to create this image based on.
	// You must provide either this property or the
	// rawDisk.source property but not both to create an image.
	SourceDisk *string `json:"sourceDisk,omitempty" tf:"source_disk,omitempty"`

	// URL of the source image used to create this image. In order to create an image, you must provide the full or partial
	// URL of one of the following:
	SourceImage *string `json:"sourceImage,omitempty" tf:"source_image,omitempty"`

	// URL of the source snapshot used to create this image.
	// In order to create an image, you must provide the full or partial URL of one of the following:
	SourceSnapshot *string `json:"sourceSnapshot,omitempty" tf:"source_snapshot,omitempty"`

	// Cloud Storage bucket storage location of the image
	// (regional or multi-regional).
	// Reference link: https://cloud.google.com/compute/docs/reference/rest/v1/images
	StorageLocations []*string `json:"storageLocations,omitempty" tf:"storage_locations,omitempty"`

	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	// +mapType=granular
	TerraformLabels map[string]*string `json:"terraformLabels,omitempty" tf:"terraform_labels,omitempty"`
}

func (*ImageObservation) DeepCopy

func (in *ImageObservation) DeepCopy() *ImageObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageObservation.

func (*ImageObservation) DeepCopyInto

func (in *ImageObservation) DeepCopyInto(out *ImageObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageParameters

type ImageParameters struct {

	// An optional description of this resource. Provide this property when
	// you create the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Size of the image when restored onto a persistent disk (in GB).
	// +kubebuilder:validation:Optional
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The name of the image family to which this image belongs. You can
	// create disks by specifying an image family instead of a specific
	// image name. The image family always returns its latest image that is
	// not deprecated. The name of the image family must comply with
	// RFC1035.
	// +kubebuilder:validation:Optional
	Family *string `json:"family,omitempty" tf:"family,omitempty"`

	// A list of features to enable on the guest operating system.
	// Applicable only for bootable images.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	GuestOsFeatures []ImageGuestOsFeaturesParameters `json:"guestOsFeatures,omitempty" tf:"guest_os_features,omitempty"`

	// Encrypts the image using a customer-supplied encryption key.
	// After you encrypt an image with a customer-supplied key, you must
	// provide the same key if you use the image later (e.g. to create a
	// disk from the image)
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ImageEncryptionKey *ImageEncryptionKeyParameters `json:"imageEncryptionKey,omitempty" tf:"image_encryption_key,omitempty"`

	// Labels to apply to this Image.
	// Note: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field effective_labels for all of the labels present on the resource.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Any applicable license URI.
	// +kubebuilder:validation:Optional
	Licenses []*string `json:"licenses,omitempty" tf:"licenses,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The parameters of the raw disk image.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RawDisk *RawDiskParameters `json:"rawDisk,omitempty" tf:"raw_disk,omitempty"`

	// The source disk to create this image based on.
	// You must provide either this property or the
	// rawDisk.source property but not both to create an image.
	// +kubebuilder:validation:Optional
	SourceDisk *string `json:"sourceDisk,omitempty" tf:"source_disk,omitempty"`

	// URL of the source image used to create this image. In order to create an image, you must provide the full or partial
	// URL of one of the following:
	// +kubebuilder:validation:Optional
	SourceImage *string `json:"sourceImage,omitempty" tf:"source_image,omitempty"`

	// URL of the source snapshot used to create this image.
	// In order to create an image, you must provide the full or partial URL of one of the following:
	// +kubebuilder:validation:Optional
	SourceSnapshot *string `json:"sourceSnapshot,omitempty" tf:"source_snapshot,omitempty"`

	// Cloud Storage bucket storage location of the image
	// (regional or multi-regional).
	// Reference link: https://cloud.google.com/compute/docs/reference/rest/v1/images
	// +kubebuilder:validation:Optional
	StorageLocations []*string `json:"storageLocations,omitempty" tf:"storage_locations,omitempty"`
}

func (*ImageParameters) DeepCopy

func (in *ImageParameters) DeepCopy() *ImageParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageParameters.

func (*ImageParameters) DeepCopyInto

func (in *ImageParameters) DeepCopyInto(out *ImageParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageSpec

type ImageSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ImageParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ImageInitParameters `json:"initProvider,omitempty"`
}

ImageSpec defines the desired state of Image

func (*ImageSpec) DeepCopy

func (in *ImageSpec) DeepCopy() *ImageSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec.

func (*ImageSpec) DeepCopyInto

func (in *ImageSpec) DeepCopyInto(out *ImageSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageStatus

type ImageStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ImageObservation `json:"atProvider,omitempty"`
}

ImageStatus defines the observed state of Image.

func (*ImageStatus) DeepCopy

func (in *ImageStatus) DeepCopy() *ImageStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStatus.

func (*ImageStatus) DeepCopyInto

func (in *ImageStatus) DeepCopyInto(out *ImageStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InitializeParamsInitParameters

type InitializeParamsInitParameters struct {

	// Whether this disk is using confidential compute mode.
	// Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute,omitempty" tf:"enable_confidential_compute,omitempty"`

	// The image from which to initialize this disk. This can be
	// one of: the image's self_link, projects/{project}/global/images/{image},
	// projects/{project}/global/images/family/{family}, global/images/{image},
	// global/images/family/{family}, family/{family}, {project}/{family},
	// {project}/{image}, {family}, or {image}. If referred by family, the
	// images names must include the family name. If they don't, use the
	// google_compute_image data source.
	// For instance, the image centos-6-v20180104 includes its family name centos-6.
	// These images can be referred by family name here.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Image
	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	// Reference to a Image in compute to populate image.
	// +kubebuilder:validation:Optional
	ImageRef *v1.Reference `json:"imageRef,omitempty" tf:"-"`

	// Selector for a Image in compute to populate image.
	// +kubebuilder:validation:Optional
	ImageSelector *v1.Selector `json:"imageSelector,omitempty" tf:"-"`

	// A map of key/value label pairs to assign to the instance.
	// Note: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field 'effective_labels' for all of the labels present on the resource.
	Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Indicates how many IOPS to provision for the disk.
	// This sets the number of I/O operations per second that the disk can handle.
	// For more details,see the Hyperdisk documentation.
	// Note: Updating currently is only supported for hyperdisk skus via disk update
	// api/gcloud without the need to delete and recreate the disk, hyperdisk allows
	// for an update of IOPS every 4 hours. To update your hyperdisk more frequently,
	// you'll need to manually delete and recreate it.
	ProvisionedIops *float64 `json:"provisionedIops,omitempty" tf:"provisioned_iops,omitempty"`

	// Indicates how much throughput to provision for the disk.
	// This sets the number of throughput mb per second that the disk can handle.
	// For more details,see the Hyperdisk documentation.
	// Note: Updating currently is only supported for hyperdisk skus via disk update
	// api/gcloud without the need to delete and recreate the disk, hyperdisk allows
	// for an update of throughput every 4 hours. To update your hyperdisk more
	// frequently, you'll need to manually delete and recreate it.
	ProvisionedThroughput *float64 `json:"provisionedThroughput,omitempty" tf:"provisioned_throughput,omitempty"`

	// A tag is a key-value pair that can be attached to a Google Cloud resource. You can use tags to conditionally allow or deny policies based on whether a resource has a specific tag. This value is not returned by the API.
	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`

	// The size of the image in gigabytes. If not specified, it
	// will inherit the size of its base image.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The type of reservation from which this instance can consume resources.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*InitializeParamsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitializeParamsInitParameters.

func (*InitializeParamsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InitializeParamsObservation

type InitializeParamsObservation struct {

	// Whether this disk is using confidential compute mode.
	// Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute,omitempty" tf:"enable_confidential_compute,omitempty"`

	// The image from which to initialize this disk. This can be
	// one of: the image's self_link, projects/{project}/global/images/{image},
	// projects/{project}/global/images/family/{family}, global/images/{image},
	// global/images/family/{family}, family/{family}, {project}/{family},
	// {project}/{image}, {family}, or {image}. If referred by family, the
	// images names must include the family name. If they don't, use the
	// google_compute_image data source.
	// For instance, the image centos-6-v20180104 includes its family name centos-6.
	// These images can be referred by family name here.
	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	// A map of key/value label pairs to assign to the instance.
	// Note: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field 'effective_labels' for all of the labels present on the resource.
	Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Indicates how many IOPS to provision for the disk.
	// This sets the number of I/O operations per second that the disk can handle.
	// For more details,see the Hyperdisk documentation.
	// Note: Updating currently is only supported for hyperdisk skus via disk update
	// api/gcloud without the need to delete and recreate the disk, hyperdisk allows
	// for an update of IOPS every 4 hours. To update your hyperdisk more frequently,
	// you'll need to manually delete and recreate it.
	ProvisionedIops *float64 `json:"provisionedIops,omitempty" tf:"provisioned_iops,omitempty"`

	// Indicates how much throughput to provision for the disk.
	// This sets the number of throughput mb per second that the disk can handle.
	// For more details,see the Hyperdisk documentation.
	// Note: Updating currently is only supported for hyperdisk skus via disk update
	// api/gcloud without the need to delete and recreate the disk, hyperdisk allows
	// for an update of throughput every 4 hours. To update your hyperdisk more
	// frequently, you'll need to manually delete and recreate it.
	ProvisionedThroughput *float64 `json:"provisionedThroughput,omitempty" tf:"provisioned_throughput,omitempty"`

	// A tag is a key-value pair that can be attached to a Google Cloud resource. You can use tags to conditionally allow or deny policies based on whether a resource has a specific tag. This value is not returned by the API.
	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`

	// The size of the image in gigabytes. If not specified, it
	// will inherit the size of its base image.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The type of reservation from which this instance can consume resources.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*InitializeParamsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitializeParamsObservation.

func (*InitializeParamsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InitializeParamsParameters

type InitializeParamsParameters struct {

	// Whether this disk is using confidential compute mode.
	// Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
	// +kubebuilder:validation:Optional
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute,omitempty" tf:"enable_confidential_compute,omitempty"`

	// The image from which to initialize this disk. This can be
	// one of: the image's self_link, projects/{project}/global/images/{image},
	// projects/{project}/global/images/family/{family}, global/images/{image},
	// global/images/family/{family}, family/{family}, {project}/{family},
	// {project}/{image}, {family}, or {image}. If referred by family, the
	// images names must include the family name. If they don't, use the
	// google_compute_image data source.
	// For instance, the image centos-6-v20180104 includes its family name centos-6.
	// These images can be referred by family name here.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Image
	// +kubebuilder:validation:Optional
	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	// Reference to a Image in compute to populate image.
	// +kubebuilder:validation:Optional
	ImageRef *v1.Reference `json:"imageRef,omitempty" tf:"-"`

	// Selector for a Image in compute to populate image.
	// +kubebuilder:validation:Optional
	ImageSelector *v1.Selector `json:"imageSelector,omitempty" tf:"-"`

	// A map of key/value label pairs to assign to the instance.
	// Note: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field 'effective_labels' for all of the labels present on the resource.
	// +kubebuilder:validation:Optional
	Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Indicates how many IOPS to provision for the disk.
	// This sets the number of I/O operations per second that the disk can handle.
	// For more details,see the Hyperdisk documentation.
	// Note: Updating currently is only supported for hyperdisk skus via disk update
	// api/gcloud without the need to delete and recreate the disk, hyperdisk allows
	// for an update of IOPS every 4 hours. To update your hyperdisk more frequently,
	// you'll need to manually delete and recreate it.
	// +kubebuilder:validation:Optional
	ProvisionedIops *float64 `json:"provisionedIops,omitempty" tf:"provisioned_iops,omitempty"`

	// Indicates how much throughput to provision for the disk.
	// This sets the number of throughput mb per second that the disk can handle.
	// For more details,see the Hyperdisk documentation.
	// Note: Updating currently is only supported for hyperdisk skus via disk update
	// api/gcloud without the need to delete and recreate the disk, hyperdisk allows
	// for an update of throughput every 4 hours. To update your hyperdisk more
	// frequently, you'll need to manually delete and recreate it.
	// +kubebuilder:validation:Optional
	ProvisionedThroughput *float64 `json:"provisionedThroughput,omitempty" tf:"provisioned_throughput,omitempty"`

	// A tag is a key-value pair that can be attached to a Google Cloud resource. You can use tags to conditionally allow or deny policies based on whether a resource has a specific tag. This value is not returned by the API.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`

	// The size of the image in gigabytes. If not specified, it
	// will inherit the size of its base image.
	// +kubebuilder:validation:Optional
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The type of reservation from which this instance can consume resources.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*InitializeParamsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitializeParamsParameters.

func (*InitializeParamsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Instance

type Instance struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.bootDisk) || (has(self.initProvider) && has(self.initProvider.bootDisk))",message="spec.forProvider.bootDisk is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.machineType) || (has(self.initProvider) && has(self.initProvider.machineType))",message="spec.forProvider.machineType is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.networkInterface) || (has(self.initProvider) && has(self.initProvider.networkInterface))",message="spec.forProvider.networkInterface is a required parameter"
	Spec   InstanceSpec   `json:"spec"`
	Status InstanceStatus `json:"status,omitempty"`
}

Instance is the Schema for the Instances API. Manages a VM instance resource within GCE. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*Instance) DeepCopy

func (in *Instance) DeepCopy() *Instance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instance.

func (*Instance) DeepCopyInto

func (in *Instance) DeepCopyInto(out *Instance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Instance) DeepCopyObject

func (in *Instance) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Instance) GetCondition

func (mg *Instance) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Instance.

func (*Instance) GetConnectionDetailsMapping

func (tr *Instance) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Instance

func (*Instance) GetDeletionPolicy

func (mg *Instance) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Instance.

func (*Instance) GetID

func (tr *Instance) GetID() string

GetID returns ID of underlying Terraform resource of this Instance

func (*Instance) GetInitParameters

func (tr *Instance) GetInitParameters() (map[string]any, error)

GetInitParameters of this Instance

func (*Instance) GetManagementPolicies

func (mg *Instance) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Instance.

func (*Instance) GetMergedParameters

func (tr *Instance) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Instance

func (*Instance) GetObservation

func (tr *Instance) GetObservation() (map[string]any, error)

GetObservation of this Instance

func (*Instance) GetParameters

func (tr *Instance) GetParameters() (map[string]any, error)

GetParameters of this Instance

func (*Instance) GetProviderConfigReference

func (mg *Instance) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Instance.

func (*Instance) GetPublishConnectionDetailsTo

func (mg *Instance) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Instance.

func (*Instance) GetTerraformResourceType

func (mg *Instance) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Instance

func (*Instance) GetTerraformSchemaVersion

func (tr *Instance) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Instance) GetWriteConnectionSecretToReference

func (mg *Instance) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Instance.

func (*Instance) Hub

func (tr *Instance) Hub()

Hub marks this type as a conversion hub.

func (*Instance) LateInitialize

func (tr *Instance) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Instance using its observed tfState. returns True if there are any spec changes for the resource.

func (*Instance) ResolveReferences

func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Instance.

func (*Instance) SetConditions

func (mg *Instance) SetConditions(c ...xpv1.Condition)

SetConditions of this Instance.

func (*Instance) SetDeletionPolicy

func (mg *Instance) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Instance.

func (*Instance) SetManagementPolicies

func (mg *Instance) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Instance.

func (*Instance) SetObservation

func (tr *Instance) SetObservation(obs map[string]any) error

SetObservation for this Instance

func (*Instance) SetParameters

func (tr *Instance) SetParameters(params map[string]any) error

SetParameters for this Instance

func (*Instance) SetProviderConfigReference

func (mg *Instance) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Instance.

func (*Instance) SetPublishConnectionDetailsTo

func (mg *Instance) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Instance.

func (*Instance) SetWriteConnectionSecretToReference

func (mg *Instance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Instance.

type InstanceFromTemplate

type InstanceFromTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   InstanceFromTemplateSpec   `json:"spec"`
	Status InstanceFromTemplateStatus `json:"status,omitempty"`
}

InstanceFromTemplate is the Schema for the InstanceFromTemplates API. Manages a VM instance resource within GCE. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*InstanceFromTemplate) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplate.

func (*InstanceFromTemplate) DeepCopyInto

func (in *InstanceFromTemplate) DeepCopyInto(out *InstanceFromTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceFromTemplate) DeepCopyObject

func (in *InstanceFromTemplate) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*InstanceFromTemplate) GetCondition

func (mg *InstanceFromTemplate) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this InstanceFromTemplate.

func (*InstanceFromTemplate) GetConnectionDetailsMapping

func (tr *InstanceFromTemplate) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this InstanceFromTemplate

func (*InstanceFromTemplate) GetDeletionPolicy

func (mg *InstanceFromTemplate) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this InstanceFromTemplate.

func (*InstanceFromTemplate) GetID

func (tr *InstanceFromTemplate) GetID() string

GetID returns ID of underlying Terraform resource of this InstanceFromTemplate

func (*InstanceFromTemplate) GetInitParameters

func (tr *InstanceFromTemplate) GetInitParameters() (map[string]any, error)

GetInitParameters of this InstanceFromTemplate

func (*InstanceFromTemplate) GetManagementPolicies

func (mg *InstanceFromTemplate) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this InstanceFromTemplate.

func (*InstanceFromTemplate) GetMergedParameters

func (tr *InstanceFromTemplate) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this InstanceFromTemplate

func (*InstanceFromTemplate) GetObservation

func (tr *InstanceFromTemplate) GetObservation() (map[string]any, error)

GetObservation of this InstanceFromTemplate

func (*InstanceFromTemplate) GetParameters

func (tr *InstanceFromTemplate) GetParameters() (map[string]any, error)

GetParameters of this InstanceFromTemplate

func (*InstanceFromTemplate) GetProviderConfigReference

func (mg *InstanceFromTemplate) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this InstanceFromTemplate.

func (*InstanceFromTemplate) GetPublishConnectionDetailsTo

func (mg *InstanceFromTemplate) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this InstanceFromTemplate.

func (*InstanceFromTemplate) GetTerraformResourceType

func (mg *InstanceFromTemplate) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this InstanceFromTemplate

func (*InstanceFromTemplate) GetTerraformSchemaVersion

func (tr *InstanceFromTemplate) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*InstanceFromTemplate) GetWriteConnectionSecretToReference

func (mg *InstanceFromTemplate) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this InstanceFromTemplate.

func (*InstanceFromTemplate) Hub

func (tr *InstanceFromTemplate) Hub()

Hub marks this type as a conversion hub.

func (*InstanceFromTemplate) LateInitialize

func (tr *InstanceFromTemplate) LateInitialize(attrs []byte) (bool, error)

LateInitialize this InstanceFromTemplate using its observed tfState. returns True if there are any spec changes for the resource.

func (*InstanceFromTemplate) ResolveReferences

func (mg *InstanceFromTemplate) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this InstanceFromTemplate.

func (*InstanceFromTemplate) SetConditions

func (mg *InstanceFromTemplate) SetConditions(c ...xpv1.Condition)

SetConditions of this InstanceFromTemplate.

func (*InstanceFromTemplate) SetDeletionPolicy

func (mg *InstanceFromTemplate) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this InstanceFromTemplate.

func (*InstanceFromTemplate) SetManagementPolicies

func (mg *InstanceFromTemplate) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this InstanceFromTemplate.

func (*InstanceFromTemplate) SetObservation

func (tr *InstanceFromTemplate) SetObservation(obs map[string]any) error

SetObservation for this InstanceFromTemplate

func (*InstanceFromTemplate) SetParameters

func (tr *InstanceFromTemplate) SetParameters(params map[string]any) error

SetParameters for this InstanceFromTemplate

func (*InstanceFromTemplate) SetProviderConfigReference

func (mg *InstanceFromTemplate) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this InstanceFromTemplate.

func (*InstanceFromTemplate) SetPublishConnectionDetailsTo

func (mg *InstanceFromTemplate) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this InstanceFromTemplate.

func (*InstanceFromTemplate) SetWriteConnectionSecretToReference

func (mg *InstanceFromTemplate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this InstanceFromTemplate.

type InstanceFromTemplateAdvancedMachineFeaturesInitParameters

type InstanceFromTemplateAdvancedMachineFeaturesInitParameters struct {
	EnableNestedVirtualization *bool `json:"enableNestedVirtualization,omitempty" tf:"enable_nested_virtualization,omitempty"`

	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`

	VisibleCoreCount *float64 `json:"visibleCoreCount,omitempty" tf:"visible_core_count,omitempty"`
}

func (*InstanceFromTemplateAdvancedMachineFeaturesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateAdvancedMachineFeaturesInitParameters.

func (*InstanceFromTemplateAdvancedMachineFeaturesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateAdvancedMachineFeaturesObservation

type InstanceFromTemplateAdvancedMachineFeaturesObservation struct {
	EnableNestedVirtualization *bool `json:"enableNestedVirtualization,omitempty" tf:"enable_nested_virtualization,omitempty"`

	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`

	VisibleCoreCount *float64 `json:"visibleCoreCount,omitempty" tf:"visible_core_count,omitempty"`
}

func (*InstanceFromTemplateAdvancedMachineFeaturesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateAdvancedMachineFeaturesObservation.

func (*InstanceFromTemplateAdvancedMachineFeaturesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateAdvancedMachineFeaturesParameters

type InstanceFromTemplateAdvancedMachineFeaturesParameters struct {

	// +kubebuilder:validation:Optional
	EnableNestedVirtualization *bool `json:"enableNestedVirtualization,omitempty" tf:"enable_nested_virtualization,omitempty"`

	// +kubebuilder:validation:Optional
	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`

	// +kubebuilder:validation:Optional
	VisibleCoreCount *float64 `json:"visibleCoreCount,omitempty" tf:"visible_core_count,omitempty"`
}

func (*InstanceFromTemplateAdvancedMachineFeaturesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateAdvancedMachineFeaturesParameters.

func (*InstanceFromTemplateAdvancedMachineFeaturesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateAttachedDiskInitParameters

type InstanceFromTemplateAttachedDiskInitParameters struct {

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name"`

	DiskEncryptionKeyRaw *string `json:"diskEncryptionKeyRaw,omitempty" tf:"disk_encryption_key_raw"`

	DiskEncryptionKeySha256 *string `json:"diskEncryptionKeySha256,omitempty" tf:"disk_encryption_key_sha256"`

	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link"`

	Mode *string `json:"mode,omitempty" tf:"mode"`

	Source *string `json:"source,omitempty" tf:"source"`
}

func (*InstanceFromTemplateAttachedDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateAttachedDiskInitParameters.

func (*InstanceFromTemplateAttachedDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateAttachedDiskObservation

type InstanceFromTemplateAttachedDiskObservation struct {

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	DiskEncryptionKeyRaw *string `json:"diskEncryptionKeyRaw,omitempty" tf:"disk_encryption_key_raw,omitempty"`

	DiskEncryptionKeySha256 *string `json:"diskEncryptionKeySha256,omitempty" tf:"disk_encryption_key_sha256,omitempty"`

	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	Source *string `json:"source,omitempty" tf:"source,omitempty"`
}

func (*InstanceFromTemplateAttachedDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateAttachedDiskObservation.

func (*InstanceFromTemplateAttachedDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateAttachedDiskParameters

type InstanceFromTemplateAttachedDiskParameters struct {

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name"`

	// +kubebuilder:validation:Optional
	DiskEncryptionKeyRaw *string `json:"diskEncryptionKeyRaw,omitempty" tf:"disk_encryption_key_raw"`

	// +kubebuilder:validation:Optional
	DiskEncryptionKeySha256 *string `json:"diskEncryptionKeySha256,omitempty" tf:"disk_encryption_key_sha256"`

	// +kubebuilder:validation:Optional
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link"`

	// +kubebuilder:validation:Optional
	Mode *string `json:"mode,omitempty" tf:"mode"`

	// +kubebuilder:validation:Optional
	Source *string `json:"source,omitempty" tf:"source"`
}

func (*InstanceFromTemplateAttachedDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateAttachedDiskParameters.

func (*InstanceFromTemplateAttachedDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateBootDiskInitParameters

type InstanceFromTemplateBootDiskInitParameters struct {

	// Default is 6 minutes.
	AutoDelete *bool `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	InitializeParams *BootDiskInitializeParamsInitParameters `json:"initializeParams,omitempty" tf:"initialize_params,omitempty"`

	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	Source *string `json:"source,omitempty" tf:"source,omitempty"`
}

func (*InstanceFromTemplateBootDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateBootDiskInitParameters.

func (*InstanceFromTemplateBootDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateBootDiskObservation

type InstanceFromTemplateBootDiskObservation struct {

	// Default is 6 minutes.
	AutoDelete *bool `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	DiskEncryptionKeySha256 *string `json:"diskEncryptionKeySha256,omitempty" tf:"disk_encryption_key_sha256,omitempty"`

	InitializeParams *BootDiskInitializeParamsObservation `json:"initializeParams,omitempty" tf:"initialize_params,omitempty"`

	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	Source *string `json:"source,omitempty" tf:"source,omitempty"`
}

func (*InstanceFromTemplateBootDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateBootDiskObservation.

func (*InstanceFromTemplateBootDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateBootDiskParameters

type InstanceFromTemplateBootDiskParameters struct {

	// Default is 6 minutes.
	// +kubebuilder:validation:Optional
	AutoDelete *bool `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// +kubebuilder:validation:Optional
	DiskEncryptionKeyRawSecretRef *v1.SecretKeySelector `json:"diskEncryptionKeyRawSecretRef,omitempty" tf:"-"`

	// +kubebuilder:validation:Optional
	InitializeParams *BootDiskInitializeParamsParameters `json:"initializeParams,omitempty" tf:"initialize_params,omitempty"`

	// +kubebuilder:validation:Optional
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// +kubebuilder:validation:Optional
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// +kubebuilder:validation:Optional
	Source *string `json:"source,omitempty" tf:"source,omitempty"`
}

func (*InstanceFromTemplateBootDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateBootDiskParameters.

func (*InstanceFromTemplateBootDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateConfidentialInstanceConfigInitParameters

type InstanceFromTemplateConfidentialInstanceConfigInitParameters struct {
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute,omitempty" tf:"enable_confidential_compute,omitempty"`
}

func (*InstanceFromTemplateConfidentialInstanceConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateConfidentialInstanceConfigInitParameters.

func (*InstanceFromTemplateConfidentialInstanceConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateConfidentialInstanceConfigObservation

type InstanceFromTemplateConfidentialInstanceConfigObservation struct {
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute,omitempty" tf:"enable_confidential_compute,omitempty"`
}

func (*InstanceFromTemplateConfidentialInstanceConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateConfidentialInstanceConfigObservation.

func (*InstanceFromTemplateConfidentialInstanceConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateConfidentialInstanceConfigParameters

type InstanceFromTemplateConfidentialInstanceConfigParameters struct {

	// +kubebuilder:validation:Optional
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute" tf:"enable_confidential_compute,omitempty"`
}

func (*InstanceFromTemplateConfidentialInstanceConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateConfidentialInstanceConfigParameters.

func (*InstanceFromTemplateConfidentialInstanceConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateGuestAcceleratorInitParameters

type InstanceFromTemplateGuestAcceleratorInitParameters struct {
	Count *float64 `json:"count,omitempty" tf:"count"`

	Type *string `json:"type,omitempty" tf:"type"`
}

func (*InstanceFromTemplateGuestAcceleratorInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateGuestAcceleratorInitParameters.

func (*InstanceFromTemplateGuestAcceleratorInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateGuestAcceleratorObservation

type InstanceFromTemplateGuestAcceleratorObservation struct {
	Count *float64 `json:"count,omitempty" tf:"count,omitempty"`

	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*InstanceFromTemplateGuestAcceleratorObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateGuestAcceleratorObservation.

func (*InstanceFromTemplateGuestAcceleratorObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateGuestAcceleratorParameters

type InstanceFromTemplateGuestAcceleratorParameters struct {

	// +kubebuilder:validation:Optional
	Count *float64 `json:"count,omitempty" tf:"count"`

	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type"`
}

func (*InstanceFromTemplateGuestAcceleratorParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateGuestAcceleratorParameters.

func (*InstanceFromTemplateGuestAcceleratorParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateInitParameters

type InstanceFromTemplateInitParameters struct {
	AdvancedMachineFeatures *InstanceFromTemplateAdvancedMachineFeaturesInitParameters `json:"advancedMachineFeatures,omitempty" tf:"advanced_machine_features,omitempty"`

	// Default is 6 minutes.
	AllowStoppingForUpdate *bool `json:"allowStoppingForUpdate,omitempty" tf:"allow_stopping_for_update,omitempty"`

	AttachedDisk []InstanceFromTemplateAttachedDiskInitParameters `json:"attachedDisk,omitempty" tf:"attached_disk,omitempty"`

	BootDisk *InstanceFromTemplateBootDiskInitParameters `json:"bootDisk,omitempty" tf:"boot_disk,omitempty"`

	CanIPForward *bool `json:"canIpForward,omitempty" tf:"can_ip_forward,omitempty"`

	ConfidentialInstanceConfig *InstanceFromTemplateConfidentialInstanceConfigInitParameters `json:"confidentialInstanceConfig,omitempty" tf:"confidential_instance_config,omitempty"`

	DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"`

	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	DesiredStatus *string `json:"desiredStatus,omitempty" tf:"desired_status,omitempty"`

	EnableDisplay *bool `json:"enableDisplay,omitempty" tf:"enable_display,omitempty"`

	GuestAccelerator []InstanceFromTemplateGuestAcceleratorInitParameters `json:"guestAccelerator,omitempty" tf:"guest_accelerator,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	Metadata map[string]string `json:"metadata,omitempty" tf:"metadata,omitempty"`

	MetadataStartupScript *string `json:"metadataStartupScript,omitempty" tf:"metadata_startup_script,omitempty"`

	MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	NetworkInterface []InstanceFromTemplateNetworkInterfaceInitParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	NetworkPerformanceConfig *InstanceFromTemplateNetworkPerformanceConfigInitParameters `json:"networkPerformanceConfig,omitempty" tf:"network_performance_config,omitempty"`

	Params *InstanceFromTemplateParamsInitParameters `json:"params,omitempty" tf:"params,omitempty"`

	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	ReservationAffinity *InstanceFromTemplateReservationAffinityInitParameters `json:"reservationAffinity,omitempty" tf:"reservation_affinity,omitempty"`

	ResourcePolicies []*string `json:"resourcePolicies,omitempty" tf:"resource_policies,omitempty"`

	Scheduling *InstanceFromTemplateSchedulingInitParameters `json:"scheduling,omitempty" tf:"scheduling,omitempty"`

	ScratchDisk []InstanceFromTemplateScratchDiskInitParameters `json:"scratchDisk,omitempty" tf:"scratch_disk,omitempty"`

	ServiceAccount *InstanceFromTemplateServiceAccountInitParameters `json:"serviceAccount,omitempty" tf:"service_account,omitempty"`

	ShieldedInstanceConfig *InstanceFromTemplateShieldedInstanceConfigInitParameters `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"`

	// Name or self link of an instance
	// template to create the instance based on. It is recommended to reference
	// instance templates through their unique id (self_link_unique attribute).
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.InstanceTemplate
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID()
	SourceInstanceTemplate *string `json:"sourceInstanceTemplate,omitempty" tf:"source_instance_template,omitempty"`

	// Reference to a InstanceTemplate in compute to populate sourceInstanceTemplate.
	// +kubebuilder:validation:Optional
	SourceInstanceTemplateRef *v1.Reference `json:"sourceInstanceTemplateRef,omitempty" tf:"-"`

	// Selector for a InstanceTemplate in compute to populate sourceInstanceTemplate.
	// +kubebuilder:validation:Optional
	SourceInstanceTemplateSelector *v1.Selector `json:"sourceInstanceTemplateSelector,omitempty" tf:"-"`

	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The zone that the machine should be created in. If not
	// set, the provider zone is used.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*InstanceFromTemplateInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateInitParameters.

func (*InstanceFromTemplateInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateList

type InstanceFromTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []InstanceFromTemplate `json:"items"`
}

InstanceFromTemplateList contains a list of InstanceFromTemplates

func (*InstanceFromTemplateList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateList.

func (*InstanceFromTemplateList) DeepCopyInto

func (in *InstanceFromTemplateList) DeepCopyInto(out *InstanceFromTemplateList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceFromTemplateList) DeepCopyObject

func (in *InstanceFromTemplateList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*InstanceFromTemplateList) GetItems

func (l *InstanceFromTemplateList) GetItems() []resource.Managed

GetItems of this InstanceFromTemplateList.

type InstanceFromTemplateNetworkInterfaceInitParameters

type InstanceFromTemplateNetworkInterfaceInitParameters struct {
	AccessConfig []NetworkInterfaceAccessConfigInitParameters `json:"accessConfig,omitempty" tf:"access_config,omitempty"`

	AliasIPRange []NetworkInterfaceAliasIPRangeInitParameters `json:"aliasIpRange,omitempty" tf:"alias_ip_range,omitempty"`

	IPv6AccessConfig []NetworkInterfaceIPv6AccessConfigInitParameters `json:"ipv6AccessConfig,omitempty" tf:"ipv6_access_config,omitempty"`

	IPv6Address *string `json:"ipv6Address,omitempty" tf:"ipv6_address,omitempty"`

	InternalIPv6PrefixLength *float64 `json:"internalIpv6PrefixLength,omitempty" tf:"internal_ipv6_prefix_length,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	NetworkIP *string `json:"networkIp,omitempty" tf:"network_ip,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	NicType *string `json:"nicType,omitempty" tf:"nic_type,omitempty"`

	QueueCount *float64 `json:"queueCount,omitempty" tf:"queue_count,omitempty"`

	StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	SubnetworkProject *string `json:"subnetworkProject,omitempty" tf:"subnetwork_project,omitempty"`

	// Reference to a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"`
}

func (*InstanceFromTemplateNetworkInterfaceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateNetworkInterfaceInitParameters.

func (*InstanceFromTemplateNetworkInterfaceInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateNetworkInterfaceObservation

type InstanceFromTemplateNetworkInterfaceObservation struct {
	AccessConfig []NetworkInterfaceAccessConfigObservation `json:"accessConfig,omitempty" tf:"access_config,omitempty"`

	AliasIPRange []NetworkInterfaceAliasIPRangeObservation `json:"aliasIpRange,omitempty" tf:"alias_ip_range,omitempty"`

	IPv6AccessConfig []NetworkInterfaceIPv6AccessConfigObservation `json:"ipv6AccessConfig,omitempty" tf:"ipv6_access_config,omitempty"`

	IPv6AccessType *string `json:"ipv6AccessType,omitempty" tf:"ipv6_access_type,omitempty"`

	IPv6Address *string `json:"ipv6Address,omitempty" tf:"ipv6_address,omitempty"`

	InternalIPv6PrefixLength *float64 `json:"internalIpv6PrefixLength,omitempty" tf:"internal_ipv6_prefix_length,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	NetworkIP *string `json:"networkIp,omitempty" tf:"network_ip,omitempty"`

	NicType *string `json:"nicType,omitempty" tf:"nic_type,omitempty"`

	QueueCount *float64 `json:"queueCount,omitempty" tf:"queue_count,omitempty"`

	StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"`

	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	SubnetworkProject *string `json:"subnetworkProject,omitempty" tf:"subnetwork_project,omitempty"`
}

func (*InstanceFromTemplateNetworkInterfaceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateNetworkInterfaceObservation.

func (*InstanceFromTemplateNetworkInterfaceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateNetworkInterfaceParameters

type InstanceFromTemplateNetworkInterfaceParameters struct {

	// +kubebuilder:validation:Optional
	AccessConfig []NetworkInterfaceAccessConfigParameters `json:"accessConfig,omitempty" tf:"access_config,omitempty"`

	// +kubebuilder:validation:Optional
	AliasIPRange []NetworkInterfaceAliasIPRangeParameters `json:"aliasIpRange,omitempty" tf:"alias_ip_range,omitempty"`

	// +kubebuilder:validation:Optional
	IPv6AccessConfig []NetworkInterfaceIPv6AccessConfigParameters `json:"ipv6AccessConfig,omitempty" tf:"ipv6_access_config,omitempty"`

	// +kubebuilder:validation:Optional
	IPv6Address *string `json:"ipv6Address,omitempty" tf:"ipv6_address,omitempty"`

	// +kubebuilder:validation:Optional
	InternalIPv6PrefixLength *float64 `json:"internalIpv6PrefixLength,omitempty" tf:"internal_ipv6_prefix_length,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +kubebuilder:validation:Optional
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// +kubebuilder:validation:Optional
	NetworkIP *string `json:"networkIp,omitempty" tf:"network_ip,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// +kubebuilder:validation:Optional
	NicType *string `json:"nicType,omitempty" tf:"nic_type,omitempty"`

	// +kubebuilder:validation:Optional
	QueueCount *float64 `json:"queueCount,omitempty" tf:"queue_count,omitempty"`

	// +kubebuilder:validation:Optional
	StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	// +kubebuilder:validation:Optional
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// +kubebuilder:validation:Optional
	SubnetworkProject *string `json:"subnetworkProject,omitempty" tf:"subnetwork_project,omitempty"`

	// Reference to a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"`
}

func (*InstanceFromTemplateNetworkInterfaceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateNetworkInterfaceParameters.

func (*InstanceFromTemplateNetworkInterfaceParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateNetworkPerformanceConfigInitParameters

type InstanceFromTemplateNetworkPerformanceConfigInitParameters struct {
	TotalEgressBandwidthTier *string `json:"totalEgressBandwidthTier,omitempty" tf:"total_egress_bandwidth_tier,omitempty"`
}

func (*InstanceFromTemplateNetworkPerformanceConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateNetworkPerformanceConfigInitParameters.

func (*InstanceFromTemplateNetworkPerformanceConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateNetworkPerformanceConfigObservation

type InstanceFromTemplateNetworkPerformanceConfigObservation struct {
	TotalEgressBandwidthTier *string `json:"totalEgressBandwidthTier,omitempty" tf:"total_egress_bandwidth_tier,omitempty"`
}

func (*InstanceFromTemplateNetworkPerformanceConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateNetworkPerformanceConfigObservation.

func (*InstanceFromTemplateNetworkPerformanceConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateNetworkPerformanceConfigParameters

type InstanceFromTemplateNetworkPerformanceConfigParameters struct {

	// +kubebuilder:validation:Optional
	TotalEgressBandwidthTier *string `json:"totalEgressBandwidthTier" tf:"total_egress_bandwidth_tier,omitempty"`
}

func (*InstanceFromTemplateNetworkPerformanceConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateNetworkPerformanceConfigParameters.

func (*InstanceFromTemplateNetworkPerformanceConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateObservation

type InstanceFromTemplateObservation struct {
	AdvancedMachineFeatures *InstanceFromTemplateAdvancedMachineFeaturesObservation `json:"advancedMachineFeatures,omitempty" tf:"advanced_machine_features,omitempty"`

	// Default is 6 minutes.
	AllowStoppingForUpdate *bool `json:"allowStoppingForUpdate,omitempty" tf:"allow_stopping_for_update,omitempty"`

	AttachedDisk []InstanceFromTemplateAttachedDiskObservation `json:"attachedDisk,omitempty" tf:"attached_disk,omitempty"`

	BootDisk *InstanceFromTemplateBootDiskObservation `json:"bootDisk,omitempty" tf:"boot_disk,omitempty"`

	CPUPlatform *string `json:"cpuPlatform,omitempty" tf:"cpu_platform,omitempty"`

	CanIPForward *bool `json:"canIpForward,omitempty" tf:"can_ip_forward,omitempty"`

	ConfidentialInstanceConfig *InstanceFromTemplateConfidentialInstanceConfigObservation `json:"confidentialInstanceConfig,omitempty" tf:"confidential_instance_config,omitempty"`

	CurrentStatus *string `json:"currentStatus,omitempty" tf:"current_status,omitempty"`

	DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"`

	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	DesiredStatus *string `json:"desiredStatus,omitempty" tf:"desired_status,omitempty"`

	// +mapType=granular
	EffectiveLabels map[string]*string `json:"effectiveLabels,omitempty" tf:"effective_labels,omitempty"`

	EnableDisplay *bool `json:"enableDisplay,omitempty" tf:"enable_display,omitempty"`

	GuestAccelerator []InstanceFromTemplateGuestAcceleratorObservation `json:"guestAccelerator,omitempty" tf:"guest_accelerator,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"`

	LabelFingerprint *string `json:"labelFingerprint,omitempty" tf:"label_fingerprint,omitempty"`

	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	Metadata map[string]string `json:"metadata,omitempty" tf:"metadata,omitempty"`

	MetadataFingerprint *string `json:"metadataFingerprint,omitempty" tf:"metadata_fingerprint,omitempty"`

	MetadataStartupScript *string `json:"metadataStartupScript,omitempty" tf:"metadata_startup_script,omitempty"`

	MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	NetworkInterface []InstanceFromTemplateNetworkInterfaceObservation `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	NetworkPerformanceConfig *InstanceFromTemplateNetworkPerformanceConfigObservation `json:"networkPerformanceConfig,omitempty" tf:"network_performance_config,omitempty"`

	Params *InstanceFromTemplateParamsObservation `json:"params,omitempty" tf:"params,omitempty"`

	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	ReservationAffinity *InstanceFromTemplateReservationAffinityObservation `json:"reservationAffinity,omitempty" tf:"reservation_affinity,omitempty"`

	ResourcePolicies []*string `json:"resourcePolicies,omitempty" tf:"resource_policies,omitempty"`

	Scheduling *InstanceFromTemplateSchedulingObservation `json:"scheduling,omitempty" tf:"scheduling,omitempty"`

	ScratchDisk []InstanceFromTemplateScratchDiskObservation `json:"scratchDisk,omitempty" tf:"scratch_disk,omitempty"`

	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	ServiceAccount *InstanceFromTemplateServiceAccountObservation `json:"serviceAccount,omitempty" tf:"service_account,omitempty"`

	ShieldedInstanceConfig *InstanceFromTemplateShieldedInstanceConfigObservation `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"`

	// Name or self link of an instance
	// template to create the instance based on. It is recommended to reference
	// instance templates through their unique id (self_link_unique attribute).
	SourceInstanceTemplate *string `json:"sourceInstanceTemplate,omitempty" tf:"source_instance_template,omitempty"`

	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	TagsFingerprint *string `json:"tagsFingerprint,omitempty" tf:"tags_fingerprint,omitempty"`

	// +mapType=granular
	TerraformLabels map[string]*string `json:"terraformLabels,omitempty" tf:"terraform_labels,omitempty"`

	// The zone that the machine should be created in. If not
	// set, the provider zone is used.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*InstanceFromTemplateObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateObservation.

func (*InstanceFromTemplateObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateParameters

type InstanceFromTemplateParameters struct {

	// +kubebuilder:validation:Optional
	AdvancedMachineFeatures *InstanceFromTemplateAdvancedMachineFeaturesParameters `json:"advancedMachineFeatures,omitempty" tf:"advanced_machine_features,omitempty"`

	// Default is 6 minutes.
	// +kubebuilder:validation:Optional
	AllowStoppingForUpdate *bool `json:"allowStoppingForUpdate,omitempty" tf:"allow_stopping_for_update,omitempty"`

	// +kubebuilder:validation:Optional
	AttachedDisk []InstanceFromTemplateAttachedDiskParameters `json:"attachedDisk,omitempty" tf:"attached_disk,omitempty"`

	// +kubebuilder:validation:Optional
	BootDisk *InstanceFromTemplateBootDiskParameters `json:"bootDisk,omitempty" tf:"boot_disk,omitempty"`

	// +kubebuilder:validation:Optional
	CanIPForward *bool `json:"canIpForward,omitempty" tf:"can_ip_forward,omitempty"`

	// +kubebuilder:validation:Optional
	ConfidentialInstanceConfig *InstanceFromTemplateConfidentialInstanceConfigParameters `json:"confidentialInstanceConfig,omitempty" tf:"confidential_instance_config,omitempty"`

	// +kubebuilder:validation:Optional
	DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"`

	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// +kubebuilder:validation:Optional
	DesiredStatus *string `json:"desiredStatus,omitempty" tf:"desired_status,omitempty"`

	// +kubebuilder:validation:Optional
	EnableDisplay *bool `json:"enableDisplay,omitempty" tf:"enable_display,omitempty"`

	// +kubebuilder:validation:Optional
	GuestAccelerator []InstanceFromTemplateGuestAcceleratorParameters `json:"guestAccelerator,omitempty" tf:"guest_accelerator,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// +kubebuilder:validation:Optional
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// +kubebuilder:validation:Optional
	Metadata map[string]string `json:"metadata,omitempty" tf:"metadata,omitempty"`

	// +kubebuilder:validation:Optional
	MetadataStartupScript *string `json:"metadataStartupScript,omitempty" tf:"metadata_startup_script,omitempty"`

	// +kubebuilder:validation:Optional
	MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// +kubebuilder:validation:Optional
	NetworkInterface []InstanceFromTemplateNetworkInterfaceParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// +kubebuilder:validation:Optional
	NetworkPerformanceConfig *InstanceFromTemplateNetworkPerformanceConfigParameters `json:"networkPerformanceConfig,omitempty" tf:"network_performance_config,omitempty"`

	// +kubebuilder:validation:Optional
	Params *InstanceFromTemplateParamsParameters `json:"params,omitempty" tf:"params,omitempty"`

	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// +kubebuilder:validation:Optional
	ReservationAffinity *InstanceFromTemplateReservationAffinityParameters `json:"reservationAffinity,omitempty" tf:"reservation_affinity,omitempty"`

	// +kubebuilder:validation:Optional
	ResourcePolicies []*string `json:"resourcePolicies,omitempty" tf:"resource_policies,omitempty"`

	// +kubebuilder:validation:Optional
	Scheduling *InstanceFromTemplateSchedulingParameters `json:"scheduling,omitempty" tf:"scheduling,omitempty"`

	// +kubebuilder:validation:Optional
	ScratchDisk []InstanceFromTemplateScratchDiskParameters `json:"scratchDisk,omitempty" tf:"scratch_disk,omitempty"`

	// +kubebuilder:validation:Optional
	ServiceAccount *InstanceFromTemplateServiceAccountParameters `json:"serviceAccount,omitempty" tf:"service_account,omitempty"`

	// +kubebuilder:validation:Optional
	ShieldedInstanceConfig *InstanceFromTemplateShieldedInstanceConfigParameters `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"`

	// Name or self link of an instance
	// template to create the instance based on. It is recommended to reference
	// instance templates through their unique id (self_link_unique attribute).
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.InstanceTemplate
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID()
	// +kubebuilder:validation:Optional
	SourceInstanceTemplate *string `json:"sourceInstanceTemplate,omitempty" tf:"source_instance_template,omitempty"`

	// Reference to a InstanceTemplate in compute to populate sourceInstanceTemplate.
	// +kubebuilder:validation:Optional
	SourceInstanceTemplateRef *v1.Reference `json:"sourceInstanceTemplateRef,omitempty" tf:"-"`

	// Selector for a InstanceTemplate in compute to populate sourceInstanceTemplate.
	// +kubebuilder:validation:Optional
	SourceInstanceTemplateSelector *v1.Selector `json:"sourceInstanceTemplateSelector,omitempty" tf:"-"`

	// +kubebuilder:validation:Optional
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The zone that the machine should be created in. If not
	// set, the provider zone is used.
	// +kubebuilder:validation:Optional
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*InstanceFromTemplateParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateParameters.

func (*InstanceFromTemplateParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateParamsInitParameters

type InstanceFromTemplateParamsInitParameters struct {

	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`
}

func (*InstanceFromTemplateParamsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateParamsInitParameters.

func (*InstanceFromTemplateParamsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateParamsObservation

type InstanceFromTemplateParamsObservation struct {

	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`
}

func (*InstanceFromTemplateParamsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateParamsObservation.

func (*InstanceFromTemplateParamsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateParamsParameters

type InstanceFromTemplateParamsParameters struct {

	// +kubebuilder:validation:Optional
	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`
}

func (*InstanceFromTemplateParamsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateParamsParameters.

func (*InstanceFromTemplateParamsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateReservationAffinityInitParameters

type InstanceFromTemplateReservationAffinityInitParameters struct {
	SpecificReservation *ReservationAffinitySpecificReservationInitParameters `json:"specificReservation,omitempty" tf:"specific_reservation,omitempty"`

	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*InstanceFromTemplateReservationAffinityInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateReservationAffinityInitParameters.

func (*InstanceFromTemplateReservationAffinityInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateReservationAffinityObservation

type InstanceFromTemplateReservationAffinityObservation struct {
	SpecificReservation *ReservationAffinitySpecificReservationObservation `json:"specificReservation,omitempty" tf:"specific_reservation,omitempty"`

	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*InstanceFromTemplateReservationAffinityObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateReservationAffinityObservation.

func (*InstanceFromTemplateReservationAffinityObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateReservationAffinityParameters

type InstanceFromTemplateReservationAffinityParameters struct {

	// +kubebuilder:validation:Optional
	SpecificReservation *ReservationAffinitySpecificReservationParameters `json:"specificReservation,omitempty" tf:"specific_reservation,omitempty"`

	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*InstanceFromTemplateReservationAffinityParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateReservationAffinityParameters.

func (*InstanceFromTemplateReservationAffinityParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateSchedulingInitParameters

type InstanceFromTemplateSchedulingInitParameters struct {
	AutomaticRestart *bool `json:"automaticRestart,omitempty" tf:"automatic_restart,omitempty"`

	InstanceTerminationAction *string `json:"instanceTerminationAction,omitempty" tf:"instance_termination_action,omitempty"`

	LocalSsdRecoveryTimeout *SchedulingLocalSsdRecoveryTimeoutInitParameters `json:"localSsdRecoveryTimeout,omitempty" tf:"local_ssd_recovery_timeout,omitempty"`

	MinNodeCpus *float64 `json:"minNodeCpus,omitempty" tf:"min_node_cpus,omitempty"`

	NodeAffinities []SchedulingNodeAffinitiesInitParameters `json:"nodeAffinities,omitempty" tf:"node_affinities,omitempty"`

	OnHostMaintenance *string `json:"onHostMaintenance,omitempty" tf:"on_host_maintenance,omitempty"`

	Preemptible *bool `json:"preemptible,omitempty" tf:"preemptible,omitempty"`

	ProvisioningModel *string `json:"provisioningModel,omitempty" tf:"provisioning_model,omitempty"`
}

func (*InstanceFromTemplateSchedulingInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateSchedulingInitParameters.

func (*InstanceFromTemplateSchedulingInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateSchedulingObservation

type InstanceFromTemplateSchedulingObservation struct {
	AutomaticRestart *bool `json:"automaticRestart,omitempty" tf:"automatic_restart,omitempty"`

	InstanceTerminationAction *string `json:"instanceTerminationAction,omitempty" tf:"instance_termination_action,omitempty"`

	LocalSsdRecoveryTimeout *SchedulingLocalSsdRecoveryTimeoutObservation `json:"localSsdRecoveryTimeout,omitempty" tf:"local_ssd_recovery_timeout,omitempty"`

	MinNodeCpus *float64 `json:"minNodeCpus,omitempty" tf:"min_node_cpus,omitempty"`

	NodeAffinities []SchedulingNodeAffinitiesObservation `json:"nodeAffinities,omitempty" tf:"node_affinities,omitempty"`

	OnHostMaintenance *string `json:"onHostMaintenance,omitempty" tf:"on_host_maintenance,omitempty"`

	Preemptible *bool `json:"preemptible,omitempty" tf:"preemptible,omitempty"`

	ProvisioningModel *string `json:"provisioningModel,omitempty" tf:"provisioning_model,omitempty"`
}

func (*InstanceFromTemplateSchedulingObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateSchedulingObservation.

func (*InstanceFromTemplateSchedulingObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateSchedulingParameters

type InstanceFromTemplateSchedulingParameters struct {

	// +kubebuilder:validation:Optional
	AutomaticRestart *bool `json:"automaticRestart,omitempty" tf:"automatic_restart,omitempty"`

	// +kubebuilder:validation:Optional
	InstanceTerminationAction *string `json:"instanceTerminationAction,omitempty" tf:"instance_termination_action,omitempty"`

	// +kubebuilder:validation:Optional
	LocalSsdRecoveryTimeout *SchedulingLocalSsdRecoveryTimeoutParameters `json:"localSsdRecoveryTimeout,omitempty" tf:"local_ssd_recovery_timeout,omitempty"`

	// +kubebuilder:validation:Optional
	MinNodeCpus *float64 `json:"minNodeCpus,omitempty" tf:"min_node_cpus,omitempty"`

	// +kubebuilder:validation:Optional
	NodeAffinities []SchedulingNodeAffinitiesParameters `json:"nodeAffinities,omitempty" tf:"node_affinities,omitempty"`

	// +kubebuilder:validation:Optional
	OnHostMaintenance *string `json:"onHostMaintenance,omitempty" tf:"on_host_maintenance,omitempty"`

	// +kubebuilder:validation:Optional
	Preemptible *bool `json:"preemptible,omitempty" tf:"preemptible,omitempty"`

	// +kubebuilder:validation:Optional
	ProvisioningModel *string `json:"provisioningModel,omitempty" tf:"provisioning_model,omitempty"`
}

func (*InstanceFromTemplateSchedulingParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateSchedulingParameters.

func (*InstanceFromTemplateSchedulingParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateScratchDiskInitParameters

type InstanceFromTemplateScratchDiskInitParameters struct {

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name"`

	Interface *string `json:"interface,omitempty" tf:"interface"`

	Size *float64 `json:"size,omitempty" tf:"size"`
}

func (*InstanceFromTemplateScratchDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateScratchDiskInitParameters.

func (*InstanceFromTemplateScratchDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateScratchDiskObservation

type InstanceFromTemplateScratchDiskObservation struct {

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	Interface *string `json:"interface,omitempty" tf:"interface,omitempty"`

	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`
}

func (*InstanceFromTemplateScratchDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateScratchDiskObservation.

func (*InstanceFromTemplateScratchDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateScratchDiskParameters

type InstanceFromTemplateScratchDiskParameters struct {

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name"`

	// +kubebuilder:validation:Optional
	Interface *string `json:"interface,omitempty" tf:"interface"`

	// +kubebuilder:validation:Optional
	Size *float64 `json:"size,omitempty" tf:"size"`
}

func (*InstanceFromTemplateScratchDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateScratchDiskParameters.

func (*InstanceFromTemplateScratchDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateServiceAccountInitParameters

type InstanceFromTemplateServiceAccountInitParameters struct {
	Email *string `json:"email,omitempty" tf:"email"`

	// +listType=set
	Scopes []*string `json:"scopes,omitempty" tf:"scopes"`
}

func (*InstanceFromTemplateServiceAccountInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateServiceAccountInitParameters.

func (*InstanceFromTemplateServiceAccountInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateServiceAccountObservation

type InstanceFromTemplateServiceAccountObservation struct {
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// +listType=set
	Scopes []*string `json:"scopes,omitempty" tf:"scopes,omitempty"`
}

func (*InstanceFromTemplateServiceAccountObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateServiceAccountObservation.

func (*InstanceFromTemplateServiceAccountObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateServiceAccountParameters

type InstanceFromTemplateServiceAccountParameters struct {

	// +kubebuilder:validation:Optional
	Email *string `json:"email,omitempty" tf:"email"`

	// +kubebuilder:validation:Optional
	// +listType=set
	Scopes []*string `json:"scopes,omitempty" tf:"scopes"`
}

func (*InstanceFromTemplateServiceAccountParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateServiceAccountParameters.

func (*InstanceFromTemplateServiceAccountParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateShieldedInstanceConfigInitParameters

type InstanceFromTemplateShieldedInstanceConfigInitParameters struct {
	EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring,omitempty" tf:"enable_integrity_monitoring,omitempty"`

	EnableSecureBoot *bool `json:"enableSecureBoot,omitempty" tf:"enable_secure_boot,omitempty"`

	EnableVtpm *bool `json:"enableVtpm,omitempty" tf:"enable_vtpm,omitempty"`
}

func (*InstanceFromTemplateShieldedInstanceConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateShieldedInstanceConfigInitParameters.

func (*InstanceFromTemplateShieldedInstanceConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateShieldedInstanceConfigObservation

type InstanceFromTemplateShieldedInstanceConfigObservation struct {
	EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring,omitempty" tf:"enable_integrity_monitoring,omitempty"`

	EnableSecureBoot *bool `json:"enableSecureBoot,omitempty" tf:"enable_secure_boot,omitempty"`

	EnableVtpm *bool `json:"enableVtpm,omitempty" tf:"enable_vtpm,omitempty"`
}

func (*InstanceFromTemplateShieldedInstanceConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateShieldedInstanceConfigObservation.

func (*InstanceFromTemplateShieldedInstanceConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateShieldedInstanceConfigParameters

type InstanceFromTemplateShieldedInstanceConfigParameters struct {

	// +kubebuilder:validation:Optional
	EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring,omitempty" tf:"enable_integrity_monitoring,omitempty"`

	// +kubebuilder:validation:Optional
	EnableSecureBoot *bool `json:"enableSecureBoot,omitempty" tf:"enable_secure_boot,omitempty"`

	// +kubebuilder:validation:Optional
	EnableVtpm *bool `json:"enableVtpm,omitempty" tf:"enable_vtpm,omitempty"`
}

func (*InstanceFromTemplateShieldedInstanceConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateShieldedInstanceConfigParameters.

func (*InstanceFromTemplateShieldedInstanceConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateSpec

type InstanceFromTemplateSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     InstanceFromTemplateParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider InstanceFromTemplateInitParameters `json:"initProvider,omitempty"`
}

InstanceFromTemplateSpec defines the desired state of InstanceFromTemplate

func (*InstanceFromTemplateSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateSpec.

func (*InstanceFromTemplateSpec) DeepCopyInto

func (in *InstanceFromTemplateSpec) DeepCopyInto(out *InstanceFromTemplateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceFromTemplateStatus

type InstanceFromTemplateStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        InstanceFromTemplateObservation `json:"atProvider,omitempty"`
}

InstanceFromTemplateStatus defines the observed state of InstanceFromTemplate.

func (*InstanceFromTemplateStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateStatus.

func (*InstanceFromTemplateStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceGroupManager

type InstanceGroupManager struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.baseInstanceName) || (has(self.initProvider) && has(self.initProvider.baseInstanceName))",message="spec.forProvider.baseInstanceName is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.version) || (has(self.initProvider) && has(self.initProvider.version))",message="spec.forProvider.version is a required parameter"
	Spec   InstanceGroupManagerSpec   `json:"spec"`
	Status InstanceGroupManagerStatus `json:"status,omitempty"`
}

InstanceGroupManager is the Schema for the InstanceGroupManagers API. Manages an Instance Group within GCE. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*InstanceGroupManager) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupManager.

func (*InstanceGroupManager) DeepCopyInto

func (in *InstanceGroupManager) DeepCopyInto(out *InstanceGroupManager)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceGroupManager) DeepCopyObject

func (in *InstanceGroupManager) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*InstanceGroupManager) GetCondition

func (mg *InstanceGroupManager) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this InstanceGroupManager.

func (*InstanceGroupManager) GetConnectionDetailsMapping

func (tr *InstanceGroupManager) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this InstanceGroupManager

func (*InstanceGroupManager) GetDeletionPolicy

func (mg *InstanceGroupManager) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this InstanceGroupManager.

func (*InstanceGroupManager) GetID

func (tr *InstanceGroupManager) GetID() string

GetID returns ID of underlying Terraform resource of this InstanceGroupManager

func (*InstanceGroupManager) GetInitParameters

func (tr *InstanceGroupManager) GetInitParameters() (map[string]any, error)

GetInitParameters of this InstanceGroupManager

func (*InstanceGroupManager) GetManagementPolicies

func (mg *InstanceGroupManager) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this InstanceGroupManager.

func (*InstanceGroupManager) GetMergedParameters

func (tr *InstanceGroupManager) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this InstanceGroupManager

func (*InstanceGroupManager) GetObservation

func (tr *InstanceGroupManager) GetObservation() (map[string]any, error)

GetObservation of this InstanceGroupManager

func (*InstanceGroupManager) GetParameters

func (tr *InstanceGroupManager) GetParameters() (map[string]any, error)

GetParameters of this InstanceGroupManager

func (*InstanceGroupManager) GetProviderConfigReference

func (mg *InstanceGroupManager) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this InstanceGroupManager.

func (*InstanceGroupManager) GetPublishConnectionDetailsTo

func (mg *InstanceGroupManager) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this InstanceGroupManager.

func (*InstanceGroupManager) GetTerraformResourceType

func (mg *InstanceGroupManager) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this InstanceGroupManager

func (*InstanceGroupManager) GetTerraformSchemaVersion

func (tr *InstanceGroupManager) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*InstanceGroupManager) GetWriteConnectionSecretToReference

func (mg *InstanceGroupManager) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this InstanceGroupManager.

func (*InstanceGroupManager) Hub

func (tr *InstanceGroupManager) Hub()

Hub marks this type as a conversion hub.

func (*InstanceGroupManager) LateInitialize

func (tr *InstanceGroupManager) LateInitialize(attrs []byte) (bool, error)

LateInitialize this InstanceGroupManager using its observed tfState. returns True if there are any spec changes for the resource.

func (*InstanceGroupManager) ResolveReferences

func (mg *InstanceGroupManager) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this InstanceGroupManager.

func (*InstanceGroupManager) SetConditions

func (mg *InstanceGroupManager) SetConditions(c ...xpv1.Condition)

SetConditions of this InstanceGroupManager.

func (*InstanceGroupManager) SetDeletionPolicy

func (mg *InstanceGroupManager) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this InstanceGroupManager.

func (*InstanceGroupManager) SetManagementPolicies

func (mg *InstanceGroupManager) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this InstanceGroupManager.

func (*InstanceGroupManager) SetObservation

func (tr *InstanceGroupManager) SetObservation(obs map[string]any) error

SetObservation for this InstanceGroupManager

func (*InstanceGroupManager) SetParameters

func (tr *InstanceGroupManager) SetParameters(params map[string]any) error

SetParameters for this InstanceGroupManager

func (*InstanceGroupManager) SetProviderConfigReference

func (mg *InstanceGroupManager) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this InstanceGroupManager.

func (*InstanceGroupManager) SetPublishConnectionDetailsTo

func (mg *InstanceGroupManager) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this InstanceGroupManager.

func (*InstanceGroupManager) SetWriteConnectionSecretToReference

func (mg *InstanceGroupManager) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this InstanceGroupManager.

type InstanceGroupManagerInitParameters

type InstanceGroupManagerInitParameters struct {

	// Properties to set on all instances in the group. After setting
	// allInstancesConfig on the group, you must update the group's instances to
	// apply the configuration.
	AllInstancesConfig *AllInstancesConfigInitParameters `json:"allInstancesConfig,omitempty" tf:"all_instances_config,omitempty"`

	// The autohealing policies for this managed instance
	// group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
	AutoHealingPolicies *AutoHealingPoliciesInitParameters `json:"autoHealingPolicies,omitempty" tf:"auto_healing_policies,omitempty"`

	// The base instance name to use for
	// instances in this group. The value must be a valid
	// RFC1035 name. Supported characters
	// are lowercase letters, numbers, and hyphens (-). Instances are named by
	// appending a hyphen and a random four-character string to the base instance
	// name.
	BaseInstanceName *string `json:"baseInstanceName,omitempty" tf:"base_instance_name,omitempty"`

	// An optional textual description of the instance
	// group manager.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	InstanceLifecyclePolicy *InstanceLifecyclePolicyInitParameters `json:"instanceLifecyclePolicy,omitempty" tf:"instance_lifecycle_policy,omitempty"`

	// Pagination behavior of the listManagedInstances API
	// method for this managed instance group. Valid values are: PAGELESS, PAGINATED.
	// If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method.
	// maxResults and pageToken query parameters are ignored and all instances are returned in a single
	// response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are
	// respected.
	ListManagedInstancesResults *string `json:"listManagedInstancesResults,omitempty" tf:"list_managed_instances_results,omitempty"`

	// The named port configuration. See the section below
	// for details on configuration.
	NamedPort []NamedPortInitParameters `json:"namedPort,omitempty" tf:"named_port,omitempty"`

	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
	StatefulDisk []StatefulDiskInitParameters `json:"statefulDisk,omitempty" tf:"stateful_disk,omitempty"`

	// External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
	StatefulExternalIP []StatefulExternalIPInitParameters `json:"statefulExternalIp,omitempty" tf:"stateful_external_ip,omitempty"`

	// Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
	StatefulInternalIP []StatefulInternalIPInitParameters `json:"statefulInternalIp,omitempty" tf:"stateful_internal_ip,omitempty"`

	// The full URL of all target pools to which new
	// instances in the group are added. Updating the target pools attribute does
	// not affect existing instances.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.TargetPool
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +listType=set
	TargetPools []*string `json:"targetPools,omitempty" tf:"target_pools,omitempty"`

	// References to TargetPool in compute to populate targetPools.
	// +kubebuilder:validation:Optional
	TargetPoolsRefs []v1.Reference `json:"targetPoolsRefs,omitempty" tf:"-"`

	// Selector for a list of TargetPool in compute to populate targetPools.
	// +kubebuilder:validation:Optional
	TargetPoolsSelector *v1.Selector `json:"targetPoolsSelector,omitempty" tf:"-"`

	// The target number of running instances for this managed
	// instance group. This value will fight with autoscaler settings when set, and generally shouldn't be set
	// when using one. If a value is required, such as to specify a creation-time target size for the MIG,
	// lifecycle. Defaults to 0.
	TargetSize *float64 `json:"targetSize,omitempty" tf:"target_size,omitempty"`

	// The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API
	UpdatePolicy *UpdatePolicyInitParameters `json:"updatePolicy,omitempty" tf:"update_policy,omitempty"`

	// Application versions managed by this instance group. Each
	// version deals with a specific instance template, allowing canary release scenarios.
	// Structure is documented below.
	Version []VersionInitParameters `json:"version,omitempty" tf:"version,omitempty"`

	// Whether to wait for all instances to be created/updated before
	// returning.
	WaitForInstances *bool `json:"waitForInstances,omitempty" tf:"wait_for_instances,omitempty"`

	// When used with wait_for_instances it specifies the status to wait for.
	// When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is
	// set, it will wait for the version target to be reached and any per instance configs to be effective as well as all
	// instances to be stable before returning. The possible values are STABLE and UPDATED
	WaitForInstancesStatus *string `json:"waitForInstancesStatus,omitempty" tf:"wait_for_instances_status,omitempty"`
}

func (*InstanceGroupManagerInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupManagerInitParameters.

func (*InstanceGroupManagerInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceGroupManagerList

type InstanceGroupManagerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []InstanceGroupManager `json:"items"`
}

InstanceGroupManagerList contains a list of InstanceGroupManagers

func (*InstanceGroupManagerList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupManagerList.

func (*InstanceGroupManagerList) DeepCopyInto

func (in *InstanceGroupManagerList) DeepCopyInto(out *InstanceGroupManagerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceGroupManagerList) DeepCopyObject

func (in *InstanceGroupManagerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*InstanceGroupManagerList) GetItems

func (l *InstanceGroupManagerList) GetItems() []resource.Managed

GetItems of this InstanceGroupManagerList.

type InstanceGroupManagerObservation

type InstanceGroupManagerObservation struct {

	// Properties to set on all instances in the group. After setting
	// allInstancesConfig on the group, you must update the group's instances to
	// apply the configuration.
	AllInstancesConfig *AllInstancesConfigObservation `json:"allInstancesConfig,omitempty" tf:"all_instances_config,omitempty"`

	// The autohealing policies for this managed instance
	// group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
	AutoHealingPolicies *AutoHealingPoliciesObservation `json:"autoHealingPolicies,omitempty" tf:"auto_healing_policies,omitempty"`

	// The base instance name to use for
	// instances in this group. The value must be a valid
	// RFC1035 name. Supported characters
	// are lowercase letters, numbers, and hyphens (-). Instances are named by
	// appending a hyphen and a random four-character string to the base instance
	// name.
	BaseInstanceName *string `json:"baseInstanceName,omitempty" tf:"base_instance_name,omitempty"`

	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional textual description of the instance
	// group manager.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The fingerprint of the instance group manager.
	Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"`

	// an identifier for the resource with format projects/{{project}}/zones/{{zone}}/instanceGroupManagers/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The full URL of the instance group created by the manager.
	InstanceGroup *string `json:"instanceGroup,omitempty" tf:"instance_group,omitempty"`

	InstanceLifecyclePolicy *InstanceLifecyclePolicyObservation `json:"instanceLifecyclePolicy,omitempty" tf:"instance_lifecycle_policy,omitempty"`

	// Pagination behavior of the listManagedInstances API
	// method for this managed instance group. Valid values are: PAGELESS, PAGINATED.
	// If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method.
	// maxResults and pageToken query parameters are ignored and all instances are returned in a single
	// response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are
	// respected.
	ListManagedInstancesResults *string `json:"listManagedInstancesResults,omitempty" tf:"list_managed_instances_results,omitempty"`

	// The named port configuration. See the section below
	// for details on configuration.
	NamedPort []NamedPortObservation `json:"namedPort,omitempty" tf:"named_port,omitempty"`

	Operation *string `json:"operation,omitempty" tf:"operation,omitempty"`

	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The URL of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
	StatefulDisk []StatefulDiskObservation `json:"statefulDisk,omitempty" tf:"stateful_disk,omitempty"`

	// External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
	StatefulExternalIP []StatefulExternalIPObservation `json:"statefulExternalIp,omitempty" tf:"stateful_external_ip,omitempty"`

	// Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
	StatefulInternalIP []StatefulInternalIPObservation `json:"statefulInternalIp,omitempty" tf:"stateful_internal_ip,omitempty"`

	// The status of this managed instance group.
	Status []StatusObservation `json:"status,omitempty" tf:"status,omitempty"`

	// The full URL of all target pools to which new
	// instances in the group are added. Updating the target pools attribute does
	// not affect existing instances.
	// +listType=set
	TargetPools []*string `json:"targetPools,omitempty" tf:"target_pools,omitempty"`

	// The target number of running instances for this managed
	// instance group. This value will fight with autoscaler settings when set, and generally shouldn't be set
	// when using one. If a value is required, such as to specify a creation-time target size for the MIG,
	// lifecycle. Defaults to 0.
	TargetSize *float64 `json:"targetSize,omitempty" tf:"target_size,omitempty"`

	// The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API
	UpdatePolicy *UpdatePolicyObservation `json:"updatePolicy,omitempty" tf:"update_policy,omitempty"`

	// Application versions managed by this instance group. Each
	// version deals with a specific instance template, allowing canary release scenarios.
	// Structure is documented below.
	Version []VersionObservation `json:"version,omitempty" tf:"version,omitempty"`

	// Whether to wait for all instances to be created/updated before
	// returning.
	WaitForInstances *bool `json:"waitForInstances,omitempty" tf:"wait_for_instances,omitempty"`

	// When used with wait_for_instances it specifies the status to wait for.
	// When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is
	// set, it will wait for the version target to be reached and any per instance configs to be effective as well as all
	// instances to be stable before returning. The possible values are STABLE and UPDATED
	WaitForInstancesStatus *string `json:"waitForInstancesStatus,omitempty" tf:"wait_for_instances_status,omitempty"`

	// The zone that instances in this group should be created
	// in.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*InstanceGroupManagerObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupManagerObservation.

func (*InstanceGroupManagerObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceGroupManagerParameters

type InstanceGroupManagerParameters struct {

	// Properties to set on all instances in the group. After setting
	// allInstancesConfig on the group, you must update the group's instances to
	// apply the configuration.
	// +kubebuilder:validation:Optional
	AllInstancesConfig *AllInstancesConfigParameters `json:"allInstancesConfig,omitempty" tf:"all_instances_config,omitempty"`

	// The autohealing policies for this managed instance
	// group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
	// +kubebuilder:validation:Optional
	AutoHealingPolicies *AutoHealingPoliciesParameters `json:"autoHealingPolicies,omitempty" tf:"auto_healing_policies,omitempty"`

	// The base instance name to use for
	// instances in this group. The value must be a valid
	// RFC1035 name. Supported characters
	// are lowercase letters, numbers, and hyphens (-). Instances are named by
	// appending a hyphen and a random four-character string to the base instance
	// name.
	// +kubebuilder:validation:Optional
	BaseInstanceName *string `json:"baseInstanceName,omitempty" tf:"base_instance_name,omitempty"`

	// An optional textual description of the instance
	// group manager.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// +kubebuilder:validation:Optional
	InstanceLifecyclePolicy *InstanceLifecyclePolicyParameters `json:"instanceLifecyclePolicy,omitempty" tf:"instance_lifecycle_policy,omitempty"`

	// Pagination behavior of the listManagedInstances API
	// method for this managed instance group. Valid values are: PAGELESS, PAGINATED.
	// If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method.
	// maxResults and pageToken query parameters are ignored and all instances are returned in a single
	// response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are
	// respected.
	// +kubebuilder:validation:Optional
	ListManagedInstancesResults *string `json:"listManagedInstancesResults,omitempty" tf:"list_managed_instances_results,omitempty"`

	// The named port configuration. See the section below
	// for details on configuration.
	// +kubebuilder:validation:Optional
	NamedPort []NamedPortParameters `json:"namedPort,omitempty" tf:"named_port,omitempty"`

	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
	// +kubebuilder:validation:Optional
	StatefulDisk []StatefulDiskParameters `json:"statefulDisk,omitempty" tf:"stateful_disk,omitempty"`

	// External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
	// +kubebuilder:validation:Optional
	StatefulExternalIP []StatefulExternalIPParameters `json:"statefulExternalIp,omitempty" tf:"stateful_external_ip,omitempty"`

	// Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
	// +kubebuilder:validation:Optional
	StatefulInternalIP []StatefulInternalIPParameters `json:"statefulInternalIp,omitempty" tf:"stateful_internal_ip,omitempty"`

	// The full URL of all target pools to which new
	// instances in the group are added. Updating the target pools attribute does
	// not affect existing instances.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.TargetPool
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +kubebuilder:validation:Optional
	// +listType=set
	TargetPools []*string `json:"targetPools,omitempty" tf:"target_pools,omitempty"`

	// References to TargetPool in compute to populate targetPools.
	// +kubebuilder:validation:Optional
	TargetPoolsRefs []v1.Reference `json:"targetPoolsRefs,omitempty" tf:"-"`

	// Selector for a list of TargetPool in compute to populate targetPools.
	// +kubebuilder:validation:Optional
	TargetPoolsSelector *v1.Selector `json:"targetPoolsSelector,omitempty" tf:"-"`

	// The target number of running instances for this managed
	// instance group. This value will fight with autoscaler settings when set, and generally shouldn't be set
	// when using one. If a value is required, such as to specify a creation-time target size for the MIG,
	// lifecycle. Defaults to 0.
	// +kubebuilder:validation:Optional
	TargetSize *float64 `json:"targetSize,omitempty" tf:"target_size,omitempty"`

	// The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API
	// +kubebuilder:validation:Optional
	UpdatePolicy *UpdatePolicyParameters `json:"updatePolicy,omitempty" tf:"update_policy,omitempty"`

	// Application versions managed by this instance group. Each
	// version deals with a specific instance template, allowing canary release scenarios.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Version []VersionParameters `json:"version,omitempty" tf:"version,omitempty"`

	// Whether to wait for all instances to be created/updated before
	// returning.
	// +kubebuilder:validation:Optional
	WaitForInstances *bool `json:"waitForInstances,omitempty" tf:"wait_for_instances,omitempty"`

	// When used with wait_for_instances it specifies the status to wait for.
	// When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is
	// set, it will wait for the version target to be reached and any per instance configs to be effective as well as all
	// instances to be stable before returning. The possible values are STABLE and UPDATED
	// +kubebuilder:validation:Optional
	WaitForInstancesStatus *string `json:"waitForInstancesStatus,omitempty" tf:"wait_for_instances_status,omitempty"`

	// The zone that instances in this group should be created
	// in.
	// +kubebuilder:validation:Required
	Zone *string `json:"zone" tf:"zone,omitempty"`
}

func (*InstanceGroupManagerParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupManagerParameters.

func (*InstanceGroupManagerParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceGroupManagerSpec

type InstanceGroupManagerSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     InstanceGroupManagerParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider InstanceGroupManagerInitParameters `json:"initProvider,omitempty"`
}

InstanceGroupManagerSpec defines the desired state of InstanceGroupManager

func (*InstanceGroupManagerSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupManagerSpec.

func (*InstanceGroupManagerSpec) DeepCopyInto

func (in *InstanceGroupManagerSpec) DeepCopyInto(out *InstanceGroupManagerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceGroupManagerStatus

type InstanceGroupManagerStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        InstanceGroupManagerObservation `json:"atProvider,omitempty"`
}

InstanceGroupManagerStatus defines the observed state of InstanceGroupManager.

func (*InstanceGroupManagerStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupManagerStatus.

func (*InstanceGroupManagerStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceIAMMember

type InstanceIAMMember struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.member) || (has(self.initProvider) && has(self.initProvider.member))",message="spec.forProvider.member is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.role) || (has(self.initProvider) && has(self.initProvider.role))",message="spec.forProvider.role is a required parameter"
	Spec   InstanceIAMMemberSpec   `json:"spec"`
	Status InstanceIAMMemberStatus `json:"status,omitempty"`
}

InstanceIAMMember is the Schema for the InstanceIAMMembers API. <no value> +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*InstanceIAMMember) DeepCopy

func (in *InstanceIAMMember) DeepCopy() *InstanceIAMMember

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMember.

func (*InstanceIAMMember) DeepCopyInto

func (in *InstanceIAMMember) DeepCopyInto(out *InstanceIAMMember)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceIAMMember) DeepCopyObject

func (in *InstanceIAMMember) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*InstanceIAMMember) GetCondition

func (mg *InstanceIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this InstanceIAMMember.

func (*InstanceIAMMember) GetConnectionDetailsMapping

func (tr *InstanceIAMMember) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this InstanceIAMMember

func (*InstanceIAMMember) GetDeletionPolicy

func (mg *InstanceIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this InstanceIAMMember.

func (*InstanceIAMMember) GetID

func (tr *InstanceIAMMember) GetID() string

GetID returns ID of underlying Terraform resource of this InstanceIAMMember

func (*InstanceIAMMember) GetInitParameters

func (tr *InstanceIAMMember) GetInitParameters() (map[string]any, error)

GetInitParameters of this InstanceIAMMember

func (*InstanceIAMMember) GetManagementPolicies

func (mg *InstanceIAMMember) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this InstanceIAMMember.

func (*InstanceIAMMember) GetMergedParameters

func (tr *InstanceIAMMember) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this InstanceIAMMember

func (*InstanceIAMMember) GetObservation

func (tr *InstanceIAMMember) GetObservation() (map[string]any, error)

GetObservation of this InstanceIAMMember

func (*InstanceIAMMember) GetParameters

func (tr *InstanceIAMMember) GetParameters() (map[string]any, error)

GetParameters of this InstanceIAMMember

func (*InstanceIAMMember) GetProviderConfigReference

func (mg *InstanceIAMMember) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this InstanceIAMMember.

func (*InstanceIAMMember) GetPublishConnectionDetailsTo

func (mg *InstanceIAMMember) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this InstanceIAMMember.

func (*InstanceIAMMember) GetTerraformResourceType

func (mg *InstanceIAMMember) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this InstanceIAMMember

func (*InstanceIAMMember) GetTerraformSchemaVersion

func (tr *InstanceIAMMember) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*InstanceIAMMember) GetWriteConnectionSecretToReference

func (mg *InstanceIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this InstanceIAMMember.

func (*InstanceIAMMember) Hub

func (tr *InstanceIAMMember) Hub()

Hub marks this type as a conversion hub.

func (*InstanceIAMMember) LateInitialize

func (tr *InstanceIAMMember) LateInitialize(attrs []byte) (bool, error)

LateInitialize this InstanceIAMMember using its observed tfState. returns True if there are any spec changes for the resource.

func (*InstanceIAMMember) ResolveReferences

func (mg *InstanceIAMMember) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this InstanceIAMMember.

func (*InstanceIAMMember) SetConditions

func (mg *InstanceIAMMember) SetConditions(c ...xpv1.Condition)

SetConditions of this InstanceIAMMember.

func (*InstanceIAMMember) SetDeletionPolicy

func (mg *InstanceIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this InstanceIAMMember.

func (*InstanceIAMMember) SetManagementPolicies

func (mg *InstanceIAMMember) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this InstanceIAMMember.

func (*InstanceIAMMember) SetObservation

func (tr *InstanceIAMMember) SetObservation(obs map[string]any) error

SetObservation for this InstanceIAMMember

func (*InstanceIAMMember) SetParameters

func (tr *InstanceIAMMember) SetParameters(params map[string]any) error

SetParameters for this InstanceIAMMember

func (*InstanceIAMMember) SetProviderConfigReference

func (mg *InstanceIAMMember) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this InstanceIAMMember.

func (*InstanceIAMMember) SetPublishConnectionDetailsTo

func (mg *InstanceIAMMember) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this InstanceIAMMember.

func (*InstanceIAMMember) SetWriteConnectionSecretToReference

func (mg *InstanceIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this InstanceIAMMember.

type InstanceIAMMemberConditionInitParameters

type InstanceIAMMemberConditionInitParameters struct {
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*InstanceIAMMemberConditionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberConditionInitParameters.

func (*InstanceIAMMemberConditionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceIAMMemberConditionObservation

type InstanceIAMMemberConditionObservation struct {
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*InstanceIAMMemberConditionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberConditionObservation.

func (*InstanceIAMMemberConditionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceIAMMemberConditionParameters

type InstanceIAMMemberConditionParameters struct {

	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// +kubebuilder:validation:Optional
	Expression *string `json:"expression" tf:"expression,omitempty"`

	// +kubebuilder:validation:Optional
	Title *string `json:"title" tf:"title,omitempty"`
}

func (*InstanceIAMMemberConditionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberConditionParameters.

func (*InstanceIAMMemberConditionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceIAMMemberInitParameters

type InstanceIAMMemberInitParameters struct {
	Condition *InstanceIAMMemberConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Instance
	InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"`

	// Reference to a Instance in compute to populate instanceName.
	// +kubebuilder:validation:Optional
	InstanceNameRef *v1.Reference `json:"instanceNameRef,omitempty" tf:"-"`

	// Selector for a Instance in compute to populate instanceName.
	// +kubebuilder:validation:Optional
	InstanceNameSelector *v1.Selector `json:"instanceNameSelector,omitempty" tf:"-"`

	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*InstanceIAMMemberInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberInitParameters.

func (*InstanceIAMMemberInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceIAMMemberList

type InstanceIAMMemberList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []InstanceIAMMember `json:"items"`
}

InstanceIAMMemberList contains a list of InstanceIAMMembers

func (*InstanceIAMMemberList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberList.

func (*InstanceIAMMemberList) DeepCopyInto

func (in *InstanceIAMMemberList) DeepCopyInto(out *InstanceIAMMemberList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceIAMMemberList) DeepCopyObject

func (in *InstanceIAMMemberList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*InstanceIAMMemberList) GetItems

func (l *InstanceIAMMemberList) GetItems() []resource.Managed

GetItems of this InstanceIAMMemberList.

type InstanceIAMMemberObservation

type InstanceIAMMemberObservation struct {
	Condition *InstanceIAMMemberConditionObservation `json:"condition,omitempty" tf:"condition,omitempty"`

	Etag *string `json:"etag,omitempty" tf:"etag,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"`

	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*InstanceIAMMemberObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberObservation.

func (*InstanceIAMMemberObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceIAMMemberParameters

type InstanceIAMMemberParameters struct {

	// +kubebuilder:validation:Optional
	Condition *InstanceIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Instance
	// +kubebuilder:validation:Optional
	InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"`

	// Reference to a Instance in compute to populate instanceName.
	// +kubebuilder:validation:Optional
	InstanceNameRef *v1.Reference `json:"instanceNameRef,omitempty" tf:"-"`

	// Selector for a Instance in compute to populate instanceName.
	// +kubebuilder:validation:Optional
	InstanceNameSelector *v1.Selector `json:"instanceNameSelector,omitempty" tf:"-"`

	// +kubebuilder:validation:Optional
	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// +kubebuilder:validation:Optional
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// +kubebuilder:validation:Optional
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*InstanceIAMMemberParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberParameters.

func (*InstanceIAMMemberParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceIAMMemberSpec

type InstanceIAMMemberSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     InstanceIAMMemberParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider InstanceIAMMemberInitParameters `json:"initProvider,omitempty"`
}

InstanceIAMMemberSpec defines the desired state of InstanceIAMMember

func (*InstanceIAMMemberSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberSpec.

func (*InstanceIAMMemberSpec) DeepCopyInto

func (in *InstanceIAMMemberSpec) DeepCopyInto(out *InstanceIAMMemberSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceIAMMemberStatus

type InstanceIAMMemberStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        InstanceIAMMemberObservation `json:"atProvider,omitempty"`
}

InstanceIAMMemberStatus defines the observed state of InstanceIAMMember.

func (*InstanceIAMMemberStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberStatus.

func (*InstanceIAMMemberStatus) DeepCopyInto

func (in *InstanceIAMMemberStatus) DeepCopyInto(out *InstanceIAMMemberStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceInitParameters

type InstanceInitParameters struct {

	// Configure Nested Virtualisation and Simultaneous Hyper Threading  on this VM. Structure is documented below
	AdvancedMachineFeatures *AdvancedMachineFeaturesInitParameters `json:"advancedMachineFeatures,omitempty" tf:"advanced_machine_features,omitempty"`

	// If you try to update a property that requires stopping the instance without setting this field, the update will fail.
	AllowStoppingForUpdate *bool `json:"allowStoppingForUpdate,omitempty" tf:"allow_stopping_for_update,omitempty"`

	// Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
	AttachedDisk []AttachedDiskInitParameters `json:"attachedDisk,omitempty" tf:"attached_disk,omitempty"`

	// The boot disk for the instance.
	// Structure is documented below.
	BootDisk *BootDiskInitParameters `json:"bootDisk,omitempty" tf:"boot_disk,omitempty"`

	// Whether to allow sending and receiving of
	// packets with non-matching source or destination IPs.
	// This defaults to false.
	CanIPForward *bool `json:"canIpForward,omitempty" tf:"can_ip_forward,omitempty"`

	// Enable Confidential Mode on this VM. Structure is documented below
	ConfidentialInstanceConfig *ConfidentialInstanceConfigInitParameters `json:"confidentialInstanceConfig,omitempty" tf:"confidential_instance_config,omitempty"`

	// Enable deletion protection on this instance. Defaults to false.
	// Note: you must disable deletion protection before removing the resource (e.g.
	DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"`

	// A brief description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Desired status of the instance. Either
	// "RUNNING" or "TERMINATED".
	DesiredStatus *string `json:"desiredStatus,omitempty" tf:"desired_status,omitempty"`

	// Enable Virtual Displays on this instance.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	EnableDisplay *bool `json:"enableDisplay,omitempty" tf:"enable_display,omitempty"`

	// List of the type and count of accelerator cards attached to the instance. Structure documented below.
	// Note: GPU accelerators can only be used with on_host_maintenance option set to TERMINATE.
	// Note: This field uses attr-as-block mode to avoid
	// breaking users during the 0.12 upgrade. To explicitly send a list
	// of zero objects you must use the following syntax:
	// example=[]
	// For more details about this behavior, see this section.
	GuestAccelerator []GuestAcceleratorInitParameters `json:"guestAccelerator,omitempty" tf:"guest_accelerator,omitempty"`

	// A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
	// Valid format is a series of labels 1-63 characters long matching the regular expression [a-z]([-a-z0-9]*[a-z0-9]), concatenated with periods.
	// The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// A map of key/value label pairs to assign to the instance.
	// Note: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field 'effective_labels' for all of the labels present on the resource.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// The machine type to create.
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// Metadata key/value pairs to make available from
	// within the instance. Ssh keys attached in the Cloud Console will be removed.
	// Add them to your config in order to keep them attached to your instance. A
	// list of default metadata values (e.g. ssh-keys) can be found here
	// +mapType=granular
	Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"`

	// An alternative to using the
	// startup-script metadata key, except this one forces the instance to be recreated
	// (thus re-running the script) if it is changed. This replaces the startup-script
	// metadata key on the created instance and thus the two mechanisms are not
	// allowed to be used simultaneously.  Users are free to use either mechanism - the
	// only distinction is that this separate attribute will cause a recreate on
	// modification.  On import, metadata_startup_script will not be set - if you
	// choose to specify it you will see a diff immediately after import causing a
	// destroy/recreate operation.
	MetadataStartupScript *string `json:"metadataStartupScript,omitempty" tf:"metadata_startup_script,omitempty"`

	// Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
	// Intel Haswell or Intel Skylake. See the complete list here.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"`

	// Networks to attach to the instance. This can
	// be specified multiple times. Structure is documented below.
	NetworkInterface []NetworkInterfaceInitParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// os-features, and network_interface.0.nic-type must be GVNIC
	// in order for this setting to take effect.
	NetworkPerformanceConfig *NetworkPerformanceConfigInitParameters `json:"networkPerformanceConfig,omitempty" tf:"network_performance_config,omitempty"`

	// Additional instance parameters.
	// .
	Params *ParamsInitParameters `json:"params,omitempty" tf:"params,omitempty"`

	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Specifies the reservations that this instance can consume from.
	// Structure is documented below.
	ReservationAffinity *ReservationAffinityInitParameters `json:"reservationAffinity,omitempty" tf:"reservation_affinity,omitempty"`

	// - A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
	ResourcePolicies []*string `json:"resourcePolicies,omitempty" tf:"resource_policies,omitempty"`

	// The scheduling strategy to use. More details about
	// this configuration option are detailed below.
	Scheduling *SchedulingInitParameters `json:"scheduling,omitempty" tf:"scheduling,omitempty"`

	// Scratch disks to attach to the instance. This can be
	// specified multiple times for multiple scratch disks. Structure is documented below.
	ScratchDisk []ScratchDiskInitParameters `json:"scratchDisk,omitempty" tf:"scratch_disk,omitempty"`

	// Service account to attach to the instance.
	// Structure is documented below.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	ServiceAccount *ServiceAccountInitParameters `json:"serviceAccount,omitempty" tf:"service_account,omitempty"`

	// Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
	// Note: shielded_instance_config can only be used with boot images with shielded vm support. See the complete list here.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	ShieldedInstanceConfig *ShieldedInstanceConfigInitParameters `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"`

	// A list of network tags to attach to the instance.
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*InstanceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceInitParameters.

func (*InstanceInitParameters) DeepCopyInto

func (in *InstanceInitParameters) DeepCopyInto(out *InstanceInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceLifecyclePolicyInitParameters

type InstanceLifecyclePolicyInitParameters struct {

	// ), Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
	ForceUpdateOnRepair *string `json:"forceUpdateOnRepair,omitempty" tf:"force_update_on_repair,omitempty"`
}

func (*InstanceLifecyclePolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceLifecyclePolicyInitParameters.

func (*InstanceLifecyclePolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceLifecyclePolicyObservation

type InstanceLifecyclePolicyObservation struct {

	// ), Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
	ForceUpdateOnRepair *string `json:"forceUpdateOnRepair,omitempty" tf:"force_update_on_repair,omitempty"`
}

func (*InstanceLifecyclePolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceLifecyclePolicyObservation.

func (*InstanceLifecyclePolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceLifecyclePolicyParameters

type InstanceLifecyclePolicyParameters struct {

	// ), Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
	// +kubebuilder:validation:Optional
	ForceUpdateOnRepair *string `json:"forceUpdateOnRepair,omitempty" tf:"force_update_on_repair,omitempty"`
}

func (*InstanceLifecyclePolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceLifecyclePolicyParameters.

func (*InstanceLifecyclePolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceList

type InstanceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Instance `json:"items"`
}

InstanceList contains a list of Instances

func (*InstanceList) DeepCopy

func (in *InstanceList) DeepCopy() *InstanceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceList.

func (*InstanceList) DeepCopyInto

func (in *InstanceList) DeepCopyInto(out *InstanceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceList) DeepCopyObject

func (in *InstanceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*InstanceList) GetItems

func (l *InstanceList) GetItems() []resource.Managed

GetItems of this InstanceList.

type InstanceObservation

type InstanceObservation struct {

	// Configure Nested Virtualisation and Simultaneous Hyper Threading  on this VM. Structure is documented below
	AdvancedMachineFeatures *AdvancedMachineFeaturesObservation `json:"advancedMachineFeatures,omitempty" tf:"advanced_machine_features,omitempty"`

	// If you try to update a property that requires stopping the instance without setting this field, the update will fail.
	AllowStoppingForUpdate *bool `json:"allowStoppingForUpdate,omitempty" tf:"allow_stopping_for_update,omitempty"`

	// Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
	AttachedDisk []AttachedDiskObservation `json:"attachedDisk,omitempty" tf:"attached_disk,omitempty"`

	// The boot disk for the instance.
	// Structure is documented below.
	BootDisk *BootDiskObservation `json:"bootDisk,omitempty" tf:"boot_disk,omitempty"`

	// The CPU platform used by this instance.
	CPUPlatform *string `json:"cpuPlatform,omitempty" tf:"cpu_platform,omitempty"`

	// Whether to allow sending and receiving of
	// packets with non-matching source or destination IPs.
	// This defaults to false.
	CanIPForward *bool `json:"canIpForward,omitempty" tf:"can_ip_forward,omitempty"`

	// Enable Confidential Mode on this VM. Structure is documented below
	ConfidentialInstanceConfig *ConfidentialInstanceConfigObservation `json:"confidentialInstanceConfig,omitempty" tf:"confidential_instance_config,omitempty"`

	// The current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.`,
	CurrentStatus *string `json:"currentStatus,omitempty" tf:"current_status,omitempty"`

	// Enable deletion protection on this instance. Defaults to false.
	// Note: you must disable deletion protection before removing the resource (e.g.
	DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"`

	// A brief description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Desired status of the instance. Either
	// "RUNNING" or "TERMINATED".
	DesiredStatus *string `json:"desiredStatus,omitempty" tf:"desired_status,omitempty"`

	// +mapType=granular
	EffectiveLabels map[string]*string `json:"effectiveLabels,omitempty" tf:"effective_labels,omitempty"`

	// Enable Virtual Displays on this instance.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	EnableDisplay *bool `json:"enableDisplay,omitempty" tf:"enable_display,omitempty"`

	// List of the type and count of accelerator cards attached to the instance. Structure documented below.
	// Note: GPU accelerators can only be used with on_host_maintenance option set to TERMINATE.
	// Note: This field uses attr-as-block mode to avoid
	// breaking users during the 0.12 upgrade. To explicitly send a list
	// of zero objects you must use the following syntax:
	// example=[]
	// For more details about this behavior, see this section.
	GuestAccelerator []GuestAcceleratorObservation `json:"guestAccelerator,omitempty" tf:"guest_accelerator,omitempty"`

	// A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
	// Valid format is a series of labels 1-63 characters long matching the regular expression [a-z]([-a-z0-9]*[a-z0-9]), concatenated with periods.
	// The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// an identifier for the resource with format projects/{{project}}/zones/{{zone}}/instances/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The server-assigned unique identifier of this instance.
	InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"`

	// The unique fingerprint of the labels.
	LabelFingerprint *string `json:"labelFingerprint,omitempty" tf:"label_fingerprint,omitempty"`

	// A map of key/value label pairs to assign to the instance.
	// Note: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field 'effective_labels' for all of the labels present on the resource.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// The machine type to create.
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// Metadata key/value pairs to make available from
	// within the instance. Ssh keys attached in the Cloud Console will be removed.
	// Add them to your config in order to keep them attached to your instance. A
	// list of default metadata values (e.g. ssh-keys) can be found here
	// +mapType=granular
	Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"`

	// The unique fingerprint of the metadata.
	MetadataFingerprint *string `json:"metadataFingerprint,omitempty" tf:"metadata_fingerprint,omitempty"`

	// An alternative to using the
	// startup-script metadata key, except this one forces the instance to be recreated
	// (thus re-running the script) if it is changed. This replaces the startup-script
	// metadata key on the created instance and thus the two mechanisms are not
	// allowed to be used simultaneously.  Users are free to use either mechanism - the
	// only distinction is that this separate attribute will cause a recreate on
	// modification.  On import, metadata_startup_script will not be set - if you
	// choose to specify it you will see a diff immediately after import causing a
	// destroy/recreate operation.
	MetadataStartupScript *string `json:"metadataStartupScript,omitempty" tf:"metadata_startup_script,omitempty"`

	// Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
	// Intel Haswell or Intel Skylake. See the complete list here.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"`

	// Networks to attach to the instance. This can
	// be specified multiple times. Structure is documented below.
	NetworkInterface []NetworkInterfaceObservation `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// os-features, and network_interface.0.nic-type must be GVNIC
	// in order for this setting to take effect.
	NetworkPerformanceConfig *NetworkPerformanceConfigObservation `json:"networkPerformanceConfig,omitempty" tf:"network_performance_config,omitempty"`

	// Additional instance parameters.
	// .
	Params *ParamsObservation `json:"params,omitempty" tf:"params,omitempty"`

	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Specifies the reservations that this instance can consume from.
	// Structure is documented below.
	ReservationAffinity *ReservationAffinityObservation `json:"reservationAffinity,omitempty" tf:"reservation_affinity,omitempty"`

	// - A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
	ResourcePolicies []*string `json:"resourcePolicies,omitempty" tf:"resource_policies,omitempty"`

	// The scheduling strategy to use. More details about
	// this configuration option are detailed below.
	Scheduling *SchedulingObservation `json:"scheduling,omitempty" tf:"scheduling,omitempty"`

	// Scratch disks to attach to the instance. This can be
	// specified multiple times for multiple scratch disks. Structure is documented below.
	ScratchDisk []ScratchDiskObservation `json:"scratchDisk,omitempty" tf:"scratch_disk,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// Service account to attach to the instance.
	// Structure is documented below.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	ServiceAccount *ServiceAccountObservation `json:"serviceAccount,omitempty" tf:"service_account,omitempty"`

	// Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
	// Note: shielded_instance_config can only be used with boot images with shielded vm support. See the complete list here.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	ShieldedInstanceConfig *ShieldedInstanceConfigObservation `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"`

	// A list of network tags to attach to the instance.
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The unique fingerprint of the tags.
	TagsFingerprint *string `json:"tagsFingerprint,omitempty" tf:"tags_fingerprint,omitempty"`

	// The combination of labels configured directly on the resource and default labels configured on the provider.
	// +mapType=granular
	TerraformLabels map[string]*string `json:"terraformLabels,omitempty" tf:"terraform_labels,omitempty"`

	// The zone that the machine should be created in. If it is not provided, the provider zone is used.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*InstanceObservation) DeepCopy

func (in *InstanceObservation) DeepCopy() *InstanceObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceObservation.

func (*InstanceObservation) DeepCopyInto

func (in *InstanceObservation) DeepCopyInto(out *InstanceObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceParameters

type InstanceParameters struct {

	// Configure Nested Virtualisation and Simultaneous Hyper Threading  on this VM. Structure is documented below
	// +kubebuilder:validation:Optional
	AdvancedMachineFeatures *AdvancedMachineFeaturesParameters `json:"advancedMachineFeatures,omitempty" tf:"advanced_machine_features,omitempty"`

	// If you try to update a property that requires stopping the instance without setting this field, the update will fail.
	// +kubebuilder:validation:Optional
	AllowStoppingForUpdate *bool `json:"allowStoppingForUpdate,omitempty" tf:"allow_stopping_for_update,omitempty"`

	// Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
	// +kubebuilder:validation:Optional
	AttachedDisk []AttachedDiskParameters `json:"attachedDisk,omitempty" tf:"attached_disk,omitempty"`

	// The boot disk for the instance.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	BootDisk *BootDiskParameters `json:"bootDisk,omitempty" tf:"boot_disk,omitempty"`

	// Whether to allow sending and receiving of
	// packets with non-matching source or destination IPs.
	// This defaults to false.
	// +kubebuilder:validation:Optional
	CanIPForward *bool `json:"canIpForward,omitempty" tf:"can_ip_forward,omitempty"`

	// Enable Confidential Mode on this VM. Structure is documented below
	// +kubebuilder:validation:Optional
	ConfidentialInstanceConfig *ConfidentialInstanceConfigParameters `json:"confidentialInstanceConfig,omitempty" tf:"confidential_instance_config,omitempty"`

	// Enable deletion protection on this instance. Defaults to false.
	// Note: you must disable deletion protection before removing the resource (e.g.
	// +kubebuilder:validation:Optional
	DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"`

	// A brief description of this resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Desired status of the instance. Either
	// "RUNNING" or "TERMINATED".
	// +kubebuilder:validation:Optional
	DesiredStatus *string `json:"desiredStatus,omitempty" tf:"desired_status,omitempty"`

	// Enable Virtual Displays on this instance.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	// +kubebuilder:validation:Optional
	EnableDisplay *bool `json:"enableDisplay,omitempty" tf:"enable_display,omitempty"`

	// List of the type and count of accelerator cards attached to the instance. Structure documented below.
	// Note: GPU accelerators can only be used with on_host_maintenance option set to TERMINATE.
	// Note: This field uses attr-as-block mode to avoid
	// breaking users during the 0.12 upgrade. To explicitly send a list
	// of zero objects you must use the following syntax:
	// example=[]
	// For more details about this behavior, see this section.
	// +kubebuilder:validation:Optional
	GuestAccelerator []GuestAcceleratorParameters `json:"guestAccelerator,omitempty" tf:"guest_accelerator,omitempty"`

	// A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
	// Valid format is a series of labels 1-63 characters long matching the regular expression [a-z]([-a-z0-9]*[a-z0-9]), concatenated with periods.
	// The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// A map of key/value label pairs to assign to the instance.
	// Note: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field 'effective_labels' for all of the labels present on the resource.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// The machine type to create.
	// +kubebuilder:validation:Optional
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// Metadata key/value pairs to make available from
	// within the instance. Ssh keys attached in the Cloud Console will be removed.
	// Add them to your config in order to keep them attached to your instance. A
	// list of default metadata values (e.g. ssh-keys) can be found here
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"`

	// An alternative to using the
	// startup-script metadata key, except this one forces the instance to be recreated
	// (thus re-running the script) if it is changed. This replaces the startup-script
	// metadata key on the created instance and thus the two mechanisms are not
	// allowed to be used simultaneously.  Users are free to use either mechanism - the
	// only distinction is that this separate attribute will cause a recreate on
	// modification.  On import, metadata_startup_script will not be set - if you
	// choose to specify it you will see a diff immediately after import causing a
	// destroy/recreate operation.
	// +kubebuilder:validation:Optional
	MetadataStartupScript *string `json:"metadataStartupScript,omitempty" tf:"metadata_startup_script,omitempty"`

	// Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
	// Intel Haswell or Intel Skylake. See the complete list here.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	// +kubebuilder:validation:Optional
	MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"`

	// Networks to attach to the instance. This can
	// be specified multiple times. Structure is documented below.
	// +kubebuilder:validation:Optional
	NetworkInterface []NetworkInterfaceParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// os-features, and network_interface.0.nic-type must be GVNIC
	// in order for this setting to take effect.
	// +kubebuilder:validation:Optional
	NetworkPerformanceConfig *NetworkPerformanceConfigParameters `json:"networkPerformanceConfig,omitempty" tf:"network_performance_config,omitempty"`

	// Additional instance parameters.
	// .
	// +kubebuilder:validation:Optional
	Params *ParamsParameters `json:"params,omitempty" tf:"params,omitempty"`

	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Specifies the reservations that this instance can consume from.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ReservationAffinity *ReservationAffinityParameters `json:"reservationAffinity,omitempty" tf:"reservation_affinity,omitempty"`

	// - A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
	// +kubebuilder:validation:Optional
	ResourcePolicies []*string `json:"resourcePolicies,omitempty" tf:"resource_policies,omitempty"`

	// The scheduling strategy to use. More details about
	// this configuration option are detailed below.
	// +kubebuilder:validation:Optional
	Scheduling *SchedulingParameters `json:"scheduling,omitempty" tf:"scheduling,omitempty"`

	// Scratch disks to attach to the instance. This can be
	// specified multiple times for multiple scratch disks. Structure is documented below.
	// +kubebuilder:validation:Optional
	ScratchDisk []ScratchDiskParameters `json:"scratchDisk,omitempty" tf:"scratch_disk,omitempty"`

	// Service account to attach to the instance.
	// Structure is documented below.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	// +kubebuilder:validation:Optional
	ServiceAccount *ServiceAccountParameters `json:"serviceAccount,omitempty" tf:"service_account,omitempty"`

	// Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
	// Note: shielded_instance_config can only be used with boot images with shielded vm support. See the complete list here.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	// +kubebuilder:validation:Optional
	ShieldedInstanceConfig *ShieldedInstanceConfigParameters `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"`

	// A list of network tags to attach to the instance.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The zone that the machine should be created in. If it is not provided, the provider zone is used.
	// +kubebuilder:validation:Required
	Zone *string `json:"zone" tf:"zone,omitempty"`
}

func (*InstanceParameters) DeepCopy

func (in *InstanceParameters) DeepCopy() *InstanceParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceParameters.

func (*InstanceParameters) DeepCopyInto

func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstancePropertiesInitParameters

type InstancePropertiesInitParameters struct {

	// Guest accelerator type and count.
	// Structure is documented below.
	GuestAccelerators []GuestAcceleratorsInitParameters `json:"guestAccelerators,omitempty" tf:"guest_accelerators,omitempty"`

	// The amount of local ssd to reserve with each instance. This
	// reserves disks of type local-ssd.
	// Structure is documented below.
	LocalSsds []LocalSsdsInitParameters `json:"localSsds,omitempty" tf:"local_ssds,omitempty"`

	// The name of the machine type to reserve.
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// The minimum CPU platform for the reservation. For example,
	// "Intel Skylake". See
	// the CPU platform availability reference](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones)
	// for information on available CPU platforms.
	MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"`
}

func (*InstancePropertiesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancePropertiesInitParameters.

func (*InstancePropertiesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstancePropertiesObservation

type InstancePropertiesObservation struct {

	// Guest accelerator type and count.
	// Structure is documented below.
	GuestAccelerators []GuestAcceleratorsObservation `json:"guestAccelerators,omitempty" tf:"guest_accelerators,omitempty"`

	// The amount of local ssd to reserve with each instance. This
	// reserves disks of type local-ssd.
	// Structure is documented below.
	LocalSsds []LocalSsdsObservation `json:"localSsds,omitempty" tf:"local_ssds,omitempty"`

	// The name of the machine type to reserve.
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// The minimum CPU platform for the reservation. For example,
	// "Intel Skylake". See
	// the CPU platform availability reference](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones)
	// for information on available CPU platforms.
	MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"`
}

func (*InstancePropertiesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancePropertiesObservation.

func (*InstancePropertiesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstancePropertiesParameters

type InstancePropertiesParameters struct {

	// Guest accelerator type and count.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	GuestAccelerators []GuestAcceleratorsParameters `json:"guestAccelerators,omitempty" tf:"guest_accelerators,omitempty"`

	// The amount of local ssd to reserve with each instance. This
	// reserves disks of type local-ssd.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	LocalSsds []LocalSsdsParameters `json:"localSsds,omitempty" tf:"local_ssds,omitempty"`

	// The name of the machine type to reserve.
	// +kubebuilder:validation:Optional
	MachineType *string `json:"machineType" tf:"machine_type,omitempty"`

	// The minimum CPU platform for the reservation. For example,
	// "Intel Skylake". See
	// the CPU platform availability reference](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones)
	// for information on available CPU platforms.
	// +kubebuilder:validation:Optional
	MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"`
}

func (*InstancePropertiesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancePropertiesParameters.

func (*InstancePropertiesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceSchedulePolicyInitParameters

type InstanceSchedulePolicyInitParameters struct {

	// The expiration time of the schedule. The timestamp is an RFC3339 string.
	ExpirationTime *string `json:"expirationTime,omitempty" tf:"expiration_time,omitempty"`

	// The start time of the schedule. The timestamp is an RFC3339 string.
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`

	// Specifies the time zone to be used in interpreting the schedule. The value of this field must be a time zone name
	// from the tz database: http://en.wikipedia.org/wiki/Tz_database.
	TimeZone *string `json:"timeZone,omitempty" tf:"time_zone,omitempty"`

	// Specifies the schedule for starting instances.
	// Structure is documented below.
	VMStartSchedule *VMStartScheduleInitParameters `json:"vmStartSchedule,omitempty" tf:"vm_start_schedule,omitempty"`

	// Specifies the schedule for stopping instances.
	// Structure is documented below.
	VMStopSchedule *VMStopScheduleInitParameters `json:"vmStopSchedule,omitempty" tf:"vm_stop_schedule,omitempty"`
}

func (*InstanceSchedulePolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSchedulePolicyInitParameters.

func (*InstanceSchedulePolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceSchedulePolicyObservation

type InstanceSchedulePolicyObservation struct {

	// The expiration time of the schedule. The timestamp is an RFC3339 string.
	ExpirationTime *string `json:"expirationTime,omitempty" tf:"expiration_time,omitempty"`

	// The start time of the schedule. The timestamp is an RFC3339 string.
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`

	// Specifies the time zone to be used in interpreting the schedule. The value of this field must be a time zone name
	// from the tz database: http://en.wikipedia.org/wiki/Tz_database.
	TimeZone *string `json:"timeZone,omitempty" tf:"time_zone,omitempty"`

	// Specifies the schedule for starting instances.
	// Structure is documented below.
	VMStartSchedule *VMStartScheduleObservation `json:"vmStartSchedule,omitempty" tf:"vm_start_schedule,omitempty"`

	// Specifies the schedule for stopping instances.
	// Structure is documented below.
	VMStopSchedule *VMStopScheduleObservation `json:"vmStopSchedule,omitempty" tf:"vm_stop_schedule,omitempty"`
}

func (*InstanceSchedulePolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSchedulePolicyObservation.

func (*InstanceSchedulePolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceSchedulePolicyParameters

type InstanceSchedulePolicyParameters struct {

	// The expiration time of the schedule. The timestamp is an RFC3339 string.
	// +kubebuilder:validation:Optional
	ExpirationTime *string `json:"expirationTime,omitempty" tf:"expiration_time,omitempty"`

	// The start time of the schedule. The timestamp is an RFC3339 string.
	// +kubebuilder:validation:Optional
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`

	// Specifies the time zone to be used in interpreting the schedule. The value of this field must be a time zone name
	// from the tz database: http://en.wikipedia.org/wiki/Tz_database.
	// +kubebuilder:validation:Optional
	TimeZone *string `json:"timeZone" tf:"time_zone,omitempty"`

	// Specifies the schedule for starting instances.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	VMStartSchedule *VMStartScheduleParameters `json:"vmStartSchedule,omitempty" tf:"vm_start_schedule,omitempty"`

	// Specifies the schedule for stopping instances.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	VMStopSchedule *VMStopScheduleParameters `json:"vmStopSchedule,omitempty" tf:"vm_stop_schedule,omitempty"`
}

func (*InstanceSchedulePolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSchedulePolicyParameters.

func (*InstanceSchedulePolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceSpec

type InstanceSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     InstanceParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider InstanceInitParameters `json:"initProvider,omitempty"`
}

InstanceSpec defines the desired state of Instance

func (*InstanceSpec) DeepCopy

func (in *InstanceSpec) DeepCopy() *InstanceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec.

func (*InstanceSpec) DeepCopyInto

func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceStatus

type InstanceStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        InstanceObservation `json:"atProvider,omitempty"`
}

InstanceStatus defines the observed state of Instance.

func (*InstanceStatus) DeepCopy

func (in *InstanceStatus) DeepCopy() *InstanceStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus.

func (*InstanceStatus) DeepCopyInto

func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplate

type InstanceTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.disk) || (has(self.initProvider) && has(self.initProvider.disk))",message="spec.forProvider.disk is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.machineType) || (has(self.initProvider) && has(self.initProvider.machineType))",message="spec.forProvider.machineType is a required parameter"
	Spec   InstanceTemplateSpec   `json:"spec"`
	Status InstanceTemplateStatus `json:"status,omitempty"`
}

InstanceTemplate is the Schema for the InstanceTemplates API. Manages a VM instance template resource within GCE. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*InstanceTemplate) DeepCopy

func (in *InstanceTemplate) DeepCopy() *InstanceTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplate.

func (*InstanceTemplate) DeepCopyInto

func (in *InstanceTemplate) DeepCopyInto(out *InstanceTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceTemplate) DeepCopyObject

func (in *InstanceTemplate) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*InstanceTemplate) GetCondition

func (mg *InstanceTemplate) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this InstanceTemplate.

func (*InstanceTemplate) GetConnectionDetailsMapping

func (tr *InstanceTemplate) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this InstanceTemplate

func (*InstanceTemplate) GetDeletionPolicy

func (mg *InstanceTemplate) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this InstanceTemplate.

func (*InstanceTemplate) GetID

func (tr *InstanceTemplate) GetID() string

GetID returns ID of underlying Terraform resource of this InstanceTemplate

func (*InstanceTemplate) GetInitParameters

func (tr *InstanceTemplate) GetInitParameters() (map[string]any, error)

GetInitParameters of this InstanceTemplate

func (*InstanceTemplate) GetManagementPolicies

func (mg *InstanceTemplate) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this InstanceTemplate.

func (*InstanceTemplate) GetMergedParameters

func (tr *InstanceTemplate) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this InstanceTemplate

func (*InstanceTemplate) GetObservation

func (tr *InstanceTemplate) GetObservation() (map[string]any, error)

GetObservation of this InstanceTemplate

func (*InstanceTemplate) GetParameters

func (tr *InstanceTemplate) GetParameters() (map[string]any, error)

GetParameters of this InstanceTemplate

func (*InstanceTemplate) GetProviderConfigReference

func (mg *InstanceTemplate) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this InstanceTemplate.

func (*InstanceTemplate) GetPublishConnectionDetailsTo

func (mg *InstanceTemplate) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this InstanceTemplate.

func (*InstanceTemplate) GetTerraformResourceType

func (mg *InstanceTemplate) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this InstanceTemplate

func (*InstanceTemplate) GetTerraformSchemaVersion

func (tr *InstanceTemplate) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*InstanceTemplate) GetWriteConnectionSecretToReference

func (mg *InstanceTemplate) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this InstanceTemplate.

func (*InstanceTemplate) Hub

func (tr *InstanceTemplate) Hub()

Hub marks this type as a conversion hub.

func (*InstanceTemplate) LateInitialize

func (tr *InstanceTemplate) LateInitialize(attrs []byte) (bool, error)

LateInitialize this InstanceTemplate using its observed tfState. returns True if there are any spec changes for the resource.

func (*InstanceTemplate) ResolveReferences

func (mg *InstanceTemplate) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this InstanceTemplate.

func (*InstanceTemplate) SetConditions

func (mg *InstanceTemplate) SetConditions(c ...xpv1.Condition)

SetConditions of this InstanceTemplate.

func (*InstanceTemplate) SetDeletionPolicy

func (mg *InstanceTemplate) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this InstanceTemplate.

func (*InstanceTemplate) SetManagementPolicies

func (mg *InstanceTemplate) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this InstanceTemplate.

func (*InstanceTemplate) SetObservation

func (tr *InstanceTemplate) SetObservation(obs map[string]any) error

SetObservation for this InstanceTemplate

func (*InstanceTemplate) SetParameters

func (tr *InstanceTemplate) SetParameters(params map[string]any) error

SetParameters for this InstanceTemplate

func (*InstanceTemplate) SetProviderConfigReference

func (mg *InstanceTemplate) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this InstanceTemplate.

func (*InstanceTemplate) SetPublishConnectionDetailsTo

func (mg *InstanceTemplate) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this InstanceTemplate.

func (*InstanceTemplate) SetWriteConnectionSecretToReference

func (mg *InstanceTemplate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this InstanceTemplate.

type InstanceTemplateAdvancedMachineFeaturesInitParameters

type InstanceTemplateAdvancedMachineFeaturesInitParameters struct {

	// Defines whether the instance should have nested virtualization enabled. Defaults to false.
	EnableNestedVirtualization *bool `json:"enableNestedVirtualization,omitempty" tf:"enable_nested_virtualization,omitempty"`

	// The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`

	// The number of physical cores to expose to an instance. visible cores info (VC).
	VisibleCoreCount *float64 `json:"visibleCoreCount,omitempty" tf:"visible_core_count,omitempty"`
}

func (*InstanceTemplateAdvancedMachineFeaturesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateAdvancedMachineFeaturesInitParameters.

func (*InstanceTemplateAdvancedMachineFeaturesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateAdvancedMachineFeaturesObservation

type InstanceTemplateAdvancedMachineFeaturesObservation struct {

	// Defines whether the instance should have nested virtualization enabled. Defaults to false.
	EnableNestedVirtualization *bool `json:"enableNestedVirtualization,omitempty" tf:"enable_nested_virtualization,omitempty"`

	// The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`

	// The number of physical cores to expose to an instance. visible cores info (VC).
	VisibleCoreCount *float64 `json:"visibleCoreCount,omitempty" tf:"visible_core_count,omitempty"`
}

func (*InstanceTemplateAdvancedMachineFeaturesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateAdvancedMachineFeaturesObservation.

func (*InstanceTemplateAdvancedMachineFeaturesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateAdvancedMachineFeaturesParameters

type InstanceTemplateAdvancedMachineFeaturesParameters struct {

	// Defines whether the instance should have nested virtualization enabled. Defaults to false.
	// +kubebuilder:validation:Optional
	EnableNestedVirtualization *bool `json:"enableNestedVirtualization,omitempty" tf:"enable_nested_virtualization,omitempty"`

	// The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
	// +kubebuilder:validation:Optional
	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`

	// The number of physical cores to expose to an instance. visible cores info (VC).
	// +kubebuilder:validation:Optional
	VisibleCoreCount *float64 `json:"visibleCoreCount,omitempty" tf:"visible_core_count,omitempty"`
}

func (*InstanceTemplateAdvancedMachineFeaturesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateAdvancedMachineFeaturesParameters.

func (*InstanceTemplateAdvancedMachineFeaturesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateConfidentialInstanceConfigInitParameters

type InstanceTemplateConfidentialInstanceConfigInitParameters struct {

	// Defines whether the instance should have confidential compute enabled with AMD SEV. on_host_maintenance has to be set to TERMINATE or this will fail to create the VM.
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute,omitempty" tf:"enable_confidential_compute,omitempty"`
}

func (*InstanceTemplateConfidentialInstanceConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateConfidentialInstanceConfigInitParameters.

func (*InstanceTemplateConfidentialInstanceConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateConfidentialInstanceConfigObservation

type InstanceTemplateConfidentialInstanceConfigObservation struct {

	// Defines whether the instance should have confidential compute enabled with AMD SEV. on_host_maintenance has to be set to TERMINATE or this will fail to create the VM.
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute,omitempty" tf:"enable_confidential_compute,omitempty"`
}

func (*InstanceTemplateConfidentialInstanceConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateConfidentialInstanceConfigObservation.

func (*InstanceTemplateConfidentialInstanceConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateConfidentialInstanceConfigParameters

type InstanceTemplateConfidentialInstanceConfigParameters struct {

	// Defines whether the instance should have confidential compute enabled with AMD SEV. on_host_maintenance has to be set to TERMINATE or this will fail to create the VM.
	// +kubebuilder:validation:Optional
	EnableConfidentialCompute *bool `json:"enableConfidentialCompute" tf:"enable_confidential_compute,omitempty"`
}

func (*InstanceTemplateConfidentialInstanceConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateConfidentialInstanceConfigParameters.

func (*InstanceTemplateConfidentialInstanceConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateDiskInitParameters

type InstanceTemplateDiskInitParameters struct {

	// Whether or not the disk should be auto-deleted.
	// This defaults to true.
	AutoDelete *bool `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Indicates that this is a boot disk.
	Boot *bool `json:"boot,omitempty" tf:"boot,omitempty"`

	// A unique device name that is reflected into the
	// /dev/  tree of a Linux operating system running within the instance. If not
	// specified, the server chooses a default device name to apply to this disk.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// Encrypts or decrypts a disk using a customer-supplied encryption key.
	DiskEncryptionKey *DiskDiskEncryptionKeyInitParameters `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"`

	// Name of the disk. When not provided, this defaults
	// to the name of the instance.
	DiskName *string `json:"diskName,omitempty" tf:"disk_name,omitempty"`

	// The size of the image in gigabytes. If not
	// specified, it will inherit the size of its base image. For SCRATCH disks,
	// the size must be exactly 375GB.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The GCE disk type. Such as "pd-ssd", "local-ssd",
	// "pd-balanced" or "pd-standard".
	DiskType *string `json:"diskType,omitempty" tf:"disk_type,omitempty"`

	// Specifies the disk interface to use for attaching this disk,
	// which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI
	// and the request will fail if you attempt to attach a persistent disk in any other format
	// than SCSI. Local SSDs can use either NVME or SCSI.
	Interface *string `json:"interface,omitempty" tf:"interface,omitempty"`

	// A set of ket/value label pairs to assign to disk created from
	// this template
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// The mode in which to attach this disk, either READ_WRITE
	// or READ_ONLY. If you are attaching or creating a boot disk, this must
	// read-write mode.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// Indicates how many IOPS to provision for the disk. This
	// sets the number of I/O operations per second that the disk can handle.
	// Values must be between 10,000 and 120,000. For more details, see the
	// Extreme persistent disk documentation.
	ProvisionedIops *float64 `json:"provisionedIops,omitempty" tf:"provisioned_iops,omitempty"`

	// A set of key/value resource manager tag pairs to bind to this disk. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`

	// - A list (short name or id) of resource policies to attach to this disk for automatic snapshot creations. Currently a max of 1 resource policy is supported.
	ResourcePolicies []*string `json:"resourcePolicies,omitempty" tf:"resource_policies,omitempty"`

	// The name (not self_link)
	// of the disk (such as those managed by google_compute_disk) to attach.
	// ~> Note: Either source, source_image, or source_snapshot is required in a disk block unless the disk type is local-ssd. Check the API docs for details.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Disk
	Source *string `json:"source,omitempty" tf:"source,omitempty"`

	// The image from which to
	// initialize this disk. This can be one of: the image's self_link,
	// projects/{project}/global/images/{image},
	// projects/{project}/global/images/family/{family}, global/images/{image},
	// global/images/family/{family}, family/{family}, {project}/{family},
	// {project}/{image}, {family}, or {image}.
	// ~> Note: Either source, source_image, or source_snapshot is required in a disk block unless the disk type is local-ssd. Check the API docs for details.
	SourceImage *string `json:"sourceImage,omitempty" tf:"source_image,omitempty"`

	// The customer-supplied encryption
	// key of the source image. Required if the source image is protected by a
	// customer-supplied encryption key.
	SourceImageEncryptionKey *DiskSourceImageEncryptionKeyInitParameters `json:"sourceImageEncryptionKey,omitempty" tf:"source_image_encryption_key,omitempty"`

	// Reference to a Disk in compute to populate source.
	// +kubebuilder:validation:Optional
	SourceRef *v1.Reference `json:"sourceRef,omitempty" tf:"-"`

	// Selector for a Disk in compute to populate source.
	// +kubebuilder:validation:Optional
	SourceSelector *v1.Selector `json:"sourceSelector,omitempty" tf:"-"`

	// The source snapshot to create this disk.
	// ~> Note: Either source, source_image, or source_snapshot is required in a disk block unless the disk type is local-ssd. Check the API docs for details.
	SourceSnapshot *string `json:"sourceSnapshot,omitempty" tf:"source_snapshot,omitempty"`

	// The customer-supplied encryption
	// key of the source snapshot. Structure
	// documented below.
	SourceSnapshotEncryptionKey *DiskSourceSnapshotEncryptionKeyInitParameters `json:"sourceSnapshotEncryptionKey,omitempty" tf:"source_snapshot_encryption_key,omitempty"`

	// The type of GCE disk, can be either "SCRATCH" or
	// "PERSISTENT".
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*InstanceTemplateDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateDiskInitParameters.

func (*InstanceTemplateDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateDiskObservation

type InstanceTemplateDiskObservation struct {

	// Whether or not the disk should be auto-deleted.
	// This defaults to true.
	AutoDelete *bool `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Indicates that this is a boot disk.
	Boot *bool `json:"boot,omitempty" tf:"boot,omitempty"`

	// A unique device name that is reflected into the
	// /dev/  tree of a Linux operating system running within the instance. If not
	// specified, the server chooses a default device name to apply to this disk.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// Encrypts or decrypts a disk using a customer-supplied encryption key.
	DiskEncryptionKey *DiskDiskEncryptionKeyObservation `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"`

	// Name of the disk. When not provided, this defaults
	// to the name of the instance.
	DiskName *string `json:"diskName,omitempty" tf:"disk_name,omitempty"`

	// The size of the image in gigabytes. If not
	// specified, it will inherit the size of its base image. For SCRATCH disks,
	// the size must be exactly 375GB.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The GCE disk type. Such as "pd-ssd", "local-ssd",
	// "pd-balanced" or "pd-standard".
	DiskType *string `json:"diskType,omitempty" tf:"disk_type,omitempty"`

	// Specifies the disk interface to use for attaching this disk,
	// which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI
	// and the request will fail if you attempt to attach a persistent disk in any other format
	// than SCSI. Local SSDs can use either NVME or SCSI.
	Interface *string `json:"interface,omitempty" tf:"interface,omitempty"`

	// A set of ket/value label pairs to assign to disk created from
	// this template
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// The mode in which to attach this disk, either READ_WRITE
	// or READ_ONLY. If you are attaching or creating a boot disk, this must
	// read-write mode.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// Indicates how many IOPS to provision for the disk. This
	// sets the number of I/O operations per second that the disk can handle.
	// Values must be between 10,000 and 120,000. For more details, see the
	// Extreme persistent disk documentation.
	ProvisionedIops *float64 `json:"provisionedIops,omitempty" tf:"provisioned_iops,omitempty"`

	// A set of key/value resource manager tag pairs to bind to this disk. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`

	// - A list (short name or id) of resource policies to attach to this disk for automatic snapshot creations. Currently a max of 1 resource policy is supported.
	ResourcePolicies []*string `json:"resourcePolicies,omitempty" tf:"resource_policies,omitempty"`

	// The name (not self_link)
	// of the disk (such as those managed by google_compute_disk) to attach.
	// ~> Note: Either source, source_image, or source_snapshot is required in a disk block unless the disk type is local-ssd. Check the API docs for details.
	Source *string `json:"source,omitempty" tf:"source,omitempty"`

	// The image from which to
	// initialize this disk. This can be one of: the image's self_link,
	// projects/{project}/global/images/{image},
	// projects/{project}/global/images/family/{family}, global/images/{image},
	// global/images/family/{family}, family/{family}, {project}/{family},
	// {project}/{image}, {family}, or {image}.
	// ~> Note: Either source, source_image, or source_snapshot is required in a disk block unless the disk type is local-ssd. Check the API docs for details.
	SourceImage *string `json:"sourceImage,omitempty" tf:"source_image,omitempty"`

	// The customer-supplied encryption
	// key of the source image. Required if the source image is protected by a
	// customer-supplied encryption key.
	SourceImageEncryptionKey *DiskSourceImageEncryptionKeyObservation `json:"sourceImageEncryptionKey,omitempty" tf:"source_image_encryption_key,omitempty"`

	// The source snapshot to create this disk.
	// ~> Note: Either source, source_image, or source_snapshot is required in a disk block unless the disk type is local-ssd. Check the API docs for details.
	SourceSnapshot *string `json:"sourceSnapshot,omitempty" tf:"source_snapshot,omitempty"`

	// The customer-supplied encryption
	// key of the source snapshot. Structure
	// documented below.
	SourceSnapshotEncryptionKey *DiskSourceSnapshotEncryptionKeyObservation `json:"sourceSnapshotEncryptionKey,omitempty" tf:"source_snapshot_encryption_key,omitempty"`

	// The type of GCE disk, can be either "SCRATCH" or
	// "PERSISTENT".
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*InstanceTemplateDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateDiskObservation.

func (*InstanceTemplateDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateDiskParameters

type InstanceTemplateDiskParameters struct {

	// Whether or not the disk should be auto-deleted.
	// This defaults to true.
	// +kubebuilder:validation:Optional
	AutoDelete *bool `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Indicates that this is a boot disk.
	// +kubebuilder:validation:Optional
	Boot *bool `json:"boot,omitempty" tf:"boot,omitempty"`

	// A unique device name that is reflected into the
	// /dev/  tree of a Linux operating system running within the instance. If not
	// specified, the server chooses a default device name to apply to this disk.
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// Encrypts or decrypts a disk using a customer-supplied encryption key.
	// +kubebuilder:validation:Optional
	DiskEncryptionKey *DiskDiskEncryptionKeyParameters `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"`

	// Name of the disk. When not provided, this defaults
	// to the name of the instance.
	// +kubebuilder:validation:Optional
	DiskName *string `json:"diskName,omitempty" tf:"disk_name,omitempty"`

	// The size of the image in gigabytes. If not
	// specified, it will inherit the size of its base image. For SCRATCH disks,
	// the size must be exactly 375GB.
	// +kubebuilder:validation:Optional
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The GCE disk type. Such as "pd-ssd", "local-ssd",
	// "pd-balanced" or "pd-standard".
	// +kubebuilder:validation:Optional
	DiskType *string `json:"diskType,omitempty" tf:"disk_type,omitempty"`

	// Specifies the disk interface to use for attaching this disk,
	// which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI
	// and the request will fail if you attempt to attach a persistent disk in any other format
	// than SCSI. Local SSDs can use either NVME or SCSI.
	// +kubebuilder:validation:Optional
	Interface *string `json:"interface,omitempty" tf:"interface,omitempty"`

	// A set of ket/value label pairs to assign to disk created from
	// this template
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// The mode in which to attach this disk, either READ_WRITE
	// or READ_ONLY. If you are attaching or creating a boot disk, this must
	// read-write mode.
	// +kubebuilder:validation:Optional
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// Indicates how many IOPS to provision for the disk. This
	// sets the number of I/O operations per second that the disk can handle.
	// Values must be between 10,000 and 120,000. For more details, see the
	// Extreme persistent disk documentation.
	// +kubebuilder:validation:Optional
	ProvisionedIops *float64 `json:"provisionedIops,omitempty" tf:"provisioned_iops,omitempty"`

	// A set of key/value resource manager tag pairs to bind to this disk. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`

	// - A list (short name or id) of resource policies to attach to this disk for automatic snapshot creations. Currently a max of 1 resource policy is supported.
	// +kubebuilder:validation:Optional
	ResourcePolicies []*string `json:"resourcePolicies,omitempty" tf:"resource_policies,omitempty"`

	// The name (not self_link)
	// of the disk (such as those managed by google_compute_disk) to attach.
	// ~> Note: Either source, source_image, or source_snapshot is required in a disk block unless the disk type is local-ssd. Check the API docs for details.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Disk
	// +kubebuilder:validation:Optional
	Source *string `json:"source,omitempty" tf:"source,omitempty"`

	// The image from which to
	// initialize this disk. This can be one of: the image's self_link,
	// projects/{project}/global/images/{image},
	// projects/{project}/global/images/family/{family}, global/images/{image},
	// global/images/family/{family}, family/{family}, {project}/{family},
	// {project}/{image}, {family}, or {image}.
	// ~> Note: Either source, source_image, or source_snapshot is required in a disk block unless the disk type is local-ssd. Check the API docs for details.
	// +kubebuilder:validation:Optional
	SourceImage *string `json:"sourceImage,omitempty" tf:"source_image,omitempty"`

	// The customer-supplied encryption
	// key of the source image. Required if the source image is protected by a
	// customer-supplied encryption key.
	// +kubebuilder:validation:Optional
	SourceImageEncryptionKey *DiskSourceImageEncryptionKeyParameters `json:"sourceImageEncryptionKey,omitempty" tf:"source_image_encryption_key,omitempty"`

	// Reference to a Disk in compute to populate source.
	// +kubebuilder:validation:Optional
	SourceRef *v1.Reference `json:"sourceRef,omitempty" tf:"-"`

	// Selector for a Disk in compute to populate source.
	// +kubebuilder:validation:Optional
	SourceSelector *v1.Selector `json:"sourceSelector,omitempty" tf:"-"`

	// The source snapshot to create this disk.
	// ~> Note: Either source, source_image, or source_snapshot is required in a disk block unless the disk type is local-ssd. Check the API docs for details.
	// +kubebuilder:validation:Optional
	SourceSnapshot *string `json:"sourceSnapshot,omitempty" tf:"source_snapshot,omitempty"`

	// The customer-supplied encryption
	// key of the source snapshot. Structure
	// documented below.
	// +kubebuilder:validation:Optional
	SourceSnapshotEncryptionKey *DiskSourceSnapshotEncryptionKeyParameters `json:"sourceSnapshotEncryptionKey,omitempty" tf:"source_snapshot_encryption_key,omitempty"`

	// The type of GCE disk, can be either "SCRATCH" or
	// "PERSISTENT".
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*InstanceTemplateDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateDiskParameters.

func (*InstanceTemplateDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateGuestAcceleratorInitParameters

type InstanceTemplateGuestAcceleratorInitParameters struct {

	// The number of the guest accelerator cards exposed to this instance.
	Count *float64 `json:"count,omitempty" tf:"count,omitempty"`

	// The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*InstanceTemplateGuestAcceleratorInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateGuestAcceleratorInitParameters.

func (*InstanceTemplateGuestAcceleratorInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateGuestAcceleratorObservation

type InstanceTemplateGuestAcceleratorObservation struct {

	// The number of the guest accelerator cards exposed to this instance.
	Count *float64 `json:"count,omitempty" tf:"count,omitempty"`

	// The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*InstanceTemplateGuestAcceleratorObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateGuestAcceleratorObservation.

func (*InstanceTemplateGuestAcceleratorObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateGuestAcceleratorParameters

type InstanceTemplateGuestAcceleratorParameters struct {

	// The number of the guest accelerator cards exposed to this instance.
	// +kubebuilder:validation:Optional
	Count *float64 `json:"count" tf:"count,omitempty"`

	// The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*InstanceTemplateGuestAcceleratorParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateGuestAcceleratorParameters.

func (*InstanceTemplateGuestAcceleratorParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateInitParameters

type InstanceTemplateInitParameters struct {

	// Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
	AdvancedMachineFeatures *InstanceTemplateAdvancedMachineFeaturesInitParameters `json:"advancedMachineFeatures,omitempty" tf:"advanced_machine_features,omitempty"`

	// Whether to allow sending and receiving of
	// packets with non-matching source or destination IPs. This defaults to false.
	CanIPForward *bool `json:"canIpForward,omitempty" tf:"can_ip_forward,omitempty"`

	// Enable Confidential Mode on this VM. Structure is documented below
	ConfidentialInstanceConfig *InstanceTemplateConfidentialInstanceConfigInitParameters `json:"confidentialInstanceConfig,omitempty" tf:"confidential_instance_config,omitempty"`

	// A brief description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Disks to attach to instances created from this template.
	// This can be specified multiple times for multiple disks. Structure is
	// documented below.
	Disk []InstanceTemplateDiskInitParameters `json:"disk,omitempty" tf:"disk,omitempty"`

	// List of the type and count of accelerator cards attached to the instance. Structure documented below.
	GuestAccelerator []InstanceTemplateGuestAcceleratorInitParameters `json:"guestAccelerator,omitempty" tf:"guest_accelerator,omitempty"`

	// A brief description to use for instances
	// created from this template.
	InstanceDescription *string `json:"instanceDescription,omitempty" tf:"instance_description,omitempty"`

	// A set of key/value label pairs to assign to instances
	// created from this template.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// The machine type to create.
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// Metadata key/value pairs to make available from
	// within instances created from this template.
	Metadata map[string]string `json:"metadata,omitempty" tf:"metadata,omitempty"`

	// An alternative to using the
	// startup-script metadata key, mostly to match the compute_instance resource.
	// This replaces the startup-script metadata key on the created instance and
	// thus the two mechanisms are not allowed to be used simultaneously.
	MetadataStartupScript *string `json:"metadataStartupScript,omitempty" tf:"metadata_startup_script,omitempty"`

	// Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
	// Intel Haswell or Intel Skylake. See the complete list here.
	MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"`

	// The name of the instance template.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Creates a unique name beginning with the specified
	// prefix. Conflicts with name.
	NamePrefix *string `json:"namePrefix,omitempty" tf:"name_prefix,omitempty"`

	// Networks to attach to instances created from
	// this template. This can be specified multiple times for multiple networks.
	// Structure is documented below.
	NetworkInterface []InstanceTemplateNetworkInterfaceInitParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// os-features, and network_interface.0.nic-type must be GVNIC
	// in order for this setting to take effect.
	NetworkPerformanceConfig *InstanceTemplateNetworkPerformanceConfigInitParameters `json:"networkPerformanceConfig,omitempty" tf:"network_performance_config,omitempty"`

	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// An instance template is a global resource that is not
	// bound to a zone or a region. However, you can still specify some regional
	// resources in an instance template, which restricts the template to the
	// region where that resource resides. For example, a custom subnetwork
	// resource is tied to a specific region. Defaults to the region of the
	// Provider if no value is given.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Specifies the reservations that this instance can consume from.
	// Structure is documented below.
	ReservationAffinity *InstanceTemplateReservationAffinityInitParameters `json:"reservationAffinity,omitempty" tf:"reservation_affinity,omitempty"`

	// A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`

	// - A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
	ResourcePolicies []*string `json:"resourcePolicies,omitempty" tf:"resource_policies,omitempty"`

	// The scheduling strategy to use. More details about
	// this configuration option are detailed below.
	Scheduling *InstanceTemplateSchedulingInitParameters `json:"scheduling,omitempty" tf:"scheduling,omitempty"`

	// Service account to attach to the instance. Structure is documented below.
	ServiceAccount *InstanceTemplateServiceAccountInitParameters `json:"serviceAccount,omitempty" tf:"service_account,omitempty"`

	// Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
	// Note: shielded_instance_config can only be used with boot images with shielded vm support. See the complete list here.
	ShieldedInstanceConfig *InstanceTemplateShieldedInstanceConfigInitParameters `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"`

	// Tags to attach to the instance.
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*InstanceTemplateInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateInitParameters.

func (*InstanceTemplateInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateList

type InstanceTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []InstanceTemplate `json:"items"`
}

InstanceTemplateList contains a list of InstanceTemplates

func (*InstanceTemplateList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateList.

func (*InstanceTemplateList) DeepCopyInto

func (in *InstanceTemplateList) DeepCopyInto(out *InstanceTemplateList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceTemplateList) DeepCopyObject

func (in *InstanceTemplateList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*InstanceTemplateList) GetItems

func (l *InstanceTemplateList) GetItems() []resource.Managed

GetItems of this InstanceTemplateList.

type InstanceTemplateNetworkInterfaceAccessConfigInitParameters

type InstanceTemplateNetworkInterfaceAccessConfigInitParameters struct {

	// The IP address that will be 1:1 mapped to the instance's
	// network ip. If not given, one will be generated.
	NATIP *string `json:"natIp,omitempty" tf:"nat_ip,omitempty"`

	// The service-level to be provided for IPv6 traffic when the
	// subnet has an external subnet. Only PREMIUM and STANDARD tier is valid for IPv6.
	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`
}

func (*InstanceTemplateNetworkInterfaceAccessConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceAccessConfigInitParameters.

func (*InstanceTemplateNetworkInterfaceAccessConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateNetworkInterfaceAccessConfigObservation

type InstanceTemplateNetworkInterfaceAccessConfigObservation struct {

	// The IP address that will be 1:1 mapped to the instance's
	// network ip. If not given, one will be generated.
	NATIP *string `json:"natIp,omitempty" tf:"nat_ip,omitempty"`

	// The service-level to be provided for IPv6 traffic when the
	// subnet has an external subnet. Only PREMIUM and STANDARD tier is valid for IPv6.
	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`

	// The name of the instance template.
	PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"`
}

func (*InstanceTemplateNetworkInterfaceAccessConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceAccessConfigObservation.

func (*InstanceTemplateNetworkInterfaceAccessConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateNetworkInterfaceAccessConfigParameters

type InstanceTemplateNetworkInterfaceAccessConfigParameters struct {

	// The IP address that will be 1:1 mapped to the instance's
	// network ip. If not given, one will be generated.
	// +kubebuilder:validation:Optional
	NATIP *string `json:"natIp,omitempty" tf:"nat_ip,omitempty"`

	// The service-level to be provided for IPv6 traffic when the
	// subnet has an external subnet. Only PREMIUM and STANDARD tier is valid for IPv6.
	// +kubebuilder:validation:Optional
	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`
}

func (*InstanceTemplateNetworkInterfaceAccessConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceAccessConfigParameters.

func (*InstanceTemplateNetworkInterfaceAccessConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateNetworkInterfaceAliasIPRangeInitParameters

type InstanceTemplateNetworkInterfaceAliasIPRangeInitParameters struct {

	// The IP CIDR range represented by this alias IP range. This IP CIDR range
	// must belong to the specified subnetwork and cannot contain IP addresses reserved by
	// system or used by other network interfaces. At the time of writing only a
	// netmask (e.g. /24) may be supplied, with a CIDR format resulting in an API
	// error.
	IPCidrRange *string `json:"ipCidrRange,omitempty" tf:"ip_cidr_range,omitempty"`

	// The subnetwork secondary range name specifying
	// the secondary range from which to allocate the IP CIDR range for this alias IP
	// range. If left unspecified, the primary range of the subnetwork will be used.
	SubnetworkRangeName *string `json:"subnetworkRangeName,omitempty" tf:"subnetwork_range_name,omitempty"`
}

func (*InstanceTemplateNetworkInterfaceAliasIPRangeInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceAliasIPRangeInitParameters.

func (*InstanceTemplateNetworkInterfaceAliasIPRangeInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateNetworkInterfaceAliasIPRangeObservation

type InstanceTemplateNetworkInterfaceAliasIPRangeObservation struct {

	// The IP CIDR range represented by this alias IP range. This IP CIDR range
	// must belong to the specified subnetwork and cannot contain IP addresses reserved by
	// system or used by other network interfaces. At the time of writing only a
	// netmask (e.g. /24) may be supplied, with a CIDR format resulting in an API
	// error.
	IPCidrRange *string `json:"ipCidrRange,omitempty" tf:"ip_cidr_range,omitempty"`

	// The subnetwork secondary range name specifying
	// the secondary range from which to allocate the IP CIDR range for this alias IP
	// range. If left unspecified, the primary range of the subnetwork will be used.
	SubnetworkRangeName *string `json:"subnetworkRangeName,omitempty" tf:"subnetwork_range_name,omitempty"`
}

func (*InstanceTemplateNetworkInterfaceAliasIPRangeObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceAliasIPRangeObservation.

func (*InstanceTemplateNetworkInterfaceAliasIPRangeObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateNetworkInterfaceAliasIPRangeParameters

type InstanceTemplateNetworkInterfaceAliasIPRangeParameters struct {

	// The IP CIDR range represented by this alias IP range. This IP CIDR range
	// must belong to the specified subnetwork and cannot contain IP addresses reserved by
	// system or used by other network interfaces. At the time of writing only a
	// netmask (e.g. /24) may be supplied, with a CIDR format resulting in an API
	// error.
	// +kubebuilder:validation:Optional
	IPCidrRange *string `json:"ipCidrRange" tf:"ip_cidr_range,omitempty"`

	// The subnetwork secondary range name specifying
	// the secondary range from which to allocate the IP CIDR range for this alias IP
	// range. If left unspecified, the primary range of the subnetwork will be used.
	// +kubebuilder:validation:Optional
	SubnetworkRangeName *string `json:"subnetworkRangeName,omitempty" tf:"subnetwork_range_name,omitempty"`
}

func (*InstanceTemplateNetworkInterfaceAliasIPRangeParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceAliasIPRangeParameters.

func (*InstanceTemplateNetworkInterfaceAliasIPRangeParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateNetworkInterfaceIPv6AccessConfigInitParameters

type InstanceTemplateNetworkInterfaceIPv6AccessConfigInitParameters struct {

	// The service-level to be provided for IPv6 traffic when the
	// subnet has an external subnet. Only PREMIUM and STANDARD tier is valid for IPv6.
	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`
}

func (*InstanceTemplateNetworkInterfaceIPv6AccessConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceIPv6AccessConfigInitParameters.

func (*InstanceTemplateNetworkInterfaceIPv6AccessConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateNetworkInterfaceIPv6AccessConfigObservation

type InstanceTemplateNetworkInterfaceIPv6AccessConfigObservation struct {
	ExternalIPv6 *string `json:"externalIpv6,omitempty" tf:"external_ipv6,omitempty"`

	ExternalIPv6PrefixLength *string `json:"externalIpv6PrefixLength,omitempty" tf:"external_ipv6_prefix_length,omitempty"`

	// The name of the instance template.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The service-level to be provided for IPv6 traffic when the
	// subnet has an external subnet. Only PREMIUM and STANDARD tier is valid for IPv6.
	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`

	// The name of the instance template.
	PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"`
}

func (*InstanceTemplateNetworkInterfaceIPv6AccessConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceIPv6AccessConfigObservation.

func (*InstanceTemplateNetworkInterfaceIPv6AccessConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateNetworkInterfaceIPv6AccessConfigParameters

type InstanceTemplateNetworkInterfaceIPv6AccessConfigParameters struct {

	// The service-level to be provided for IPv6 traffic when the
	// subnet has an external subnet. Only PREMIUM and STANDARD tier is valid for IPv6.
	// +kubebuilder:validation:Optional
	NetworkTier *string `json:"networkTier" tf:"network_tier,omitempty"`
}

func (*InstanceTemplateNetworkInterfaceIPv6AccessConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceIPv6AccessConfigParameters.

func (*InstanceTemplateNetworkInterfaceIPv6AccessConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateNetworkInterfaceInitParameters

type InstanceTemplateNetworkInterfaceInitParameters struct {

	// Access configurations, i.e. IPs via which this
	// instance can be accessed via the Internet.g. via tunnel or because it is running on another cloud instance
	// on that network). This block can be repeated multiple times. Structure documented below.
	AccessConfig []InstanceTemplateNetworkInterfaceAccessConfigInitParameters `json:"accessConfig,omitempty" tf:"access_config,omitempty"`

	// An
	// array of alias IP ranges for this network interface. Can only be specified for network
	// interfaces on subnet-mode networks. Structure documented below.
	AliasIPRange []InstanceTemplateNetworkInterfaceAliasIPRangeInitParameters `json:"aliasIpRange,omitempty" tf:"alias_ip_range,omitempty"`

	// An array of IPv6 access configurations for this interface.
	// Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
	// specified, then this instance will have no external IPv6 Internet access. Structure documented below.
	IPv6AccessConfig []InstanceTemplateNetworkInterfaceIPv6AccessConfigInitParameters `json:"ipv6AccessConfig,omitempty" tf:"ipv6_access_config,omitempty"`

	IPv6Address *string `json:"ipv6Address,omitempty" tf:"ipv6_address,omitempty"`

	InternalIPv6PrefixLength *float64 `json:"internalIpv6PrefixLength,omitempty" tf:"internal_ipv6_prefix_length,omitempty"`

	// The name or self_link of the network to attach this interface to.
	// Use network attribute for Legacy or Auto subnetted networks and
	// subnetwork for custom subnetted networks.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// The private IP address to assign to the instance. If
	// empty, the address will be automatically assigned.
	NetworkIP *string `json:"networkIp,omitempty" tf:"network_ip,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
	NicType *string `json:"nicType,omitempty" tf:"nic_type,omitempty"`

	// The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
	QueueCount *float64 `json:"queueCount,omitempty" tf:"queue_count,omitempty"`

	// The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
	StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"`

	// the name of the subnetwork to attach this interface
	// to. The subnetwork must exist in the same region this instance will be
	// created in. Either network or subnetwork must be provided.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// The ID of the project in which the subnetwork belongs.
	// If it is not provided, the provider project is used.
	SubnetworkProject *string `json:"subnetworkProject,omitempty" tf:"subnetwork_project,omitempty"`

	// Reference to a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"`
}

func (*InstanceTemplateNetworkInterfaceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceInitParameters.

func (*InstanceTemplateNetworkInterfaceInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateNetworkInterfaceObservation

type InstanceTemplateNetworkInterfaceObservation struct {

	// Access configurations, i.e. IPs via which this
	// instance can be accessed via the Internet.g. via tunnel or because it is running on another cloud instance
	// on that network). This block can be repeated multiple times. Structure documented below.
	AccessConfig []InstanceTemplateNetworkInterfaceAccessConfigObservation `json:"accessConfig,omitempty" tf:"access_config,omitempty"`

	// An
	// array of alias IP ranges for this network interface. Can only be specified for network
	// interfaces on subnet-mode networks. Structure documented below.
	AliasIPRange []InstanceTemplateNetworkInterfaceAliasIPRangeObservation `json:"aliasIpRange,omitempty" tf:"alias_ip_range,omitempty"`

	// An array of IPv6 access configurations for this interface.
	// Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
	// specified, then this instance will have no external IPv6 Internet access. Structure documented below.
	IPv6AccessConfig []InstanceTemplateNetworkInterfaceIPv6AccessConfigObservation `json:"ipv6AccessConfig,omitempty" tf:"ipv6_access_config,omitempty"`

	IPv6AccessType *string `json:"ipv6AccessType,omitempty" tf:"ipv6_access_type,omitempty"`

	IPv6Address *string `json:"ipv6Address,omitempty" tf:"ipv6_address,omitempty"`

	InternalIPv6PrefixLength *float64 `json:"internalIpv6PrefixLength,omitempty" tf:"internal_ipv6_prefix_length,omitempty"`

	// The name of the instance template.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The name or self_link of the network to attach this interface to.
	// Use network attribute for Legacy or Auto subnetted networks and
	// subnetwork for custom subnetted networks.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// The private IP address to assign to the instance. If
	// empty, the address will be automatically assigned.
	NetworkIP *string `json:"networkIp,omitempty" tf:"network_ip,omitempty"`

	// The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
	NicType *string `json:"nicType,omitempty" tf:"nic_type,omitempty"`

	// The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
	QueueCount *float64 `json:"queueCount,omitempty" tf:"queue_count,omitempty"`

	// The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
	StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"`

	// the name of the subnetwork to attach this interface
	// to. The subnetwork must exist in the same region this instance will be
	// created in. Either network or subnetwork must be provided.
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// The ID of the project in which the subnetwork belongs.
	// If it is not provided, the provider project is used.
	SubnetworkProject *string `json:"subnetworkProject,omitempty" tf:"subnetwork_project,omitempty"`
}

func (*InstanceTemplateNetworkInterfaceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceObservation.

func (*InstanceTemplateNetworkInterfaceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateNetworkInterfaceParameters

type InstanceTemplateNetworkInterfaceParameters struct {

	// Access configurations, i.e. IPs via which this
	// instance can be accessed via the Internet.g. via tunnel or because it is running on another cloud instance
	// on that network). This block can be repeated multiple times. Structure documented below.
	// +kubebuilder:validation:Optional
	AccessConfig []InstanceTemplateNetworkInterfaceAccessConfigParameters `json:"accessConfig,omitempty" tf:"access_config,omitempty"`

	// An
	// array of alias IP ranges for this network interface. Can only be specified for network
	// interfaces on subnet-mode networks. Structure documented below.
	// +kubebuilder:validation:Optional
	AliasIPRange []InstanceTemplateNetworkInterfaceAliasIPRangeParameters `json:"aliasIpRange,omitempty" tf:"alias_ip_range,omitempty"`

	// An array of IPv6 access configurations for this interface.
	// Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
	// specified, then this instance will have no external IPv6 Internet access. Structure documented below.
	// +kubebuilder:validation:Optional
	IPv6AccessConfig []InstanceTemplateNetworkInterfaceIPv6AccessConfigParameters `json:"ipv6AccessConfig,omitempty" tf:"ipv6_access_config,omitempty"`

	// +kubebuilder:validation:Optional
	IPv6Address *string `json:"ipv6Address,omitempty" tf:"ipv6_address,omitempty"`

	// +kubebuilder:validation:Optional
	InternalIPv6PrefixLength *float64 `json:"internalIpv6PrefixLength,omitempty" tf:"internal_ipv6_prefix_length,omitempty"`

	// The name or self_link of the network to attach this interface to.
	// Use network attribute for Legacy or Auto subnetted networks and
	// subnetwork for custom subnetted networks.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +kubebuilder:validation:Optional
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// The private IP address to assign to the instance. If
	// empty, the address will be automatically assigned.
	// +kubebuilder:validation:Optional
	NetworkIP *string `json:"networkIp,omitempty" tf:"network_ip,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
	// +kubebuilder:validation:Optional
	NicType *string `json:"nicType,omitempty" tf:"nic_type,omitempty"`

	// The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
	// +kubebuilder:validation:Optional
	QueueCount *float64 `json:"queueCount,omitempty" tf:"queue_count,omitempty"`

	// The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
	// +kubebuilder:validation:Optional
	StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"`

	// the name of the subnetwork to attach this interface
	// to. The subnetwork must exist in the same region this instance will be
	// created in. Either network or subnetwork must be provided.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	// +kubebuilder:validation:Optional
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// The ID of the project in which the subnetwork belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	SubnetworkProject *string `json:"subnetworkProject,omitempty" tf:"subnetwork_project,omitempty"`

	// Reference to a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"`
}

func (*InstanceTemplateNetworkInterfaceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceParameters.

func (*InstanceTemplateNetworkInterfaceParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateNetworkPerformanceConfigInitParameters

type InstanceTemplateNetworkPerformanceConfigInitParameters struct {

	// The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
	TotalEgressBandwidthTier *string `json:"totalEgressBandwidthTier,omitempty" tf:"total_egress_bandwidth_tier,omitempty"`
}

func (*InstanceTemplateNetworkPerformanceConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkPerformanceConfigInitParameters.

func (*InstanceTemplateNetworkPerformanceConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateNetworkPerformanceConfigObservation

type InstanceTemplateNetworkPerformanceConfigObservation struct {

	// The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
	TotalEgressBandwidthTier *string `json:"totalEgressBandwidthTier,omitempty" tf:"total_egress_bandwidth_tier,omitempty"`
}

func (*InstanceTemplateNetworkPerformanceConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkPerformanceConfigObservation.

func (*InstanceTemplateNetworkPerformanceConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateNetworkPerformanceConfigParameters

type InstanceTemplateNetworkPerformanceConfigParameters struct {

	// The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
	// +kubebuilder:validation:Optional
	TotalEgressBandwidthTier *string `json:"totalEgressBandwidthTier" tf:"total_egress_bandwidth_tier,omitempty"`
}

func (*InstanceTemplateNetworkPerformanceConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkPerformanceConfigParameters.

func (*InstanceTemplateNetworkPerformanceConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateObservation

type InstanceTemplateObservation struct {

	// Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
	AdvancedMachineFeatures *InstanceTemplateAdvancedMachineFeaturesObservation `json:"advancedMachineFeatures,omitempty" tf:"advanced_machine_features,omitempty"`

	// Whether to allow sending and receiving of
	// packets with non-matching source or destination IPs. This defaults to false.
	CanIPForward *bool `json:"canIpForward,omitempty" tf:"can_ip_forward,omitempty"`

	// Enable Confidential Mode on this VM. Structure is documented below
	ConfidentialInstanceConfig *InstanceTemplateConfidentialInstanceConfigObservation `json:"confidentialInstanceConfig,omitempty" tf:"confidential_instance_config,omitempty"`

	// A brief description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Disks to attach to instances created from this template.
	// This can be specified multiple times for multiple disks. Structure is
	// documented below.
	Disk []InstanceTemplateDiskObservation `json:"disk,omitempty" tf:"disk,omitempty"`

	// +mapType=granular
	EffectiveLabels map[string]*string `json:"effectiveLabels,omitempty" tf:"effective_labels,omitempty"`

	// List of the type and count of accelerator cards attached to the instance. Structure documented below.
	GuestAccelerator []InstanceTemplateGuestAcceleratorObservation `json:"guestAccelerator,omitempty" tf:"guest_accelerator,omitempty"`

	// an identifier for the resource with format projects/{{project}}/global/instanceTemplates/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// A brief description to use for instances
	// created from this template.
	InstanceDescription *string `json:"instanceDescription,omitempty" tf:"instance_description,omitempty"`

	// A set of key/value label pairs to assign to instances
	// created from this template.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// The machine type to create.
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// Metadata key/value pairs to make available from
	// within instances created from this template.
	Metadata map[string]string `json:"metadata,omitempty" tf:"metadata,omitempty"`

	// The unique fingerprint of the metadata.
	MetadataFingerprint *string `json:"metadataFingerprint,omitempty" tf:"metadata_fingerprint,omitempty"`

	// An alternative to using the
	// startup-script metadata key, mostly to match the compute_instance resource.
	// This replaces the startup-script metadata key on the created instance and
	// thus the two mechanisms are not allowed to be used simultaneously.
	MetadataStartupScript *string `json:"metadataStartupScript,omitempty" tf:"metadata_startup_script,omitempty"`

	// Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
	// Intel Haswell or Intel Skylake. See the complete list here.
	MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"`

	// The name of the instance template.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Creates a unique name beginning with the specified
	// prefix. Conflicts with name.
	NamePrefix *string `json:"namePrefix,omitempty" tf:"name_prefix,omitempty"`

	// Networks to attach to instances created from
	// this template. This can be specified multiple times for multiple networks.
	// Structure is documented below.
	NetworkInterface []InstanceTemplateNetworkInterfaceObservation `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// os-features, and network_interface.0.nic-type must be GVNIC
	// in order for this setting to take effect.
	NetworkPerformanceConfig *InstanceTemplateNetworkPerformanceConfigObservation `json:"networkPerformanceConfig,omitempty" tf:"network_performance_config,omitempty"`

	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// An instance template is a global resource that is not
	// bound to a zone or a region. However, you can still specify some regional
	// resources in an instance template, which restricts the template to the
	// region where that resource resides. For example, a custom subnetwork
	// resource is tied to a specific region. Defaults to the region of the
	// Provider if no value is given.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Specifies the reservations that this instance can consume from.
	// Structure is documented below.
	ReservationAffinity *InstanceTemplateReservationAffinityObservation `json:"reservationAffinity,omitempty" tf:"reservation_affinity,omitempty"`

	// A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`

	// - A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
	ResourcePolicies []*string `json:"resourcePolicies,omitempty" tf:"resource_policies,omitempty"`

	// The scheduling strategy to use. More details about
	// this configuration option are detailed below.
	Scheduling *InstanceTemplateSchedulingObservation `json:"scheduling,omitempty" tf:"scheduling,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// A special URI of the created resource that uniquely identifies this instance template with the following format: projects/{{project}}/global/instanceTemplates/{{name}}?uniqueId={{uniqueId}}
	// Referencing an instance template via this attribute prevents Time of Check to Time of Use attacks when the instance template resides in a shared/untrusted environment.
	SelfLinkUnique *string `json:"selfLinkUnique,omitempty" tf:"self_link_unique,omitempty"`

	// Service account to attach to the instance. Structure is documented below.
	ServiceAccount *InstanceTemplateServiceAccountObservation `json:"serviceAccount,omitempty" tf:"service_account,omitempty"`

	// Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
	// Note: shielded_instance_config can only be used with boot images with shielded vm support. See the complete list here.
	ShieldedInstanceConfig *InstanceTemplateShieldedInstanceConfigObservation `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"`

	// Tags to attach to the instance.
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The unique fingerprint of the tags.
	TagsFingerprint *string `json:"tagsFingerprint,omitempty" tf:"tags_fingerprint,omitempty"`

	// The combination of labels configured directly on the resource and default labels configured on the provider.
	// +mapType=granular
	TerraformLabels map[string]*string `json:"terraformLabels,omitempty" tf:"terraform_labels,omitempty"`
}

func (*InstanceTemplateObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateObservation.

func (*InstanceTemplateObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateParameters

type InstanceTemplateParameters struct {

	// Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
	// +kubebuilder:validation:Optional
	AdvancedMachineFeatures *InstanceTemplateAdvancedMachineFeaturesParameters `json:"advancedMachineFeatures,omitempty" tf:"advanced_machine_features,omitempty"`

	// Whether to allow sending and receiving of
	// packets with non-matching source or destination IPs. This defaults to false.
	// +kubebuilder:validation:Optional
	CanIPForward *bool `json:"canIpForward,omitempty" tf:"can_ip_forward,omitempty"`

	// Enable Confidential Mode on this VM. Structure is documented below
	// +kubebuilder:validation:Optional
	ConfidentialInstanceConfig *InstanceTemplateConfidentialInstanceConfigParameters `json:"confidentialInstanceConfig,omitempty" tf:"confidential_instance_config,omitempty"`

	// A brief description of this resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Disks to attach to instances created from this template.
	// This can be specified multiple times for multiple disks. Structure is
	// documented below.
	// +kubebuilder:validation:Optional
	Disk []InstanceTemplateDiskParameters `json:"disk,omitempty" tf:"disk,omitempty"`

	// List of the type and count of accelerator cards attached to the instance. Structure documented below.
	// +kubebuilder:validation:Optional
	GuestAccelerator []InstanceTemplateGuestAcceleratorParameters `json:"guestAccelerator,omitempty" tf:"guest_accelerator,omitempty"`

	// A brief description to use for instances
	// created from this template.
	// +kubebuilder:validation:Optional
	InstanceDescription *string `json:"instanceDescription,omitempty" tf:"instance_description,omitempty"`

	// A set of key/value label pairs to assign to instances
	// created from this template.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// The machine type to create.
	// +kubebuilder:validation:Optional
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// Metadata key/value pairs to make available from
	// within instances created from this template.
	// +kubebuilder:validation:Optional
	Metadata map[string]string `json:"metadata,omitempty" tf:"metadata,omitempty"`

	// An alternative to using the
	// startup-script metadata key, mostly to match the compute_instance resource.
	// This replaces the startup-script metadata key on the created instance and
	// thus the two mechanisms are not allowed to be used simultaneously.
	// +kubebuilder:validation:Optional
	MetadataStartupScript *string `json:"metadataStartupScript,omitempty" tf:"metadata_startup_script,omitempty"`

	// Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
	// Intel Haswell or Intel Skylake. See the complete list here.
	// +kubebuilder:validation:Optional
	MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"`

	// The name of the instance template.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Creates a unique name beginning with the specified
	// prefix. Conflicts with name.
	// +kubebuilder:validation:Optional
	NamePrefix *string `json:"namePrefix,omitempty" tf:"name_prefix,omitempty"`

	// Networks to attach to instances created from
	// this template. This can be specified multiple times for multiple networks.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	NetworkInterface []InstanceTemplateNetworkInterfaceParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// os-features, and network_interface.0.nic-type must be GVNIC
	// in order for this setting to take effect.
	// +kubebuilder:validation:Optional
	NetworkPerformanceConfig *InstanceTemplateNetworkPerformanceConfigParameters `json:"networkPerformanceConfig,omitempty" tf:"network_performance_config,omitempty"`

	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// An instance template is a global resource that is not
	// bound to a zone or a region. However, you can still specify some regional
	// resources in an instance template, which restricts the template to the
	// region where that resource resides. For example, a custom subnetwork
	// resource is tied to a specific region. Defaults to the region of the
	// Provider if no value is given.
	// +kubebuilder:validation:Optional
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Specifies the reservations that this instance can consume from.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ReservationAffinity *InstanceTemplateReservationAffinityParameters `json:"reservationAffinity,omitempty" tf:"reservation_affinity,omitempty"`

	// A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`

	// - A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
	// +kubebuilder:validation:Optional
	ResourcePolicies []*string `json:"resourcePolicies,omitempty" tf:"resource_policies,omitempty"`

	// The scheduling strategy to use. More details about
	// this configuration option are detailed below.
	// +kubebuilder:validation:Optional
	Scheduling *InstanceTemplateSchedulingParameters `json:"scheduling,omitempty" tf:"scheduling,omitempty"`

	// Service account to attach to the instance. Structure is documented below.
	// +kubebuilder:validation:Optional
	ServiceAccount *InstanceTemplateServiceAccountParameters `json:"serviceAccount,omitempty" tf:"service_account,omitempty"`

	// Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
	// Note: shielded_instance_config can only be used with boot images with shielded vm support. See the complete list here.
	// +kubebuilder:validation:Optional
	ShieldedInstanceConfig *InstanceTemplateShieldedInstanceConfigParameters `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"`

	// Tags to attach to the instance.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*InstanceTemplateParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateParameters.

func (*InstanceTemplateParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateReservationAffinityInitParameters

type InstanceTemplateReservationAffinityInitParameters struct {

	// Specifies the label selector for the reservation to use..
	// Structure is documented below.
	SpecificReservation *InstanceTemplateReservationAffinitySpecificReservationInitParameters `json:"specificReservation,omitempty" tf:"specific_reservation,omitempty"`

	// The type of reservation from which this instance can consume resources.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*InstanceTemplateReservationAffinityInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateReservationAffinityInitParameters.

func (*InstanceTemplateReservationAffinityInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateReservationAffinityObservation

type InstanceTemplateReservationAffinityObservation struct {

	// Specifies the label selector for the reservation to use..
	// Structure is documented below.
	SpecificReservation *InstanceTemplateReservationAffinitySpecificReservationObservation `json:"specificReservation,omitempty" tf:"specific_reservation,omitempty"`

	// The type of reservation from which this instance can consume resources.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*InstanceTemplateReservationAffinityObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateReservationAffinityObservation.

func (*InstanceTemplateReservationAffinityObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateReservationAffinityParameters

type InstanceTemplateReservationAffinityParameters struct {

	// Specifies the label selector for the reservation to use..
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	SpecificReservation *InstanceTemplateReservationAffinitySpecificReservationParameters `json:"specificReservation,omitempty" tf:"specific_reservation,omitempty"`

	// The type of reservation from which this instance can consume resources.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*InstanceTemplateReservationAffinityParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateReservationAffinityParameters.

func (*InstanceTemplateReservationAffinityParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateReservationAffinitySpecificReservationInitParameters

type InstanceTemplateReservationAffinitySpecificReservationInitParameters struct {

	// Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// Corresponds to the label values of a reservation resource.
	Values []*string `json:"values,omitempty" tf:"values,omitempty"`
}

func (*InstanceTemplateReservationAffinitySpecificReservationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateReservationAffinitySpecificReservationInitParameters.

func (*InstanceTemplateReservationAffinitySpecificReservationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateReservationAffinitySpecificReservationObservation

type InstanceTemplateReservationAffinitySpecificReservationObservation struct {

	// Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// Corresponds to the label values of a reservation resource.
	Values []*string `json:"values,omitempty" tf:"values,omitempty"`
}

func (*InstanceTemplateReservationAffinitySpecificReservationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateReservationAffinitySpecificReservationObservation.

func (*InstanceTemplateReservationAffinitySpecificReservationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateReservationAffinitySpecificReservationParameters

type InstanceTemplateReservationAffinitySpecificReservationParameters struct {

	// Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

	// Corresponds to the label values of a reservation resource.
	// +kubebuilder:validation:Optional
	Values []*string `json:"values" tf:"values,omitempty"`
}

func (*InstanceTemplateReservationAffinitySpecificReservationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateReservationAffinitySpecificReservationParameters.

func (*InstanceTemplateReservationAffinitySpecificReservationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateSchedulingInitParameters

type InstanceTemplateSchedulingInitParameters struct {

	// Specifies whether the instance should be
	// automatically restarted if it is terminated by Compute Engine (not
	// terminated by a user). This defaults to true.
	AutomaticRestart *bool `json:"automaticRestart,omitempty" tf:"automatic_restart,omitempty"`

	// Describe the type of termination action for SPOT VM. Can be STOP or DELETE.  Read more on here
	InstanceTerminationAction *string `json:"instanceTerminationAction,omitempty" tf:"instance_termination_action,omitempty"`

	// io/docs/providers/google/guides/provider_versions.html) Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour. Structure is documented below.
	// The local_ssd_recovery_timeout block supports:
	LocalSsdRecoveryTimeout []InstanceTemplateSchedulingLocalSsdRecoveryTimeoutInitParameters `json:"localSsdRecoveryTimeout,omitempty" tf:"local_ssd_recovery_timeout,omitempty"`

	MinNodeCpus *float64 `json:"minNodeCpus,omitempty" tf:"min_node_cpus,omitempty"`

	// Specifies node affinities or anti-affinities
	// to determine which sole-tenant nodes your instances and managed instance
	// groups will use as host systems. Read more on sole-tenant node creation
	// here.
	// Structure documented below.
	NodeAffinities []InstanceTemplateSchedulingNodeAffinitiesInitParameters `json:"nodeAffinities,omitempty" tf:"node_affinities,omitempty"`

	// Defines the maintenance behavior for this
	// instance.
	OnHostMaintenance *string `json:"onHostMaintenance,omitempty" tf:"on_host_maintenance,omitempty"`

	// Allows instance to be preempted. This defaults to
	// false. Read more on this
	// here.
	Preemptible *bool `json:"preemptible,omitempty" tf:"preemptible,omitempty"`

	// Describe the type of preemptible VM. This field accepts the value STANDARD or SPOT. If the value is STANDARD, there will be no discount. If this   is set to SPOT,
	// preemptible should be true and automatic_restart should be
	// false. For more info about
	// SPOT, read here
	ProvisioningModel *string `json:"provisioningModel,omitempty" tf:"provisioning_model,omitempty"`
}

func (*InstanceTemplateSchedulingInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSchedulingInitParameters.

func (*InstanceTemplateSchedulingInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateSchedulingLocalSsdRecoveryTimeoutInitParameters

type InstanceTemplateSchedulingLocalSsdRecoveryTimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented with a 0
	// seconds field and a positive nanos field. Must be from 0 to
	// 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to
	// 315,576,000,000 inclusive. Note: these bounds are computed from: 60
	// sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*InstanceTemplateSchedulingLocalSsdRecoveryTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSchedulingLocalSsdRecoveryTimeoutInitParameters.

func (*InstanceTemplateSchedulingLocalSsdRecoveryTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateSchedulingLocalSsdRecoveryTimeoutObservation

type InstanceTemplateSchedulingLocalSsdRecoveryTimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented with a 0
	// seconds field and a positive nanos field. Must be from 0 to
	// 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to
	// 315,576,000,000 inclusive. Note: these bounds are computed from: 60
	// sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*InstanceTemplateSchedulingLocalSsdRecoveryTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSchedulingLocalSsdRecoveryTimeoutObservation.

func (*InstanceTemplateSchedulingLocalSsdRecoveryTimeoutObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateSchedulingLocalSsdRecoveryTimeoutParameters

type InstanceTemplateSchedulingLocalSsdRecoveryTimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented with a 0
	// seconds field and a positive nanos field. Must be from 0 to
	// 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to
	// 315,576,000,000 inclusive. Note: these bounds are computed from: 60
	// sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
	// +kubebuilder:validation:Optional
	Seconds *float64 `json:"seconds" tf:"seconds,omitempty"`
}

func (*InstanceTemplateSchedulingLocalSsdRecoveryTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSchedulingLocalSsdRecoveryTimeoutParameters.

func (*InstanceTemplateSchedulingLocalSsdRecoveryTimeoutParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateSchedulingNodeAffinitiesInitParameters

type InstanceTemplateSchedulingNodeAffinitiesInitParameters struct {

	// Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// The operator. Can be IN for node-affinities
	// or NOT_IN for anti-affinities.
	Operator *string `json:"operator,omitempty" tf:"operator,omitempty"`

	// Corresponds to the label values of a reservation resource.
	// +listType=set
	Values []*string `json:"values,omitempty" tf:"values,omitempty"`
}

func (*InstanceTemplateSchedulingNodeAffinitiesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSchedulingNodeAffinitiesInitParameters.

func (*InstanceTemplateSchedulingNodeAffinitiesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateSchedulingNodeAffinitiesObservation

type InstanceTemplateSchedulingNodeAffinitiesObservation struct {

	// Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// The operator. Can be IN for node-affinities
	// or NOT_IN for anti-affinities.
	Operator *string `json:"operator,omitempty" tf:"operator,omitempty"`

	// Corresponds to the label values of a reservation resource.
	// +listType=set
	Values []*string `json:"values,omitempty" tf:"values,omitempty"`
}

func (*InstanceTemplateSchedulingNodeAffinitiesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSchedulingNodeAffinitiesObservation.

func (*InstanceTemplateSchedulingNodeAffinitiesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateSchedulingNodeAffinitiesParameters

type InstanceTemplateSchedulingNodeAffinitiesParameters struct {

	// Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

	// The operator. Can be IN for node-affinities
	// or NOT_IN for anti-affinities.
	// +kubebuilder:validation:Optional
	Operator *string `json:"operator" tf:"operator,omitempty"`

	// Corresponds to the label values of a reservation resource.
	// +kubebuilder:validation:Optional
	// +listType=set
	Values []*string `json:"values" tf:"values,omitempty"`
}

func (*InstanceTemplateSchedulingNodeAffinitiesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSchedulingNodeAffinitiesParameters.

func (*InstanceTemplateSchedulingNodeAffinitiesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateSchedulingObservation

type InstanceTemplateSchedulingObservation struct {

	// Specifies whether the instance should be
	// automatically restarted if it is terminated by Compute Engine (not
	// terminated by a user). This defaults to true.
	AutomaticRestart *bool `json:"automaticRestart,omitempty" tf:"automatic_restart,omitempty"`

	// Describe the type of termination action for SPOT VM. Can be STOP or DELETE.  Read more on here
	InstanceTerminationAction *string `json:"instanceTerminationAction,omitempty" tf:"instance_termination_action,omitempty"`

	// io/docs/providers/google/guides/provider_versions.html) Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour. Structure is documented below.
	// The local_ssd_recovery_timeout block supports:
	LocalSsdRecoveryTimeout []InstanceTemplateSchedulingLocalSsdRecoveryTimeoutObservation `json:"localSsdRecoveryTimeout,omitempty" tf:"local_ssd_recovery_timeout,omitempty"`

	MinNodeCpus *float64 `json:"minNodeCpus,omitempty" tf:"min_node_cpus,omitempty"`

	// Specifies node affinities or anti-affinities
	// to determine which sole-tenant nodes your instances and managed instance
	// groups will use as host systems. Read more on sole-tenant node creation
	// here.
	// Structure documented below.
	NodeAffinities []InstanceTemplateSchedulingNodeAffinitiesObservation `json:"nodeAffinities,omitempty" tf:"node_affinities,omitempty"`

	// Defines the maintenance behavior for this
	// instance.
	OnHostMaintenance *string `json:"onHostMaintenance,omitempty" tf:"on_host_maintenance,omitempty"`

	// Allows instance to be preempted. This defaults to
	// false. Read more on this
	// here.
	Preemptible *bool `json:"preemptible,omitempty" tf:"preemptible,omitempty"`

	// Describe the type of preemptible VM. This field accepts the value STANDARD or SPOT. If the value is STANDARD, there will be no discount. If this   is set to SPOT,
	// preemptible should be true and automatic_restart should be
	// false. For more info about
	// SPOT, read here
	ProvisioningModel *string `json:"provisioningModel,omitempty" tf:"provisioning_model,omitempty"`
}

func (*InstanceTemplateSchedulingObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSchedulingObservation.

func (*InstanceTemplateSchedulingObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateSchedulingParameters

type InstanceTemplateSchedulingParameters struct {

	// Specifies whether the instance should be
	// automatically restarted if it is terminated by Compute Engine (not
	// terminated by a user). This defaults to true.
	// +kubebuilder:validation:Optional
	AutomaticRestart *bool `json:"automaticRestart,omitempty" tf:"automatic_restart,omitempty"`

	// Describe the type of termination action for SPOT VM. Can be STOP or DELETE.  Read more on here
	// +kubebuilder:validation:Optional
	InstanceTerminationAction *string `json:"instanceTerminationAction,omitempty" tf:"instance_termination_action,omitempty"`

	// io/docs/providers/google/guides/provider_versions.html) Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour. Structure is documented below.
	// The local_ssd_recovery_timeout block supports:
	// +kubebuilder:validation:Optional
	LocalSsdRecoveryTimeout []InstanceTemplateSchedulingLocalSsdRecoveryTimeoutParameters `json:"localSsdRecoveryTimeout,omitempty" tf:"local_ssd_recovery_timeout,omitempty"`

	// +kubebuilder:validation:Optional
	MinNodeCpus *float64 `json:"minNodeCpus,omitempty" tf:"min_node_cpus,omitempty"`

	// Specifies node affinities or anti-affinities
	// to determine which sole-tenant nodes your instances and managed instance
	// groups will use as host systems. Read more on sole-tenant node creation
	// here.
	// Structure documented below.
	// +kubebuilder:validation:Optional
	NodeAffinities []InstanceTemplateSchedulingNodeAffinitiesParameters `json:"nodeAffinities,omitempty" tf:"node_affinities,omitempty"`

	// Defines the maintenance behavior for this
	// instance.
	// +kubebuilder:validation:Optional
	OnHostMaintenance *string `json:"onHostMaintenance,omitempty" tf:"on_host_maintenance,omitempty"`

	// Allows instance to be preempted. This defaults to
	// false. Read more on this
	// here.
	// +kubebuilder:validation:Optional
	Preemptible *bool `json:"preemptible,omitempty" tf:"preemptible,omitempty"`

	// Describe the type of preemptible VM. This field accepts the value STANDARD or SPOT. If the value is STANDARD, there will be no discount. If this   is set to SPOT,
	// preemptible should be true and automatic_restart should be
	// false. For more info about
	// SPOT, read here
	// +kubebuilder:validation:Optional
	ProvisioningModel *string `json:"provisioningModel,omitempty" tf:"provisioning_model,omitempty"`
}

func (*InstanceTemplateSchedulingParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSchedulingParameters.

func (*InstanceTemplateSchedulingParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateServiceAccountInitParameters

type InstanceTemplateServiceAccountInitParameters struct {

	// The service account e-mail address. If not given, the
	// default Google Compute Engine service account is used.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true)
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// Reference to a ServiceAccount in cloudplatform to populate email.
	// +kubebuilder:validation:Optional
	EmailRef *v1.Reference `json:"emailRef,omitempty" tf:"-"`

	// Selector for a ServiceAccount in cloudplatform to populate email.
	// +kubebuilder:validation:Optional
	EmailSelector *v1.Selector `json:"emailSelector,omitempty" tf:"-"`

	// A list of service scopes. Both OAuth2 URLs and gcloud
	// short names are supported. To allow full access to all Cloud APIs, use the
	// cloud-platform scope. See a complete list of scopes here.
	// +listType=set
	Scopes []*string `json:"scopes,omitempty" tf:"scopes,omitempty"`
}

func (*InstanceTemplateServiceAccountInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateServiceAccountInitParameters.

func (*InstanceTemplateServiceAccountInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateServiceAccountObservation

type InstanceTemplateServiceAccountObservation struct {

	// The service account e-mail address. If not given, the
	// default Google Compute Engine service account is used.
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// A list of service scopes. Both OAuth2 URLs and gcloud
	// short names are supported. To allow full access to all Cloud APIs, use the
	// cloud-platform scope. See a complete list of scopes here.
	// +listType=set
	Scopes []*string `json:"scopes,omitempty" tf:"scopes,omitempty"`
}

func (*InstanceTemplateServiceAccountObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateServiceAccountObservation.

func (*InstanceTemplateServiceAccountObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateServiceAccountParameters

type InstanceTemplateServiceAccountParameters struct {

	// The service account e-mail address. If not given, the
	// default Google Compute Engine service account is used.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true)
	// +kubebuilder:validation:Optional
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// Reference to a ServiceAccount in cloudplatform to populate email.
	// +kubebuilder:validation:Optional
	EmailRef *v1.Reference `json:"emailRef,omitempty" tf:"-"`

	// Selector for a ServiceAccount in cloudplatform to populate email.
	// +kubebuilder:validation:Optional
	EmailSelector *v1.Selector `json:"emailSelector,omitempty" tf:"-"`

	// A list of service scopes. Both OAuth2 URLs and gcloud
	// short names are supported. To allow full access to all Cloud APIs, use the
	// cloud-platform scope. See a complete list of scopes here.
	// +kubebuilder:validation:Optional
	// +listType=set
	Scopes []*string `json:"scopes" tf:"scopes,omitempty"`
}

func (*InstanceTemplateServiceAccountParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateServiceAccountParameters.

func (*InstanceTemplateServiceAccountParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateShieldedInstanceConfigInitParameters

type InstanceTemplateShieldedInstanceConfigInitParameters struct {

	// - Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
	EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring,omitempty" tf:"enable_integrity_monitoring,omitempty"`

	// - Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
	EnableSecureBoot *bool `json:"enableSecureBoot,omitempty" tf:"enable_secure_boot,omitempty"`

	// - Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
	EnableVtpm *bool `json:"enableVtpm,omitempty" tf:"enable_vtpm,omitempty"`
}

func (*InstanceTemplateShieldedInstanceConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateShieldedInstanceConfigInitParameters.

func (*InstanceTemplateShieldedInstanceConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateShieldedInstanceConfigObservation

type InstanceTemplateShieldedInstanceConfigObservation struct {

	// - Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
	EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring,omitempty" tf:"enable_integrity_monitoring,omitempty"`

	// - Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
	EnableSecureBoot *bool `json:"enableSecureBoot,omitempty" tf:"enable_secure_boot,omitempty"`

	// - Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
	EnableVtpm *bool `json:"enableVtpm,omitempty" tf:"enable_vtpm,omitempty"`
}

func (*InstanceTemplateShieldedInstanceConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateShieldedInstanceConfigObservation.

func (*InstanceTemplateShieldedInstanceConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateShieldedInstanceConfigParameters

type InstanceTemplateShieldedInstanceConfigParameters struct {

	// - Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
	// +kubebuilder:validation:Optional
	EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring,omitempty" tf:"enable_integrity_monitoring,omitempty"`

	// - Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
	// +kubebuilder:validation:Optional
	EnableSecureBoot *bool `json:"enableSecureBoot,omitempty" tf:"enable_secure_boot,omitempty"`

	// - Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
	// +kubebuilder:validation:Optional
	EnableVtpm *bool `json:"enableVtpm,omitempty" tf:"enable_vtpm,omitempty"`
}

func (*InstanceTemplateShieldedInstanceConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateShieldedInstanceConfigParameters.

func (*InstanceTemplateShieldedInstanceConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateSpec

type InstanceTemplateSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     InstanceTemplateParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider InstanceTemplateInitParameters `json:"initProvider,omitempty"`
}

InstanceTemplateSpec defines the desired state of InstanceTemplate

func (*InstanceTemplateSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSpec.

func (*InstanceTemplateSpec) DeepCopyInto

func (in *InstanceTemplateSpec) DeepCopyInto(out *InstanceTemplateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceTemplateStatus

type InstanceTemplateStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        InstanceTemplateObservation `json:"atProvider,omitempty"`
}

InstanceTemplateStatus defines the observed state of InstanceTemplate.

func (*InstanceTemplateStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateStatus.

func (*InstanceTemplateStatus) DeepCopyInto

func (in *InstanceTemplateStatus) DeepCopyInto(out *InstanceTemplateStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstancesInitParameters

type InstancesInitParameters struct {

	// The URL of the subnetwork where this rule should be active.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Instance
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	URL *string `json:"url,omitempty" tf:"url,omitempty"`

	// Reference to a Instance in compute to populate url.
	// +kubebuilder:validation:Optional
	URLRef *v1.Reference `json:"urlRef,omitempty" tf:"-"`

	// Selector for a Instance in compute to populate url.
	// +kubebuilder:validation:Optional
	URLSelector *v1.Selector `json:"urlSelector,omitempty" tf:"-"`
}

func (*InstancesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancesInitParameters.

func (*InstancesInitParameters) DeepCopyInto

func (in *InstancesInitParameters) DeepCopyInto(out *InstancesInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstancesObservation

type InstancesObservation struct {

	// The URL of the subnetwork where this rule should be active.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*InstancesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancesObservation.

func (*InstancesObservation) DeepCopyInto

func (in *InstancesObservation) DeepCopyInto(out *InstancesObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstancesParameters

type InstancesParameters struct {

	// The URL of the subnetwork where this rule should be active.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Instance
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	URL *string `json:"url,omitempty" tf:"url,omitempty"`

	// Reference to a Instance in compute to populate url.
	// +kubebuilder:validation:Optional
	URLRef *v1.Reference `json:"urlRef,omitempty" tf:"-"`

	// Selector for a Instance in compute to populate url.
	// +kubebuilder:validation:Optional
	URLSelector *v1.Selector `json:"urlSelector,omitempty" tf:"-"`
}

func (*InstancesParameters) DeepCopy

func (in *InstancesParameters) DeepCopy() *InstancesParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancesParameters.

func (*InstancesParameters) DeepCopyInto

func (in *InstancesParameters) DeepCopyInto(out *InstancesParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InternalIPIPAddressInitParameters

type InternalIPIPAddressInitParameters struct {

	// The URL of the reservation for this IP address.
	Address *string `json:"address,omitempty" tf:"address,omitempty"`
}

func (*InternalIPIPAddressInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalIPIPAddressInitParameters.

func (*InternalIPIPAddressInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InternalIPIPAddressObservation

type InternalIPIPAddressObservation struct {

	// The URL of the reservation for this IP address.
	Address *string `json:"address,omitempty" tf:"address,omitempty"`
}

func (*InternalIPIPAddressObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalIPIPAddressObservation.

func (*InternalIPIPAddressObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InternalIPIPAddressParameters

type InternalIPIPAddressParameters struct {

	// The URL of the reservation for this IP address.
	// +kubebuilder:validation:Optional
	Address *string `json:"address,omitempty" tf:"address,omitempty"`
}

func (*InternalIPIPAddressParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalIPIPAddressParameters.

func (*InternalIPIPAddressParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InternalIPInitParameters

type InternalIPInitParameters struct {

	// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	AutoDelete *string `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Ip address representation
	// Structure is documented below.
	IPAddress *InternalIPIPAddressInitParameters `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// The identifier for this object. Format specified above.
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*InternalIPInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalIPInitParameters.

func (*InternalIPInitParameters) DeepCopyInto

func (in *InternalIPInitParameters) DeepCopyInto(out *InternalIPInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InternalIPObservation

type InternalIPObservation struct {

	// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	AutoDelete *string `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Ip address representation
	// Structure is documented below.
	IPAddress *InternalIPIPAddressObservation `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// The identifier for this object. Format specified above.
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*InternalIPObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalIPObservation.

func (*InternalIPObservation) DeepCopyInto

func (in *InternalIPObservation) DeepCopyInto(out *InternalIPObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InternalIPParameters

type InternalIPParameters struct {

	// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	// +kubebuilder:validation:Optional
	AutoDelete *string `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Ip address representation
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	IPAddress *InternalIPIPAddressParameters `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// The identifier for this object. Format specified above.
	// +kubebuilder:validation:Optional
	InterfaceName *string `json:"interfaceName" tf:"interface_name,omitempty"`
}

func (*InternalIPParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalIPParameters.

func (*InternalIPParameters) DeepCopyInto

func (in *InternalIPParameters) DeepCopyInto(out *InternalIPParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IntervalInitParameters

type IntervalInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*IntervalInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntervalInitParameters.

func (*IntervalInitParameters) DeepCopyInto

func (in *IntervalInitParameters) DeepCopyInto(out *IntervalInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IntervalObservation

type IntervalObservation struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*IntervalObservation) DeepCopy

func (in *IntervalObservation) DeepCopy() *IntervalObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntervalObservation.

func (*IntervalObservation) DeepCopyInto

func (in *IntervalObservation) DeepCopyInto(out *IntervalObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IntervalParameters

type IntervalParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	// +kubebuilder:validation:Optional
	Seconds *float64 `json:"seconds" tf:"seconds,omitempty"`
}

func (*IntervalParameters) DeepCopy

func (in *IntervalParameters) DeepCopy() *IntervalParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntervalParameters.

func (*IntervalParameters) DeepCopyInto

func (in *IntervalParameters) DeepCopyInto(out *IntervalParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JSONCustomConfigInitParameters

type JSONCustomConfigInitParameters struct {

	// A list of custom Content-Type header values to apply the JSON parsing. The
	// format of the Content-Type header values is defined in
	// RFC 1341. When configuring a custom Content-Type header
	// value, only the type/subtype needs to be specified, and the parameters should be excluded.
	// +listType=set
	ContentTypes []*string `json:"contentTypes,omitempty" tf:"content_types,omitempty"`
}

func (*JSONCustomConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONCustomConfigInitParameters.

func (*JSONCustomConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JSONCustomConfigObservation

type JSONCustomConfigObservation struct {

	// A list of custom Content-Type header values to apply the JSON parsing. The
	// format of the Content-Type header values is defined in
	// RFC 1341. When configuring a custom Content-Type header
	// value, only the type/subtype needs to be specified, and the parameters should be excluded.
	// +listType=set
	ContentTypes []*string `json:"contentTypes,omitempty" tf:"content_types,omitempty"`
}

func (*JSONCustomConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONCustomConfigObservation.

func (*JSONCustomConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JSONCustomConfigParameters

type JSONCustomConfigParameters struct {

	// A list of custom Content-Type header values to apply the JSON parsing. The
	// format of the Content-Type header values is defined in
	// RFC 1341. When configuring a custom Content-Type header
	// value, only the type/subtype needs to be specified, and the parameters should be excluded.
	// +kubebuilder:validation:Optional
	// +listType=set
	ContentTypes []*string `json:"contentTypes" tf:"content_types,omitempty"`
}

func (*JSONCustomConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONCustomConfigParameters.

func (*JSONCustomConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Layer4ConfigsInitParameters

type Layer4ConfigsInitParameters struct {

	// 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,omitempty" tf:"ip_protocol,omitempty"`

	// An optional list of ports to which this rule applies. This field is only applicable for 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.
	Ports []*string `json:"ports,omitempty" tf:"ports,omitempty"`
}

func (*Layer4ConfigsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Layer4ConfigsInitParameters.

func (*Layer4ConfigsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Layer4ConfigsObservation

type Layer4ConfigsObservation struct {

	// 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,omitempty" tf:"ip_protocol,omitempty"`

	// An optional list of ports to which this rule applies. This field is only applicable for 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.
	Ports []*string `json:"ports,omitempty" tf:"ports,omitempty"`
}

func (*Layer4ConfigsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Layer4ConfigsObservation.

func (*Layer4ConfigsObservation) DeepCopyInto

func (in *Layer4ConfigsObservation) DeepCopyInto(out *Layer4ConfigsObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Layer4ConfigsParameters

type Layer4ConfigsParameters struct {

	// 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.
	// +kubebuilder:validation:Optional
	IPProtocol *string `json:"ipProtocol" tf:"ip_protocol,omitempty"`

	// An optional list of ports to which this rule applies. This field is only applicable for 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.
	// +kubebuilder:validation:Optional
	Ports []*string `json:"ports,omitempty" tf:"ports,omitempty"`
}

func (*Layer4ConfigsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Layer4ConfigsParameters.

func (*Layer4ConfigsParameters) DeepCopyInto

func (in *Layer4ConfigsParameters) DeepCopyInto(out *Layer4ConfigsParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Layer7DdosDefenseConfigInitParameters

type Layer7DdosDefenseConfigInitParameters struct {

	// If set to true, enables CAAP for L7 DDoS detection.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// Rule visibility can be one of the following:
	RuleVisibility *string `json:"ruleVisibility,omitempty" tf:"rule_visibility,omitempty"`
}

func (*Layer7DdosDefenseConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Layer7DdosDefenseConfigInitParameters.

func (*Layer7DdosDefenseConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Layer7DdosDefenseConfigObservation

type Layer7DdosDefenseConfigObservation struct {

	// If set to true, enables CAAP for L7 DDoS detection.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// Rule visibility can be one of the following:
	RuleVisibility *string `json:"ruleVisibility,omitempty" tf:"rule_visibility,omitempty"`
}

func (*Layer7DdosDefenseConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Layer7DdosDefenseConfigObservation.

func (*Layer7DdosDefenseConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Layer7DdosDefenseConfigParameters

type Layer7DdosDefenseConfigParameters struct {

	// If set to true, enables CAAP for L7 DDoS detection.
	// +kubebuilder:validation:Optional
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// Rule visibility can be one of the following:
	// +kubebuilder:validation:Optional
	RuleVisibility *string `json:"ruleVisibility,omitempty" tf:"rule_visibility,omitempty"`
}

func (*Layer7DdosDefenseConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Layer7DdosDefenseConfigParameters.

func (*Layer7DdosDefenseConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadBalancingUtilizationInitParameters

type LoadBalancingUtilizationInitParameters struct {

	// URL of the managed instance group that this autoscaler will scale.
	Target *float64 `json:"target,omitempty" tf:"target,omitempty"`
}

func (*LoadBalancingUtilizationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancingUtilizationInitParameters.

func (*LoadBalancingUtilizationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadBalancingUtilizationObservation

type LoadBalancingUtilizationObservation struct {

	// URL of the managed instance group that this autoscaler will scale.
	Target *float64 `json:"target,omitempty" tf:"target,omitempty"`
}

func (*LoadBalancingUtilizationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancingUtilizationObservation.

func (*LoadBalancingUtilizationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadBalancingUtilizationParameters

type LoadBalancingUtilizationParameters struct {

	// URL of the managed instance group that this autoscaler will scale.
	// +kubebuilder:validation:Optional
	Target *float64 `json:"target" tf:"target,omitempty"`
}

func (*LoadBalancingUtilizationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancingUtilizationParameters.

func (*LoadBalancingUtilizationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalSsdRecoveryTimeoutInitParameters

type LocalSsdRecoveryTimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented with a 0
	// seconds field and a positive nanos field. Must be from 0 to
	// 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to
	// 315,576,000,000 inclusive. Note: these bounds are computed from: 60
	// sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*LocalSsdRecoveryTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSsdRecoveryTimeoutInitParameters.

func (*LocalSsdRecoveryTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalSsdRecoveryTimeoutObservation

type LocalSsdRecoveryTimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented with a 0
	// seconds field and a positive nanos field. Must be from 0 to
	// 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to
	// 315,576,000,000 inclusive. Note: these bounds are computed from: 60
	// sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*LocalSsdRecoveryTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSsdRecoveryTimeoutObservation.

func (*LocalSsdRecoveryTimeoutObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalSsdRecoveryTimeoutParameters

type LocalSsdRecoveryTimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented with a 0
	// seconds field and a positive nanos field. Must be from 0 to
	// 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to
	// 315,576,000,000 inclusive. Note: these bounds are computed from: 60
	// sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
	// +kubebuilder:validation:Optional
	Seconds *float64 `json:"seconds" tf:"seconds,omitempty"`
}

func (*LocalSsdRecoveryTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSsdRecoveryTimeoutParameters.

func (*LocalSsdRecoveryTimeoutParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalSsdsInitParameters

type LocalSsdsInitParameters struct {

	// The size of the disk in base-2 GB.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The disk interface to use for attaching this disk.
	// Default value is SCSI.
	// Possible values are: SCSI, NVME.
	Interface *string `json:"interface,omitempty" tf:"interface,omitempty"`
}

func (*LocalSsdsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSsdsInitParameters.

func (*LocalSsdsInitParameters) DeepCopyInto

func (in *LocalSsdsInitParameters) DeepCopyInto(out *LocalSsdsInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalSsdsObservation

type LocalSsdsObservation struct {

	// The size of the disk in base-2 GB.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// The disk interface to use for attaching this disk.
	// Default value is SCSI.
	// Possible values are: SCSI, NVME.
	Interface *string `json:"interface,omitempty" tf:"interface,omitempty"`
}

func (*LocalSsdsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSsdsObservation.

func (*LocalSsdsObservation) DeepCopyInto

func (in *LocalSsdsObservation) DeepCopyInto(out *LocalSsdsObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalSsdsParameters

type LocalSsdsParameters struct {

	// The size of the disk in base-2 GB.
	// +kubebuilder:validation:Optional
	DiskSizeGb *float64 `json:"diskSizeGb" tf:"disk_size_gb,omitempty"`

	// The disk interface to use for attaching this disk.
	// Default value is SCSI.
	// Possible values are: SCSI, NVME.
	// +kubebuilder:validation:Optional
	Interface *string `json:"interface,omitempty" tf:"interface,omitempty"`
}

func (*LocalSsdsParameters) DeepCopy

func (in *LocalSsdsParameters) DeepCopy() *LocalSsdsParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSsdsParameters.

func (*LocalSsdsParameters) DeepCopyInto

func (in *LocalSsdsParameters) DeepCopyInto(out *LocalSsdsParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalityLBPoliciesInitParameters

type LocalityLBPoliciesInitParameters struct {

	// The configuration for a custom policy implemented by the user and
	// deployed with the client.
	// Structure is documented below.
	CustomPolicy *CustomPolicyInitParameters `json:"customPolicy,omitempty" tf:"custom_policy,omitempty"`

	// The configuration for a built-in load balancing policy.
	// Structure is documented below.
	Policy *PolicyInitParameters `json:"policy,omitempty" tf:"policy,omitempty"`
}

func (*LocalityLBPoliciesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalityLBPoliciesInitParameters.

func (*LocalityLBPoliciesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalityLBPoliciesObservation

type LocalityLBPoliciesObservation struct {

	// The configuration for a custom policy implemented by the user and
	// deployed with the client.
	// Structure is documented below.
	CustomPolicy *CustomPolicyObservation `json:"customPolicy,omitempty" tf:"custom_policy,omitempty"`

	// The configuration for a built-in load balancing policy.
	// Structure is documented below.
	Policy *PolicyObservation `json:"policy,omitempty" tf:"policy,omitempty"`
}

func (*LocalityLBPoliciesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalityLBPoliciesObservation.

func (*LocalityLBPoliciesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalityLBPoliciesParameters

type LocalityLBPoliciesParameters struct {

	// The configuration for a custom policy implemented by the user and
	// deployed with the client.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CustomPolicy *CustomPolicyParameters `json:"customPolicy,omitempty" tf:"custom_policy,omitempty"`

	// The configuration for a built-in load balancing policy.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Policy *PolicyParameters `json:"policy,omitempty" tf:"policy,omitempty"`
}

func (*LocalityLBPoliciesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalityLBPoliciesParameters.

func (*LocalityLBPoliciesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LogConfigInitParameters

type LogConfigInitParameters struct {

	// Whether to enable logging for the load balancer traffic served by this backend service.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// This field can only be specified if logging is enabled for this backend service. The value of
	// the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer
	// where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported.
	// The default value is 1.0.
	SampleRate *float64 `json:"sampleRate,omitempty" tf:"sample_rate,omitempty"`
}

func (*LogConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogConfigInitParameters.

func (*LogConfigInitParameters) DeepCopyInto

func (in *LogConfigInitParameters) DeepCopyInto(out *LogConfigInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LogConfigObservation

type LogConfigObservation struct {

	// Whether to enable logging for the load balancer traffic served by this backend service.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// This field can only be specified if logging is enabled for this backend service. The value of
	// the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer
	// where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported.
	// The default value is 1.0.
	SampleRate *float64 `json:"sampleRate,omitempty" tf:"sample_rate,omitempty"`
}

func (*LogConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogConfigObservation.

func (*LogConfigObservation) DeepCopyInto

func (in *LogConfigObservation) DeepCopyInto(out *LogConfigObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LogConfigParameters

type LogConfigParameters struct {

	// Whether to enable logging for the load balancer traffic served by this backend service.
	// +kubebuilder:validation:Optional
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// This field can only be specified if logging is enabled for this backend service. The value of
	// the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer
	// where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported.
	// The default value is 1.0.
	// +kubebuilder:validation:Optional
	SampleRate *float64 `json:"sampleRate,omitempty" tf:"sample_rate,omitempty"`
}

func (*LogConfigParameters) DeepCopy

func (in *LogConfigParameters) DeepCopy() *LogConfigParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogConfigParameters.

func (*LogConfigParameters) DeepCopyInto

func (in *LogConfigParameters) DeepCopyInto(out *LogConfigParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MaintenanceWindowInitParameters

type MaintenanceWindowInitParameters struct {

	// instances.start time of the window. This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid.
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`
}

func (*MaintenanceWindowInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindowInitParameters.

func (*MaintenanceWindowInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MaintenanceWindowObservation

type MaintenanceWindowObservation struct {

	// instances.start time of the window. This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid.
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`
}

func (*MaintenanceWindowObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindowObservation.

func (*MaintenanceWindowObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MaintenanceWindowParameters

type MaintenanceWindowParameters struct {

	// instances.start time of the window. This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid.
	// +kubebuilder:validation:Optional
	StartTime *string `json:"startTime" tf:"start_time,omitempty"`
}

func (*MaintenanceWindowParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindowParameters.

func (*MaintenanceWindowParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedInitParameters

type ManagedInitParameters struct {

	// Domains for which a managed SSL certificate will be valid.  Currently,
	// there can be up to 100 domains in this list.
	Domains []*string `json:"domains,omitempty" tf:"domains,omitempty"`
}

func (*ManagedInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedInitParameters.

func (*ManagedInitParameters) DeepCopyInto

func (in *ManagedInitParameters) DeepCopyInto(out *ManagedInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedObservation

type ManagedObservation struct {

	// Domains for which a managed SSL certificate will be valid.  Currently,
	// there can be up to 100 domains in this list.
	Domains []*string `json:"domains,omitempty" tf:"domains,omitempty"`
}

func (*ManagedObservation) DeepCopy

func (in *ManagedObservation) DeepCopy() *ManagedObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedObservation.

func (*ManagedObservation) DeepCopyInto

func (in *ManagedObservation) DeepCopyInto(out *ManagedObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedParameters

type ManagedParameters struct {

	// Domains for which a managed SSL certificate will be valid.  Currently,
	// there can be up to 100 domains in this list.
	// +kubebuilder:validation:Optional
	Domains []*string `json:"domains" tf:"domains,omitempty"`
}

func (*ManagedParameters) DeepCopy

func (in *ManagedParameters) DeepCopy() *ManagedParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedParameters.

func (*ManagedParameters) DeepCopyInto

func (in *ManagedParameters) DeepCopyInto(out *ManagedParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedSSLCertificate

type ManagedSSLCertificate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ManagedSSLCertificateSpec   `json:"spec"`
	Status            ManagedSSLCertificateStatus `json:"status,omitempty"`
}

ManagedSSLCertificate is the Schema for the ManagedSSLCertificates API. An SslCertificate resource, used for HTTPS load balancing. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*ManagedSSLCertificate) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSSLCertificate.

func (*ManagedSSLCertificate) DeepCopyInto

func (in *ManagedSSLCertificate) DeepCopyInto(out *ManagedSSLCertificate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagedSSLCertificate) DeepCopyObject

func (in *ManagedSSLCertificate) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ManagedSSLCertificate) GetCondition

func (mg *ManagedSSLCertificate) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this ManagedSSLCertificate.

func (*ManagedSSLCertificate) GetConnectionDetailsMapping

func (tr *ManagedSSLCertificate) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this ManagedSSLCertificate

func (*ManagedSSLCertificate) GetDeletionPolicy

func (mg *ManagedSSLCertificate) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this ManagedSSLCertificate.

func (*ManagedSSLCertificate) GetID

func (tr *ManagedSSLCertificate) GetID() string

GetID returns ID of underlying Terraform resource of this ManagedSSLCertificate

func (*ManagedSSLCertificate) GetInitParameters

func (tr *ManagedSSLCertificate) GetInitParameters() (map[string]any, error)

GetInitParameters of this ManagedSSLCertificate

func (*ManagedSSLCertificate) GetManagementPolicies

func (mg *ManagedSSLCertificate) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this ManagedSSLCertificate.

func (*ManagedSSLCertificate) GetMergedParameters

func (tr *ManagedSSLCertificate) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this ManagedSSLCertificate

func (*ManagedSSLCertificate) GetObservation

func (tr *ManagedSSLCertificate) GetObservation() (map[string]any, error)

GetObservation of this ManagedSSLCertificate

func (*ManagedSSLCertificate) GetParameters

func (tr *ManagedSSLCertificate) GetParameters() (map[string]any, error)

GetParameters of this ManagedSSLCertificate

func (*ManagedSSLCertificate) GetProviderConfigReference

func (mg *ManagedSSLCertificate) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this ManagedSSLCertificate.

func (*ManagedSSLCertificate) GetPublishConnectionDetailsTo

func (mg *ManagedSSLCertificate) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this ManagedSSLCertificate.

func (*ManagedSSLCertificate) GetTerraformResourceType

func (mg *ManagedSSLCertificate) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ManagedSSLCertificate

func (*ManagedSSLCertificate) GetTerraformSchemaVersion

func (tr *ManagedSSLCertificate) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ManagedSSLCertificate) GetWriteConnectionSecretToReference

func (mg *ManagedSSLCertificate) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this ManagedSSLCertificate.

func (*ManagedSSLCertificate) Hub

func (tr *ManagedSSLCertificate) Hub()

Hub marks this type as a conversion hub.

func (*ManagedSSLCertificate) LateInitialize

func (tr *ManagedSSLCertificate) LateInitialize(attrs []byte) (bool, error)

LateInitialize this ManagedSSLCertificate using its observed tfState. returns True if there are any spec changes for the resource.

func (*ManagedSSLCertificate) SetConditions

func (mg *ManagedSSLCertificate) SetConditions(c ...xpv1.Condition)

SetConditions of this ManagedSSLCertificate.

func (*ManagedSSLCertificate) SetDeletionPolicy

func (mg *ManagedSSLCertificate) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this ManagedSSLCertificate.

func (*ManagedSSLCertificate) SetManagementPolicies

func (mg *ManagedSSLCertificate) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this ManagedSSLCertificate.

func (*ManagedSSLCertificate) SetObservation

func (tr *ManagedSSLCertificate) SetObservation(obs map[string]any) error

SetObservation for this ManagedSSLCertificate

func (*ManagedSSLCertificate) SetParameters

func (tr *ManagedSSLCertificate) SetParameters(params map[string]any) error

SetParameters for this ManagedSSLCertificate

func (*ManagedSSLCertificate) SetProviderConfigReference

func (mg *ManagedSSLCertificate) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this ManagedSSLCertificate.

func (*ManagedSSLCertificate) SetPublishConnectionDetailsTo

func (mg *ManagedSSLCertificate) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this ManagedSSLCertificate.

func (*ManagedSSLCertificate) SetWriteConnectionSecretToReference

func (mg *ManagedSSLCertificate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this ManagedSSLCertificate.

type ManagedSSLCertificateInitParameters

type ManagedSSLCertificateInitParameters struct {

	// The unique identifier for the resource.
	CertificateID *float64 `json:"certificateId,omitempty" tf:"certificate_id,omitempty"`

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Properties relevant to a managed certificate.  These will be used if the
	// certificate is managed (as indicated by a value of MANAGED in type).
	// Structure is documented below.
	Managed *ManagedInitParameters `json:"managed,omitempty" tf:"managed,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Enum field whose value is always MANAGED - used to signal to the API
	// which type this is.
	// Default value is MANAGED.
	// Possible values are: MANAGED.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ManagedSSLCertificateInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSSLCertificateInitParameters.

func (*ManagedSSLCertificateInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedSSLCertificateList

type ManagedSSLCertificateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ManagedSSLCertificate `json:"items"`
}

ManagedSSLCertificateList contains a list of ManagedSSLCertificates

func (*ManagedSSLCertificateList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSSLCertificateList.

func (*ManagedSSLCertificateList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagedSSLCertificateList) DeepCopyObject

func (in *ManagedSSLCertificateList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ManagedSSLCertificateList) GetItems

func (l *ManagedSSLCertificateList) GetItems() []resource.Managed

GetItems of this ManagedSSLCertificateList.

type ManagedSSLCertificateObservation

type ManagedSSLCertificateObservation struct {

	// The unique identifier for the resource.
	CertificateID *float64 `json:"certificateId,omitempty" tf:"certificate_id,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Expire time of the certificate in RFC3339 text format.
	ExpireTime *string `json:"expireTime,omitempty" tf:"expire_time,omitempty"`

	// an identifier for the resource with format projects/{{project}}/global/sslCertificates/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Properties relevant to a managed certificate.  These will be used if the
	// certificate is managed (as indicated by a value of MANAGED in type).
	// Structure is documented below.
	Managed *ManagedObservation `json:"managed,omitempty" tf:"managed,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// Domains associated with the certificate via Subject Alternative Name.
	SubjectAlternativeNames []*string `json:"subjectAlternativeNames,omitempty" tf:"subject_alternative_names,omitempty"`

	// Enum field whose value is always MANAGED - used to signal to the API
	// which type this is.
	// Default value is MANAGED.
	// Possible values are: MANAGED.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ManagedSSLCertificateObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSSLCertificateObservation.

func (*ManagedSSLCertificateObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedSSLCertificateParameters

type ManagedSSLCertificateParameters struct {

	// The unique identifier for the resource.
	// +kubebuilder:validation:Optional
	CertificateID *float64 `json:"certificateId,omitempty" tf:"certificate_id,omitempty"`

	// An optional description of this resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Properties relevant to a managed certificate.  These will be used if the
	// certificate is managed (as indicated by a value of MANAGED in type).
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Managed *ManagedParameters `json:"managed,omitempty" tf:"managed,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Enum field whose value is always MANAGED - used to signal to the API
	// which type this is.
	// Default value is MANAGED.
	// Possible values are: MANAGED.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ManagedSSLCertificateParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSSLCertificateParameters.

func (*ManagedSSLCertificateParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedSSLCertificateSpec

type ManagedSSLCertificateSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ManagedSSLCertificateParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ManagedSSLCertificateInitParameters `json:"initProvider,omitempty"`
}

ManagedSSLCertificateSpec defines the desired state of ManagedSSLCertificate

func (*ManagedSSLCertificateSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSSLCertificateSpec.

func (*ManagedSSLCertificateSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedSSLCertificateStatus

type ManagedSSLCertificateStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ManagedSSLCertificateObservation `json:"atProvider,omitempty"`
}

ManagedSSLCertificateStatus defines the observed state of ManagedSSLCertificate.

func (*ManagedSSLCertificateStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSSLCertificateStatus.

func (*ManagedSSLCertificateStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchInitParameters

type MatchInitParameters struct {

	// Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10. Destination address groups is only supported in Egress rules.
	DestAddressGroups []*string `json:"destAddressGroups,omitempty" tf:"dest_address_groups,omitempty"`

	// Domain names that will be used to match against the resolved domain name of destination of traffic. Can only be specified if DIRECTION is egress.
	DestFqdns []*string `json:"destFqdns,omitempty" tf:"dest_fqdns,omitempty"`

	// CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 256.
	DestIPRanges []*string `json:"destIpRanges,omitempty" tf:"dest_ip_ranges,omitempty"`

	// The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is egress.
	DestRegionCodes []*string `json:"destRegionCodes,omitempty" tf:"dest_region_codes,omitempty"`

	// Name of the Google Cloud Threat Intelligence list.
	DestThreatIntelligences []*string `json:"destThreatIntelligences,omitempty" tf:"dest_threat_intelligences,omitempty"`

	// Pairs of IP protocols and ports that the rule should match.
	Layer4Configs []Layer4ConfigsInitParameters `json:"layer4Configs,omitempty" tf:"layer4_configs,omitempty"`

	// Address groups which should be matched against the traffic source. Maximum number of source address groups is 10. Source address groups is only supported in Ingress rules.
	SrcAddressGroups []*string `json:"srcAddressGroups,omitempty" tf:"src_address_groups,omitempty"`

	// Domain names that will be used to match against the resolved domain name of source of traffic. Can only be specified if DIRECTION is ingress.
	SrcFqdns []*string `json:"srcFqdns,omitempty" tf:"src_fqdns,omitempty"`

	// CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 256.
	SrcIPRanges []*string `json:"srcIpRanges,omitempty" tf:"src_ip_ranges,omitempty"`

	// The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is ingress.
	SrcRegionCodes []*string `json:"srcRegionCodes,omitempty" tf:"src_region_codes,omitempty"`

	// Name of the Google Cloud Threat Intelligence list.
	SrcThreatIntelligences []*string `json:"srcThreatIntelligences,omitempty" tf:"src_threat_intelligences,omitempty"`
}

func (*MatchInitParameters) DeepCopy

func (in *MatchInitParameters) DeepCopy() *MatchInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchInitParameters.

func (*MatchInitParameters) DeepCopyInto

func (in *MatchInitParameters) DeepCopyInto(out *MatchInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchObservation

type MatchObservation struct {

	// Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10. Destination address groups is only supported in Egress rules.
	DestAddressGroups []*string `json:"destAddressGroups,omitempty" tf:"dest_address_groups,omitempty"`

	// Domain names that will be used to match against the resolved domain name of destination of traffic. Can only be specified if DIRECTION is egress.
	DestFqdns []*string `json:"destFqdns,omitempty" tf:"dest_fqdns,omitempty"`

	// CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 256.
	DestIPRanges []*string `json:"destIpRanges,omitempty" tf:"dest_ip_ranges,omitempty"`

	// The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is egress.
	DestRegionCodes []*string `json:"destRegionCodes,omitempty" tf:"dest_region_codes,omitempty"`

	// Name of the Google Cloud Threat Intelligence list.
	DestThreatIntelligences []*string `json:"destThreatIntelligences,omitempty" tf:"dest_threat_intelligences,omitempty"`

	// Pairs of IP protocols and ports that the rule should match.
	Layer4Configs []Layer4ConfigsObservation `json:"layer4Configs,omitempty" tf:"layer4_configs,omitempty"`

	// Address groups which should be matched against the traffic source. Maximum number of source address groups is 10. Source address groups is only supported in Ingress rules.
	SrcAddressGroups []*string `json:"srcAddressGroups,omitempty" tf:"src_address_groups,omitempty"`

	// Domain names that will be used to match against the resolved domain name of source of traffic. Can only be specified if DIRECTION is ingress.
	SrcFqdns []*string `json:"srcFqdns,omitempty" tf:"src_fqdns,omitempty"`

	// CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 256.
	SrcIPRanges []*string `json:"srcIpRanges,omitempty" tf:"src_ip_ranges,omitempty"`

	// The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is ingress.
	SrcRegionCodes []*string `json:"srcRegionCodes,omitempty" tf:"src_region_codes,omitempty"`

	// Name of the Google Cloud Threat Intelligence list.
	SrcThreatIntelligences []*string `json:"srcThreatIntelligences,omitempty" tf:"src_threat_intelligences,omitempty"`
}

func (*MatchObservation) DeepCopy

func (in *MatchObservation) DeepCopy() *MatchObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchObservation.

func (*MatchObservation) DeepCopyInto

func (in *MatchObservation) DeepCopyInto(out *MatchObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchParameters

type MatchParameters struct {

	// Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10. Destination address groups is only supported in Egress rules.
	// +kubebuilder:validation:Optional
	DestAddressGroups []*string `json:"destAddressGroups,omitempty" tf:"dest_address_groups,omitempty"`

	// Domain names that will be used to match against the resolved domain name of destination of traffic. Can only be specified if DIRECTION is egress.
	// +kubebuilder:validation:Optional
	DestFqdns []*string `json:"destFqdns,omitempty" tf:"dest_fqdns,omitempty"`

	// CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 256.
	// +kubebuilder:validation:Optional
	DestIPRanges []*string `json:"destIpRanges,omitempty" tf:"dest_ip_ranges,omitempty"`

	// The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is egress.
	// +kubebuilder:validation:Optional
	DestRegionCodes []*string `json:"destRegionCodes,omitempty" tf:"dest_region_codes,omitempty"`

	// Name of the Google Cloud Threat Intelligence list.
	// +kubebuilder:validation:Optional
	DestThreatIntelligences []*string `json:"destThreatIntelligences,omitempty" tf:"dest_threat_intelligences,omitempty"`

	// Pairs of IP protocols and ports that the rule should match.
	// +kubebuilder:validation:Optional
	Layer4Configs []Layer4ConfigsParameters `json:"layer4Configs" tf:"layer4_configs,omitempty"`

	// Address groups which should be matched against the traffic source. Maximum number of source address groups is 10. Source address groups is only supported in Ingress rules.
	// +kubebuilder:validation:Optional
	SrcAddressGroups []*string `json:"srcAddressGroups,omitempty" tf:"src_address_groups,omitempty"`

	// Domain names that will be used to match against the resolved domain name of source of traffic. Can only be specified if DIRECTION is ingress.
	// +kubebuilder:validation:Optional
	SrcFqdns []*string `json:"srcFqdns,omitempty" tf:"src_fqdns,omitempty"`

	// CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 256.
	// +kubebuilder:validation:Optional
	SrcIPRanges []*string `json:"srcIpRanges,omitempty" tf:"src_ip_ranges,omitempty"`

	// The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is ingress.
	// +kubebuilder:validation:Optional
	SrcRegionCodes []*string `json:"srcRegionCodes,omitempty" tf:"src_region_codes,omitempty"`

	// Name of the Google Cloud Threat Intelligence list.
	// +kubebuilder:validation:Optional
	SrcThreatIntelligences []*string `json:"srcThreatIntelligences,omitempty" tf:"src_threat_intelligences,omitempty"`
}

func (*MatchParameters) DeepCopy

func (in *MatchParameters) DeepCopy() *MatchParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchParameters.

func (*MatchParameters) DeepCopyInto

func (in *MatchParameters) DeepCopyInto(out *MatchParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchRulesHeaderMatchesInitParameters

type MatchRulesHeaderMatchesInitParameters struct {

	// The queryParameterMatch matches if the value of the parameter exactly matches
	// the contents of exactMatch. Only one of presentMatch, exactMatch and regexMatch
	// must be set.
	ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"`

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// If set to false, the headerMatch is considered a match if the match criteria
	// above are met. If set to true, the headerMatch is considered a match if the
	// match criteria above are NOT met. Defaults to false.
	InvertMatch *bool `json:"invertMatch,omitempty" tf:"invert_match,omitempty"`

	// For satisfying the matchRule condition, the request's path must begin with the
	// specified prefixMatch. prefixMatch must begin with a /. The value must be
	// between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
	// regexMatch must be specified.
	PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"`

	// Specifies that the queryParameterMatch matches if the request contains the query
	// parameter, irrespective of whether the parameter has a value or not. Only one of
	// presentMatch, exactMatch and regexMatch must be set.
	PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"`

	// The header value must be an integer and its value must be in the range specified
	// in rangeMatch. If the header does not contain an integer, number or is empty,
	// the match fails. For example for a range [-5, 0]   - -3 will match.  - 0 will
	// not match.  - 0.25 will not match.  - -3someString will not match.   Only one of
	// exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
	// must be set.
	// Structure is documented below.
	RangeMatch *HeaderMatchesRangeMatchInitParameters `json:"rangeMatch,omitempty" tf:"range_match,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`

	// The value of the header must end with the contents of suffixMatch. Only one of
	// exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
	// must be set.
	SuffixMatch *string `json:"suffixMatch,omitempty" tf:"suffix_match,omitempty"`
}

func (*MatchRulesHeaderMatchesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesHeaderMatchesInitParameters.

func (*MatchRulesHeaderMatchesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchRulesHeaderMatchesObservation

type MatchRulesHeaderMatchesObservation struct {

	// The queryParameterMatch matches if the value of the parameter exactly matches
	// the contents of exactMatch. Only one of presentMatch, exactMatch and regexMatch
	// must be set.
	ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"`

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// If set to false, the headerMatch is considered a match if the match criteria
	// above are met. If set to true, the headerMatch is considered a match if the
	// match criteria above are NOT met. Defaults to false.
	InvertMatch *bool `json:"invertMatch,omitempty" tf:"invert_match,omitempty"`

	// For satisfying the matchRule condition, the request's path must begin with the
	// specified prefixMatch. prefixMatch must begin with a /. The value must be
	// between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
	// regexMatch must be specified.
	PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"`

	// Specifies that the queryParameterMatch matches if the request contains the query
	// parameter, irrespective of whether the parameter has a value or not. Only one of
	// presentMatch, exactMatch and regexMatch must be set.
	PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"`

	// The header value must be an integer and its value must be in the range specified
	// in rangeMatch. If the header does not contain an integer, number or is empty,
	// the match fails. For example for a range [-5, 0]   - -3 will match.  - 0 will
	// not match.  - 0.25 will not match.  - -3someString will not match.   Only one of
	// exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
	// must be set.
	// Structure is documented below.
	RangeMatch *HeaderMatchesRangeMatchObservation `json:"rangeMatch,omitempty" tf:"range_match,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`

	// The value of the header must end with the contents of suffixMatch. Only one of
	// exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
	// must be set.
	SuffixMatch *string `json:"suffixMatch,omitempty" tf:"suffix_match,omitempty"`
}

func (*MatchRulesHeaderMatchesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesHeaderMatchesObservation.

func (*MatchRulesHeaderMatchesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchRulesHeaderMatchesParameters

type MatchRulesHeaderMatchesParameters struct {

	// The queryParameterMatch matches if the value of the parameter exactly matches
	// the contents of exactMatch. Only one of presentMatch, exactMatch and regexMatch
	// must be set.
	// +kubebuilder:validation:Optional
	ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"`

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// If set to false, the headerMatch is considered a match if the match criteria
	// above are met. If set to true, the headerMatch is considered a match if the
	// match criteria above are NOT met. Defaults to false.
	// +kubebuilder:validation:Optional
	InvertMatch *bool `json:"invertMatch,omitempty" tf:"invert_match,omitempty"`

	// For satisfying the matchRule condition, the request's path must begin with the
	// specified prefixMatch. prefixMatch must begin with a /. The value must be
	// between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
	// regexMatch must be specified.
	// +kubebuilder:validation:Optional
	PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"`

	// Specifies that the queryParameterMatch matches if the request contains the query
	// parameter, irrespective of whether the parameter has a value or not. Only one of
	// presentMatch, exactMatch and regexMatch must be set.
	// +kubebuilder:validation:Optional
	PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"`

	// The header value must be an integer and its value must be in the range specified
	// in rangeMatch. If the header does not contain an integer, number or is empty,
	// the match fails. For example for a range [-5, 0]   - -3 will match.  - 0 will
	// not match.  - 0.25 will not match.  - -3someString will not match.   Only one of
	// exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
	// must be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RangeMatch *HeaderMatchesRangeMatchParameters `json:"rangeMatch,omitempty" tf:"range_match,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	// +kubebuilder:validation:Optional
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`

	// The value of the header must end with the contents of suffixMatch. Only one of
	// exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
	// must be set.
	// +kubebuilder:validation:Optional
	SuffixMatch *string `json:"suffixMatch,omitempty" tf:"suffix_match,omitempty"`
}

func (*MatchRulesHeaderMatchesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesHeaderMatchesParameters.

func (*MatchRulesHeaderMatchesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchRulesInitParameters

type MatchRulesInitParameters struct {

	// For satisfying the matchRule condition, the path of the request must exactly
	// match the value specified in fullPathMatch after removing any query parameters
	// and anchor that may be part of the original URL. FullPathMatch must be between 1
	// and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
	// be specified.
	FullPathMatch *string `json:"fullPathMatch,omitempty" tf:"full_path_match,omitempty"`

	// Specifies a list of header match criteria, all of which must match corresponding
	// headers in the request.
	// Structure is documented below.
	HeaderMatches []HeaderMatchesInitParameters `json:"headerMatches,omitempty" tf:"header_matches,omitempty"`

	// Specifies that prefixMatch and fullPathMatch matches are case sensitive.
	// Defaults to false.
	IgnoreCase *bool `json:"ignoreCase,omitempty" tf:"ignore_case,omitempty"`

	// Opaque filter criteria used by Loadbalancer to restrict routing configuration to
	// a limited set xDS compliant clients. In their xDS requests to Loadbalancer, xDS
	// clients present node metadata. If a match takes place, the relevant routing
	// configuration is made available to those proxies. For each metadataFilter in
	// this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the
	// filterLabels must match the corresponding label provided in the metadata. If its
	// filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match
	// with corresponding labels in the provided metadata. metadataFilters specified
	// here can be overrides those specified in ForwardingRule that refers to this
	// UrlMap. metadataFilters only applies to Loadbalancers that have their
	// loadBalancingScheme set to INTERNAL_SELF_MANAGED.
	// Structure is documented below.
	MetadataFilters []MatchRulesMetadataFiltersInitParameters `json:"metadataFilters,omitempty" tf:"metadata_filters,omitempty"`

	// For satisfying the matchRule condition, the request's path must begin with the
	// specified prefixMatch. prefixMatch must begin with a /. The value must be
	// between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
	// regexMatch must be specified.
	PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"`

	// Specifies a list of query parameter match criteria, all of which must match
	// corresponding query parameters in the request.
	// Structure is documented below.
	QueryParameterMatches []QueryParameterMatchesInitParameters `json:"queryParameterMatches,omitempty" tf:"query_parameter_matches,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`
}

func (*MatchRulesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesInitParameters.

func (*MatchRulesInitParameters) DeepCopyInto

func (in *MatchRulesInitParameters) DeepCopyInto(out *MatchRulesInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchRulesMetadataFiltersFilterLabelsInitParameters

type MatchRulesMetadataFiltersFilterLabelsInitParameters struct {

	// The name of the query parameter to match. The query parameter must exist in the
	// request, in the absence of which the request match fails.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The value of the label must match the specified value. value can have a maximum
	// length of 1024 characters.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*MatchRulesMetadataFiltersFilterLabelsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesMetadataFiltersFilterLabelsInitParameters.

func (*MatchRulesMetadataFiltersFilterLabelsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchRulesMetadataFiltersFilterLabelsObservation

type MatchRulesMetadataFiltersFilterLabelsObservation struct {

	// The name of the query parameter to match. The query parameter must exist in the
	// request, in the absence of which the request match fails.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The value of the label must match the specified value. value can have a maximum
	// length of 1024 characters.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*MatchRulesMetadataFiltersFilterLabelsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesMetadataFiltersFilterLabelsObservation.

func (*MatchRulesMetadataFiltersFilterLabelsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchRulesMetadataFiltersFilterLabelsParameters

type MatchRulesMetadataFiltersFilterLabelsParameters struct {

	// The name of the query parameter to match. The query parameter must exist in the
	// request, in the absence of which the request match fails.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The value of the label must match the specified value. value can have a maximum
	// length of 1024 characters.
	// +kubebuilder:validation:Optional
	Value *string `json:"value" tf:"value,omitempty"`
}

func (*MatchRulesMetadataFiltersFilterLabelsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesMetadataFiltersFilterLabelsParameters.

func (*MatchRulesMetadataFiltersFilterLabelsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchRulesMetadataFiltersInitParameters

type MatchRulesMetadataFiltersInitParameters struct {

	// The list of label value pairs that must match labels in the provided metadata
	// based on filterMatchCriteria  This list must not be empty and can have at the
	// most 64 entries.
	// Structure is documented below.
	FilterLabels []MetadataFiltersFilterLabelsInitParameters `json:"filterLabels,omitempty" tf:"filter_labels,omitempty"`

	// Specifies how individual filterLabel matches within the list of filterLabels
	// contribute towards the overall metadataFilter match. Supported values are:
	FilterMatchCriteria *string `json:"filterMatchCriteria,omitempty" tf:"filter_match_criteria,omitempty"`
}

func (*MatchRulesMetadataFiltersInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesMetadataFiltersInitParameters.

func (*MatchRulesMetadataFiltersInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchRulesMetadataFiltersObservation

type MatchRulesMetadataFiltersObservation struct {

	// The list of label value pairs that must match labels in the provided metadata
	// based on filterMatchCriteria  This list must not be empty and can have at the
	// most 64 entries.
	// Structure is documented below.
	FilterLabels []MetadataFiltersFilterLabelsObservation `json:"filterLabels,omitempty" tf:"filter_labels,omitempty"`

	// Specifies how individual filterLabel matches within the list of filterLabels
	// contribute towards the overall metadataFilter match. Supported values are:
	FilterMatchCriteria *string `json:"filterMatchCriteria,omitempty" tf:"filter_match_criteria,omitempty"`
}

func (*MatchRulesMetadataFiltersObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesMetadataFiltersObservation.

func (*MatchRulesMetadataFiltersObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchRulesMetadataFiltersParameters

type MatchRulesMetadataFiltersParameters struct {

	// The list of label value pairs that must match labels in the provided metadata
	// based on filterMatchCriteria  This list must not be empty and can have at the
	// most 64 entries.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FilterLabels []MetadataFiltersFilterLabelsParameters `json:"filterLabels" tf:"filter_labels,omitempty"`

	// Specifies how individual filterLabel matches within the list of filterLabels
	// contribute towards the overall metadataFilter match. Supported values are:
	// +kubebuilder:validation:Optional
	FilterMatchCriteria *string `json:"filterMatchCriteria" tf:"filter_match_criteria,omitempty"`
}

func (*MatchRulesMetadataFiltersParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesMetadataFiltersParameters.

func (*MatchRulesMetadataFiltersParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchRulesObservation

type MatchRulesObservation struct {

	// For satisfying the matchRule condition, the path of the request must exactly
	// match the value specified in fullPathMatch after removing any query parameters
	// and anchor that may be part of the original URL. FullPathMatch must be between 1
	// and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
	// be specified.
	FullPathMatch *string `json:"fullPathMatch,omitempty" tf:"full_path_match,omitempty"`

	// Specifies a list of header match criteria, all of which must match corresponding
	// headers in the request.
	// Structure is documented below.
	HeaderMatches []HeaderMatchesObservation `json:"headerMatches,omitempty" tf:"header_matches,omitempty"`

	// Specifies that prefixMatch and fullPathMatch matches are case sensitive.
	// Defaults to false.
	IgnoreCase *bool `json:"ignoreCase,omitempty" tf:"ignore_case,omitempty"`

	// Opaque filter criteria used by Loadbalancer to restrict routing configuration to
	// a limited set xDS compliant clients. In their xDS requests to Loadbalancer, xDS
	// clients present node metadata. If a match takes place, the relevant routing
	// configuration is made available to those proxies. For each metadataFilter in
	// this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the
	// filterLabels must match the corresponding label provided in the metadata. If its
	// filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match
	// with corresponding labels in the provided metadata. metadataFilters specified
	// here can be overrides those specified in ForwardingRule that refers to this
	// UrlMap. metadataFilters only applies to Loadbalancers that have their
	// loadBalancingScheme set to INTERNAL_SELF_MANAGED.
	// Structure is documented below.
	MetadataFilters []MatchRulesMetadataFiltersObservation `json:"metadataFilters,omitempty" tf:"metadata_filters,omitempty"`

	// For satisfying the matchRule condition, the request's path must begin with the
	// specified prefixMatch. prefixMatch must begin with a /. The value must be
	// between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
	// regexMatch must be specified.
	PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"`

	// Specifies a list of query parameter match criteria, all of which must match
	// corresponding query parameters in the request.
	// Structure is documented below.
	QueryParameterMatches []QueryParameterMatchesObservation `json:"queryParameterMatches,omitempty" tf:"query_parameter_matches,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`
}

func (*MatchRulesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesObservation.

func (*MatchRulesObservation) DeepCopyInto

func (in *MatchRulesObservation) DeepCopyInto(out *MatchRulesObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchRulesParameters

type MatchRulesParameters struct {

	// For satisfying the matchRule condition, the path of the request must exactly
	// match the value specified in fullPathMatch after removing any query parameters
	// and anchor that may be part of the original URL. FullPathMatch must be between 1
	// and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
	// be specified.
	// +kubebuilder:validation:Optional
	FullPathMatch *string `json:"fullPathMatch,omitempty" tf:"full_path_match,omitempty"`

	// Specifies a list of header match criteria, all of which must match corresponding
	// headers in the request.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HeaderMatches []HeaderMatchesParameters `json:"headerMatches,omitempty" tf:"header_matches,omitempty"`

	// Specifies that prefixMatch and fullPathMatch matches are case sensitive.
	// Defaults to false.
	// +kubebuilder:validation:Optional
	IgnoreCase *bool `json:"ignoreCase,omitempty" tf:"ignore_case,omitempty"`

	// Opaque filter criteria used by Loadbalancer to restrict routing configuration to
	// a limited set xDS compliant clients. In their xDS requests to Loadbalancer, xDS
	// clients present node metadata. If a match takes place, the relevant routing
	// configuration is made available to those proxies. For each metadataFilter in
	// this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the
	// filterLabels must match the corresponding label provided in the metadata. If its
	// filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match
	// with corresponding labels in the provided metadata. metadataFilters specified
	// here can be overrides those specified in ForwardingRule that refers to this
	// UrlMap. metadataFilters only applies to Loadbalancers that have their
	// loadBalancingScheme set to INTERNAL_SELF_MANAGED.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	MetadataFilters []MatchRulesMetadataFiltersParameters `json:"metadataFilters,omitempty" tf:"metadata_filters,omitempty"`

	// For satisfying the matchRule condition, the request's path must begin with the
	// specified prefixMatch. prefixMatch must begin with a /. The value must be
	// between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
	// regexMatch must be specified.
	// +kubebuilder:validation:Optional
	PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"`

	// Specifies a list of query parameter match criteria, all of which must match
	// corresponding query parameters in the request.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	QueryParameterMatches []QueryParameterMatchesParameters `json:"queryParameterMatches,omitempty" tf:"query_parameter_matches,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	// +kubebuilder:validation:Optional
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`
}

func (*MatchRulesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesParameters.

func (*MatchRulesParameters) DeepCopyInto

func (in *MatchRulesParameters) DeepCopyInto(out *MatchRulesParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchRulesQueryParameterMatchesInitParameters

type MatchRulesQueryParameterMatchesInitParameters struct {

	// The queryParameterMatch matches if the value of the parameter exactly matches
	// the contents of exactMatch. Only one of presentMatch, exactMatch and regexMatch
	// must be set.
	ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"`

	// The name of the query parameter to match. The query parameter must exist in the
	// request, in the absence of which the request match fails.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies that the queryParameterMatch matches if the request contains the query
	// parameter, irrespective of whether the parameter has a value or not. Only one of
	// presentMatch, exactMatch and regexMatch must be set.
	PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`
}

func (*MatchRulesQueryParameterMatchesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesQueryParameterMatchesInitParameters.

func (*MatchRulesQueryParameterMatchesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchRulesQueryParameterMatchesObservation

type MatchRulesQueryParameterMatchesObservation struct {

	// The queryParameterMatch matches if the value of the parameter exactly matches
	// the contents of exactMatch. Only one of presentMatch, exactMatch and regexMatch
	// must be set.
	ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"`

	// The name of the query parameter to match. The query parameter must exist in the
	// request, in the absence of which the request match fails.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies that the queryParameterMatch matches if the request contains the query
	// parameter, irrespective of whether the parameter has a value or not. Only one of
	// presentMatch, exactMatch and regexMatch must be set.
	PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`
}

func (*MatchRulesQueryParameterMatchesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesQueryParameterMatchesObservation.

func (*MatchRulesQueryParameterMatchesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatchRulesQueryParameterMatchesParameters

type MatchRulesQueryParameterMatchesParameters struct {

	// The queryParameterMatch matches if the value of the parameter exactly matches
	// the contents of exactMatch. Only one of presentMatch, exactMatch and regexMatch
	// must be set.
	// +kubebuilder:validation:Optional
	ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"`

	// The name of the query parameter to match. The query parameter must exist in the
	// request, in the absence of which the request match fails.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// Specifies that the queryParameterMatch matches if the request contains the query
	// parameter, irrespective of whether the parameter has a value or not. Only one of
	// presentMatch, exactMatch and regexMatch must be set.
	// +kubebuilder:validation:Optional
	PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	// +kubebuilder:validation:Optional
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`
}

func (*MatchRulesQueryParameterMatchesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesQueryParameterMatchesParameters.

func (*MatchRulesQueryParameterMatchesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MaxScaledInReplicasInitParameters

type MaxScaledInReplicasInitParameters struct {

	// Specifies a fixed number of VM instances. This must be a positive
	// integer.
	Fixed *float64 `json:"fixed,omitempty" tf:"fixed,omitempty"`

	// Specifies a percentage of instances between 0 to 100%, inclusive.
	// For example, specify 80 for 80%.
	Percent *float64 `json:"percent,omitempty" tf:"percent,omitempty"`
}

func (*MaxScaledInReplicasInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaxScaledInReplicasInitParameters.

func (*MaxScaledInReplicasInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MaxScaledInReplicasObservation

type MaxScaledInReplicasObservation struct {

	// Specifies a fixed number of VM instances. This must be a positive
	// integer.
	Fixed *float64 `json:"fixed,omitempty" tf:"fixed,omitempty"`

	// Specifies a percentage of instances between 0 to 100%, inclusive.
	// For example, specify 80 for 80%.
	Percent *float64 `json:"percent,omitempty" tf:"percent,omitempty"`
}

func (*MaxScaledInReplicasObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaxScaledInReplicasObservation.

func (*MaxScaledInReplicasObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MaxScaledInReplicasParameters

type MaxScaledInReplicasParameters struct {

	// Specifies a fixed number of VM instances. This must be a positive
	// integer.
	// +kubebuilder:validation:Optional
	Fixed *float64 `json:"fixed,omitempty" tf:"fixed,omitempty"`

	// Specifies a percentage of instances between 0 to 100%, inclusive.
	// For example, specify 80 for 80%.
	// +kubebuilder:validation:Optional
	Percent *float64 `json:"percent,omitempty" tf:"percent,omitempty"`
}

func (*MaxScaledInReplicasParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaxScaledInReplicasParameters.

func (*MaxScaledInReplicasParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Md5AuthenticationKeyInitParameters

type Md5AuthenticationKeyInitParameters struct {

	// 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,omitempty" tf:"name,omitempty"`
}

func (*Md5AuthenticationKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Md5AuthenticationKeyInitParameters.

func (*Md5AuthenticationKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Md5AuthenticationKeyObservation

type Md5AuthenticationKeyObservation struct {

	// 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,omitempty" tf:"name,omitempty"`
}

func (*Md5AuthenticationKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Md5AuthenticationKeyObservation.

func (*Md5AuthenticationKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Md5AuthenticationKeyParameters

type Md5AuthenticationKeyParameters struct {

	// +kubebuilder:validation:Required
	KeySecretRef v1.SecretKeySelector `json:"keySecretRef" tf:"-"`

	// 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.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`
}

func (*Md5AuthenticationKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Md5AuthenticationKeyParameters.

func (*Md5AuthenticationKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataFiltersFilterLabelsInitParameters

type MetadataFiltersFilterLabelsInitParameters struct {

	// The name of the query parameter to match. The query parameter must exist in the
	// request, in the absence of which the request match fails.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The value of the label must match the specified value. value can have a maximum
	// length of 1024 characters.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*MetadataFiltersFilterLabelsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataFiltersFilterLabelsInitParameters.

func (*MetadataFiltersFilterLabelsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataFiltersFilterLabelsObservation

type MetadataFiltersFilterLabelsObservation struct {

	// The name of the query parameter to match. The query parameter must exist in the
	// request, in the absence of which the request match fails.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The value of the label must match the specified value. value can have a maximum
	// length of 1024 characters.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*MetadataFiltersFilterLabelsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataFiltersFilterLabelsObservation.

func (*MetadataFiltersFilterLabelsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataFiltersFilterLabelsParameters

type MetadataFiltersFilterLabelsParameters struct {

	// The name of the query parameter to match. The query parameter must exist in the
	// request, in the absence of which the request match fails.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The value of the label must match the specified value. value can have a maximum
	// length of 1024 characters.
	// +kubebuilder:validation:Optional
	Value *string `json:"value" tf:"value,omitempty"`
}

func (*MetadataFiltersFilterLabelsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataFiltersFilterLabelsParameters.

func (*MetadataFiltersFilterLabelsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataFiltersInitParameters

type MetadataFiltersInitParameters struct {

	// The list of label value pairs that must match labels in the
	// provided metadata based on filterMatchCriteria
	// This list must not be empty and can have at the most 64 entries.
	// Structure is documented below.
	FilterLabels []FilterLabelsInitParameters `json:"filterLabels,omitempty" tf:"filter_labels,omitempty"`

	// Specifies how individual filterLabel matches within the list of
	// filterLabels contribute towards the overall metadataFilter match.
	// MATCH_ANY - At least one of the filterLabels must have a matching
	// label in the provided metadata.
	// MATCH_ALL - All filterLabels must have matching labels in the
	// provided metadata.
	// Possible values are: MATCH_ANY, MATCH_ALL.
	FilterMatchCriteria *string `json:"filterMatchCriteria,omitempty" tf:"filter_match_criteria,omitempty"`
}

func (*MetadataFiltersInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataFiltersInitParameters.

func (*MetadataFiltersInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataFiltersObservation

type MetadataFiltersObservation struct {

	// The list of label value pairs that must match labels in the
	// provided metadata based on filterMatchCriteria
	// This list must not be empty and can have at the most 64 entries.
	// Structure is documented below.
	FilterLabels []FilterLabelsObservation `json:"filterLabels,omitempty" tf:"filter_labels,omitempty"`

	// Specifies how individual filterLabel matches within the list of
	// filterLabels contribute towards the overall metadataFilter match.
	// MATCH_ANY - At least one of the filterLabels must have a matching
	// label in the provided metadata.
	// MATCH_ALL - All filterLabels must have matching labels in the
	// provided metadata.
	// Possible values are: MATCH_ANY, MATCH_ALL.
	FilterMatchCriteria *string `json:"filterMatchCriteria,omitempty" tf:"filter_match_criteria,omitempty"`
}

func (*MetadataFiltersObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataFiltersObservation.

func (*MetadataFiltersObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataFiltersParameters

type MetadataFiltersParameters struct {

	// The list of label value pairs that must match labels in the
	// provided metadata based on filterMatchCriteria
	// This list must not be empty and can have at the most 64 entries.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FilterLabels []FilterLabelsParameters `json:"filterLabels" tf:"filter_labels,omitempty"`

	// Specifies how individual filterLabel matches within the list of
	// filterLabels contribute towards the overall metadataFilter match.
	// MATCH_ANY - At least one of the filterLabels must have a matching
	// label in the provided metadata.
	// MATCH_ALL - All filterLabels must have matching labels in the
	// provided metadata.
	// Possible values are: MATCH_ANY, MATCH_ALL.
	// +kubebuilder:validation:Optional
	FilterMatchCriteria *string `json:"filterMatchCriteria" tf:"filter_match_criteria,omitempty"`
}

func (*MetadataFiltersParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataFiltersParameters.

func (*MetadataFiltersParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetricInitParameters

type MetricInitParameters struct {

	// The identifier for this object. Format specified above.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	Target *float64 `json:"target,omitempty" tf:"target,omitempty"`

	// Defines how target utilization value is expressed for a
	// Stackdriver Monitoring metric.
	// Possible values are: GAUGE, DELTA_PER_SECOND, DELTA_PER_MINUTE.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*MetricInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricInitParameters.

func (*MetricInitParameters) DeepCopyInto

func (in *MetricInitParameters) DeepCopyInto(out *MetricInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetricObservation

type MetricObservation struct {

	// The identifier for this object. Format specified above.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	Target *float64 `json:"target,omitempty" tf:"target,omitempty"`

	// Defines how target utilization value is expressed for a
	// Stackdriver Monitoring metric.
	// Possible values are: GAUGE, DELTA_PER_SECOND, DELTA_PER_MINUTE.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*MetricObservation) DeepCopy

func (in *MetricObservation) DeepCopy() *MetricObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricObservation.

func (*MetricObservation) DeepCopyInto

func (in *MetricObservation) DeepCopyInto(out *MetricObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetricParameters

type MetricParameters struct {

	// The identifier for this object. Format specified above.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	// +kubebuilder:validation:Optional
	Target *float64 `json:"target,omitempty" tf:"target,omitempty"`

	// Defines how target utilization value is expressed for a
	// Stackdriver Monitoring metric.
	// Possible values are: GAUGE, DELTA_PER_SECOND, DELTA_PER_MINUTE.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*MetricParameters) DeepCopy

func (in *MetricParameters) DeepCopy() *MetricParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricParameters.

func (*MetricParameters) DeepCopyInto

func (in *MetricParameters) DeepCopyInto(out *MetricParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MirroredResourcesInitParameters

type MirroredResourcesInitParameters struct {

	// All the listed instances will be mirrored.  Specify at most 50.
	// Structure is documented below.
	Instances []InstancesInitParameters `json:"instances,omitempty" tf:"instances,omitempty"`

	// All instances in one of these subnetworks will be mirrored.
	// Structure is documented below.
	Subnetworks []SubnetworksInitParameters `json:"subnetworks,omitempty" tf:"subnetworks,omitempty"`

	// All instances with these tags will be mirrored.
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*MirroredResourcesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MirroredResourcesInitParameters.

func (*MirroredResourcesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MirroredResourcesObservation

type MirroredResourcesObservation struct {

	// All the listed instances will be mirrored.  Specify at most 50.
	// Structure is documented below.
	Instances []InstancesObservation `json:"instances,omitempty" tf:"instances,omitempty"`

	// All instances in one of these subnetworks will be mirrored.
	// Structure is documented below.
	Subnetworks []SubnetworksObservation `json:"subnetworks,omitempty" tf:"subnetworks,omitempty"`

	// All instances with these tags will be mirrored.
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*MirroredResourcesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MirroredResourcesObservation.

func (*MirroredResourcesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MirroredResourcesParameters

type MirroredResourcesParameters struct {

	// All the listed instances will be mirrored.  Specify at most 50.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Instances []InstancesParameters `json:"instances,omitempty" tf:"instances,omitempty"`

	// All instances in one of these subnetworks will be mirrored.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Subnetworks []SubnetworksParameters `json:"subnetworks,omitempty" tf:"subnetworks,omitempty"`

	// All instances with these tags will be mirrored.
	// +kubebuilder:validation:Optional
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*MirroredResourcesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MirroredResourcesParameters.

func (*MirroredResourcesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NamedPortInitParameters

type NamedPortInitParameters struct {

	// The name of the port.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The port number.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`
}

func (*NamedPortInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedPortInitParameters.

func (*NamedPortInitParameters) DeepCopyInto

func (in *NamedPortInitParameters) DeepCopyInto(out *NamedPortInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NamedPortObservation

type NamedPortObservation struct {

	// The name of the port.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The port number.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`
}

func (*NamedPortObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedPortObservation.

func (*NamedPortObservation) DeepCopyInto

func (in *NamedPortObservation) DeepCopyInto(out *NamedPortObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NamedPortParameters

type NamedPortParameters struct {

	// The name of the port.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The port number.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port" tf:"port,omitempty"`
}

func (*NamedPortParameters) DeepCopy

func (in *NamedPortParameters) DeepCopy() *NamedPortParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedPortParameters.

func (*NamedPortParameters) DeepCopyInto

func (in *NamedPortParameters) DeepCopyInto(out *NamedPortParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NegativeCachingPolicyInitParameters

type NegativeCachingPolicyInitParameters struct {

	// The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
	// can be specified as values, and you cannot specify a status code more than once.
	Code *float64 `json:"code,omitempty" tf:"code,omitempty"`

	// The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s
	// (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
	TTL *float64 `json:"ttl,omitempty" tf:"ttl,omitempty"`
}

func (*NegativeCachingPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NegativeCachingPolicyInitParameters.

func (*NegativeCachingPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NegativeCachingPolicyObservation

type NegativeCachingPolicyObservation struct {

	// The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
	// can be specified as values, and you cannot specify a status code more than once.
	Code *float64 `json:"code,omitempty" tf:"code,omitempty"`

	// The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s
	// (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
	TTL *float64 `json:"ttl,omitempty" tf:"ttl,omitempty"`
}

func (*NegativeCachingPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NegativeCachingPolicyObservation.

func (*NegativeCachingPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NegativeCachingPolicyParameters

type NegativeCachingPolicyParameters struct {

	// The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
	// can be specified as values, and you cannot specify a status code more than once.
	// +kubebuilder:validation:Optional
	Code *float64 `json:"code,omitempty" tf:"code,omitempty"`

	// The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s
	// (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
	// +kubebuilder:validation:Optional
	TTL *float64 `json:"ttl,omitempty" tf:"ttl,omitempty"`
}

func (*NegativeCachingPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NegativeCachingPolicyParameters.

func (*NegativeCachingPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInitParameters

type NetworkInitParameters struct {

	// The full self_link URL of the network where this rule is active.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	URL *string `json:"url,omitempty" tf:"url,omitempty"`

	// Reference to a Network in compute to populate url.
	// +kubebuilder:validation:Optional
	URLRef *v1.Reference `json:"urlRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate url.
	// +kubebuilder:validation:Optional
	URLSelector *v1.Selector `json:"urlSelector,omitempty" tf:"-"`
}

func (*NetworkInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInitParameters.

func (*NetworkInitParameters) DeepCopyInto

func (in *NetworkInitParameters) DeepCopyInto(out *NetworkInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceAccessConfigInitParameters

type NetworkInterfaceAccessConfigInitParameters struct {
	NATIP *string `json:"natIp,omitempty" tf:"nat_ip"`

	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name"`
}

func (*NetworkInterfaceAccessConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceAccessConfigInitParameters.

func (*NetworkInterfaceAccessConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceAccessConfigObservation

type NetworkInterfaceAccessConfigObservation struct {
	NATIP *string `json:"natIp,omitempty" tf:"nat_ip,omitempty"`

	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"`
}

func (*NetworkInterfaceAccessConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceAccessConfigObservation.

func (*NetworkInterfaceAccessConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceAccessConfigParameters

type NetworkInterfaceAccessConfigParameters struct {

	// +kubebuilder:validation:Optional
	NATIP *string `json:"natIp,omitempty" tf:"nat_ip"`

	// +kubebuilder:validation:Optional
	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name"`
}

func (*NetworkInterfaceAccessConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceAccessConfigParameters.

func (*NetworkInterfaceAccessConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceAliasIPRangeInitParameters

type NetworkInterfaceAliasIPRangeInitParameters struct {
	IPCidrRange *string `json:"ipCidrRange,omitempty" tf:"ip_cidr_range"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	SubnetworkRangeName *string `json:"subnetworkRangeName,omitempty" tf:"subnetwork_range_name"`
}

func (*NetworkInterfaceAliasIPRangeInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceAliasIPRangeInitParameters.

func (*NetworkInterfaceAliasIPRangeInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceAliasIPRangeObservation

type NetworkInterfaceAliasIPRangeObservation struct {
	IPCidrRange *string `json:"ipCidrRange,omitempty" tf:"ip_cidr_range,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	SubnetworkRangeName *string `json:"subnetworkRangeName,omitempty" tf:"subnetwork_range_name,omitempty"`
}

func (*NetworkInterfaceAliasIPRangeObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceAliasIPRangeObservation.

func (*NetworkInterfaceAliasIPRangeObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceAliasIPRangeParameters

type NetworkInterfaceAliasIPRangeParameters struct {

	// +kubebuilder:validation:Optional
	IPCidrRange *string `json:"ipCidrRange,omitempty" tf:"ip_cidr_range"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SubnetworkRangeName *string `json:"subnetworkRangeName,omitempty" tf:"subnetwork_range_name"`
}

func (*NetworkInterfaceAliasIPRangeParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceAliasIPRangeParameters.

func (*NetworkInterfaceAliasIPRangeParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceIPv6AccessConfigInitParameters

type NetworkInterfaceIPv6AccessConfigInitParameters struct {
	ExternalIPv6 *string `json:"externalIpv6,omitempty" tf:"external_ipv6,omitempty"`

	ExternalIPv6PrefixLength *string `json:"externalIpv6PrefixLength,omitempty" tf:"external_ipv6_prefix_length,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"`
}

func (*NetworkInterfaceIPv6AccessConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceIPv6AccessConfigInitParameters.

func (*NetworkInterfaceIPv6AccessConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceIPv6AccessConfigObservation

type NetworkInterfaceIPv6AccessConfigObservation struct {
	ExternalIPv6 *string `json:"externalIpv6,omitempty" tf:"external_ipv6,omitempty"`

	ExternalIPv6PrefixLength *string `json:"externalIpv6PrefixLength,omitempty" tf:"external_ipv6_prefix_length,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"`
}

func (*NetworkInterfaceIPv6AccessConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceIPv6AccessConfigObservation.

func (*NetworkInterfaceIPv6AccessConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceIPv6AccessConfigParameters

type NetworkInterfaceIPv6AccessConfigParameters struct {

	// +kubebuilder:validation:Optional
	ExternalIPv6 *string `json:"externalIpv6,omitempty" tf:"external_ipv6,omitempty"`

	// +kubebuilder:validation:Optional
	ExternalIPv6PrefixLength *string `json:"externalIpv6PrefixLength,omitempty" tf:"external_ipv6_prefix_length,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// +kubebuilder:validation:Optional
	NetworkTier *string `json:"networkTier" tf:"network_tier,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"`
}

func (*NetworkInterfaceIPv6AccessConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceIPv6AccessConfigParameters.

func (*NetworkInterfaceIPv6AccessConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceInitParameters

type NetworkInterfaceInitParameters struct {

	// Access configurations, i.e. IPs via which this
	// instance can be accessed via the Internet. Omit to ensure that the instance
	// is not accessible from the Internet.g. via
	// tunnel or because it is running on another cloud instance on that network).
	// This block can be repeated multiple times. Structure documented below.
	AccessConfig []AccessConfigInitParameters `json:"accessConfig,omitempty" tf:"access_config,omitempty"`

	// An
	// array of alias IP ranges for this network interface. Can only be specified for network
	// interfaces on subnet-mode networks. Structure documented below.
	AliasIPRange []AliasIPRangeInitParameters `json:"aliasIpRange,omitempty" tf:"alias_ip_range,omitempty"`

	// An array of IPv6 access configurations for this interface.
	// Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
	// specified, then this instance will have no external IPv6 Internet access. Structure documented below.
	IPv6AccessConfig []IPv6AccessConfigInitParameters `json:"ipv6AccessConfig,omitempty" tf:"ipv6_access_config,omitempty"`

	IPv6Address *string `json:"ipv6Address,omitempty" tf:"ipv6_address,omitempty"`

	InternalIPv6PrefixLength *float64 `json:"internalIpv6PrefixLength,omitempty" tf:"internal_ipv6_prefix_length,omitempty"`

	// The name or self_link of the network to attach this interface to.
	// Either network or subnetwork must be provided. If network isn't provided it will
	// be inferred from the subnetwork.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// The private IP address to assign to the instance. If
	// empty, the address will be automatically assigned.
	NetworkIP *string `json:"networkIp,omitempty" tf:"network_ip,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
	NicType *string `json:"nicType,omitempty" tf:"nic_type,omitempty"`

	// The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
	QueueCount *float64 `json:"queueCount,omitempty" tf:"queue_count,omitempty"`

	// The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
	StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"`

	// The name or self_link of the subnetwork to attach this
	// interface to. Either network or subnetwork must be provided. If network isn't provided
	// it will be inferred from the subnetwork. The subnetwork must exist in the same region this
	// instance will be created in. If the network resource is in
	// legacy mode, do not specify this field. If the
	// network is in auto subnet mode, specifying the subnetwork is optional. If the network is
	// in custom subnet mode, specifying the subnetwork is required.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// The project in which the subnetwork belongs.
	// If the subnetwork is a self_link, this field is ignored in favor of the project
	// defined in the subnetwork self_link. If the subnetwork is a name and this
	// field is not provided, the provider project is used.
	SubnetworkProject *string `json:"subnetworkProject,omitempty" tf:"subnetwork_project,omitempty"`

	// Reference to a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"`
}

func (*NetworkInterfaceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceInitParameters.

func (*NetworkInterfaceInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceObservation

type NetworkInterfaceObservation struct {

	// Access configurations, i.e. IPs via which this
	// instance can be accessed via the Internet. Omit to ensure that the instance
	// is not accessible from the Internet.g. via
	// tunnel or because it is running on another cloud instance on that network).
	// This block can be repeated multiple times. Structure documented below.
	AccessConfig []AccessConfigObservation `json:"accessConfig,omitempty" tf:"access_config,omitempty"`

	// An
	// array of alias IP ranges for this network interface. Can only be specified for network
	// interfaces on subnet-mode networks. Structure documented below.
	AliasIPRange []AliasIPRangeObservation `json:"aliasIpRange,omitempty" tf:"alias_ip_range,omitempty"`

	// An array of IPv6 access configurations for this interface.
	// Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
	// specified, then this instance will have no external IPv6 Internet access. Structure documented below.
	IPv6AccessConfig []IPv6AccessConfigObservation `json:"ipv6AccessConfig,omitempty" tf:"ipv6_access_config,omitempty"`

	// One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet.
	// This field is always inherited from its subnetwork.
	IPv6AccessType *string `json:"ipv6AccessType,omitempty" tf:"ipv6_access_type,omitempty"`

	IPv6Address *string `json:"ipv6Address,omitempty" tf:"ipv6_address,omitempty"`

	InternalIPv6PrefixLength *float64 `json:"internalIpv6PrefixLength,omitempty" tf:"internal_ipv6_prefix_length,omitempty"`

	// A unique name for the resource, required by GCE.
	// Changing this forces a new resource to be created.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The name or self_link of the network to attach this interface to.
	// Either network or subnetwork must be provided. If network isn't provided it will
	// be inferred from the subnetwork.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// The private IP address to assign to the instance. If
	// empty, the address will be automatically assigned.
	NetworkIP *string `json:"networkIp,omitempty" tf:"network_ip,omitempty"`

	// The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
	NicType *string `json:"nicType,omitempty" tf:"nic_type,omitempty"`

	// The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
	QueueCount *float64 `json:"queueCount,omitempty" tf:"queue_count,omitempty"`

	// The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
	StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"`

	// The name or self_link of the subnetwork to attach this
	// interface to. Either network or subnetwork must be provided. If network isn't provided
	// it will be inferred from the subnetwork. The subnetwork must exist in the same region this
	// instance will be created in. If the network resource is in
	// legacy mode, do not specify this field. If the
	// network is in auto subnet mode, specifying the subnetwork is optional. If the network is
	// in custom subnet mode, specifying the subnetwork is required.
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// The project in which the subnetwork belongs.
	// If the subnetwork is a self_link, this field is ignored in favor of the project
	// defined in the subnetwork self_link. If the subnetwork is a name and this
	// field is not provided, the provider project is used.
	SubnetworkProject *string `json:"subnetworkProject,omitempty" tf:"subnetwork_project,omitempty"`
}

func (*NetworkInterfaceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceObservation.

func (*NetworkInterfaceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceParameters

type NetworkInterfaceParameters struct {

	// Access configurations, i.e. IPs via which this
	// instance can be accessed via the Internet. Omit to ensure that the instance
	// is not accessible from the Internet.g. via
	// tunnel or because it is running on another cloud instance on that network).
	// This block can be repeated multiple times. Structure documented below.
	// +kubebuilder:validation:Optional
	AccessConfig []AccessConfigParameters `json:"accessConfig,omitempty" tf:"access_config,omitempty"`

	// An
	// array of alias IP ranges for this network interface. Can only be specified for network
	// interfaces on subnet-mode networks. Structure documented below.
	// +kubebuilder:validation:Optional
	AliasIPRange []AliasIPRangeParameters `json:"aliasIpRange,omitempty" tf:"alias_ip_range,omitempty"`

	// An array of IPv6 access configurations for this interface.
	// Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
	// specified, then this instance will have no external IPv6 Internet access. Structure documented below.
	// +kubebuilder:validation:Optional
	IPv6AccessConfig []IPv6AccessConfigParameters `json:"ipv6AccessConfig,omitempty" tf:"ipv6_access_config,omitempty"`

	// +kubebuilder:validation:Optional
	IPv6Address *string `json:"ipv6Address,omitempty" tf:"ipv6_address,omitempty"`

	// +kubebuilder:validation:Optional
	InternalIPv6PrefixLength *float64 `json:"internalIpv6PrefixLength,omitempty" tf:"internal_ipv6_prefix_length,omitempty"`

	// The name or self_link of the network to attach this interface to.
	// Either network or subnetwork must be provided. If network isn't provided it will
	// be inferred from the subnetwork.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +kubebuilder:validation:Optional
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// The private IP address to assign to the instance. If
	// empty, the address will be automatically assigned.
	// +kubebuilder:validation:Optional
	NetworkIP *string `json:"networkIp,omitempty" tf:"network_ip,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
	// +kubebuilder:validation:Optional
	NicType *string `json:"nicType,omitempty" tf:"nic_type,omitempty"`

	// The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
	// +kubebuilder:validation:Optional
	QueueCount *float64 `json:"queueCount,omitempty" tf:"queue_count,omitempty"`

	// The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
	// +kubebuilder:validation:Optional
	StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"`

	// The name or self_link of the subnetwork to attach this
	// interface to. Either network or subnetwork must be provided. If network isn't provided
	// it will be inferred from the subnetwork. The subnetwork must exist in the same region this
	// instance will be created in. If the network resource is in
	// legacy mode, do not specify this field. If the
	// network is in auto subnet mode, specifying the subnetwork is optional. If the network is
	// in custom subnet mode, specifying the subnetwork is required.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +kubebuilder:validation:Optional
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// The project in which the subnetwork belongs.
	// If the subnetwork is a self_link, this field is ignored in favor of the project
	// defined in the subnetwork self_link. If the subnetwork is a name and this
	// field is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	SubnetworkProject *string `json:"subnetworkProject,omitempty" tf:"subnetwork_project,omitempty"`

	// Reference to a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"`
}

func (*NetworkInterfaceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceParameters.

func (*NetworkInterfaceParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkObservation

type NetworkObservation struct {

	// The full self_link URL of the network where this rule is active.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*NetworkObservation) DeepCopy

func (in *NetworkObservation) DeepCopy() *NetworkObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkObservation.

func (*NetworkObservation) DeepCopyInto

func (in *NetworkObservation) DeepCopyInto(out *NetworkObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkParameters

type NetworkParameters struct {

	// The full self_link URL of the network where this rule is active.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	URL *string `json:"url,omitempty" tf:"url,omitempty"`

	// Reference to a Network in compute to populate url.
	// +kubebuilder:validation:Optional
	URLRef *v1.Reference `json:"urlRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate url.
	// +kubebuilder:validation:Optional
	URLSelector *v1.Selector `json:"urlSelector,omitempty" tf:"-"`
}

func (*NetworkParameters) DeepCopy

func (in *NetworkParameters) DeepCopy() *NetworkParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkParameters.

func (*NetworkParameters) DeepCopyInto

func (in *NetworkParameters) DeepCopyInto(out *NetworkParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkPerformanceConfigInitParameters

type NetworkPerformanceConfigInitParameters struct {

	// The egress bandwidth tier to enable.
	// Possible values: TIER_1, DEFAULT
	TotalEgressBandwidthTier *string `json:"totalEgressBandwidthTier,omitempty" tf:"total_egress_bandwidth_tier,omitempty"`
}

func (*NetworkPerformanceConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPerformanceConfigInitParameters.

func (*NetworkPerformanceConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkPerformanceConfigObservation

type NetworkPerformanceConfigObservation struct {

	// The egress bandwidth tier to enable.
	// Possible values: TIER_1, DEFAULT
	TotalEgressBandwidthTier *string `json:"totalEgressBandwidthTier,omitempty" tf:"total_egress_bandwidth_tier,omitempty"`
}

func (*NetworkPerformanceConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPerformanceConfigObservation.

func (*NetworkPerformanceConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkPerformanceConfigParameters

type NetworkPerformanceConfigParameters struct {

	// The egress bandwidth tier to enable.
	// Possible values: TIER_1, DEFAULT
	// +kubebuilder:validation:Optional
	TotalEgressBandwidthTier *string `json:"totalEgressBandwidthTier" tf:"total_egress_bandwidth_tier,omitempty"`
}

func (*NetworkPerformanceConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPerformanceConfigParameters.

func (*NetworkPerformanceConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeAffinitiesInitParameters

type NodeAffinitiesInitParameters struct {

	// Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// The operator. Can be IN for node-affinities
	// or NOT_IN for anti-affinities.
	Operator *string `json:"operator,omitempty" tf:"operator,omitempty"`

	// Corresponds to the label values of a reservation resource.
	// +listType=set
	Values []*string `json:"values,omitempty" tf:"values,omitempty"`
}

func (*NodeAffinitiesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAffinitiesInitParameters.

func (*NodeAffinitiesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeAffinitiesObservation

type NodeAffinitiesObservation struct {

	// Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// The operator. Can be IN for node-affinities
	// or NOT_IN for anti-affinities.
	Operator *string `json:"operator,omitempty" tf:"operator,omitempty"`

	// Corresponds to the label values of a reservation resource.
	// +listType=set
	Values []*string `json:"values,omitempty" tf:"values,omitempty"`
}

func (*NodeAffinitiesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAffinitiesObservation.

func (*NodeAffinitiesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeAffinitiesParameters

type NodeAffinitiesParameters struct {

	// Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

	// The operator. Can be IN for node-affinities
	// or NOT_IN for anti-affinities.
	// +kubebuilder:validation:Optional
	Operator *string `json:"operator" tf:"operator,omitempty"`

	// Corresponds to the label values of a reservation resource.
	// +kubebuilder:validation:Optional
	// +listType=set
	Values []*string `json:"values" tf:"values,omitempty"`
}

func (*NodeAffinitiesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAffinitiesParameters.

func (*NodeAffinitiesParameters) DeepCopyInto

func (in *NodeAffinitiesParameters) DeepCopyInto(out *NodeAffinitiesParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroup

type NodeGroup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              NodeGroupSpec   `json:"spec"`
	Status            NodeGroupStatus `json:"status,omitempty"`
}

NodeGroup is the Schema for the NodeGroups API. Represents a NodeGroup resource to manage a group of sole-tenant nodes. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*NodeGroup) DeepCopy

func (in *NodeGroup) DeepCopy() *NodeGroup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroup.

func (*NodeGroup) DeepCopyInto

func (in *NodeGroup) DeepCopyInto(out *NodeGroup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeGroup) DeepCopyObject

func (in *NodeGroup) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NodeGroup) GetCondition

func (mg *NodeGroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this NodeGroup.

func (*NodeGroup) GetConnectionDetailsMapping

func (tr *NodeGroup) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this NodeGroup

func (*NodeGroup) GetDeletionPolicy

func (mg *NodeGroup) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this NodeGroup.

func (*NodeGroup) GetID

func (tr *NodeGroup) GetID() string

GetID returns ID of underlying Terraform resource of this NodeGroup

func (*NodeGroup) GetInitParameters

func (tr *NodeGroup) GetInitParameters() (map[string]any, error)

GetInitParameters of this NodeGroup

func (*NodeGroup) GetManagementPolicies

func (mg *NodeGroup) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this NodeGroup.

func (*NodeGroup) GetMergedParameters

func (tr *NodeGroup) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this NodeGroup

func (*NodeGroup) GetObservation

func (tr *NodeGroup) GetObservation() (map[string]any, error)

GetObservation of this NodeGroup

func (*NodeGroup) GetParameters

func (tr *NodeGroup) GetParameters() (map[string]any, error)

GetParameters of this NodeGroup

func (*NodeGroup) GetProviderConfigReference

func (mg *NodeGroup) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this NodeGroup.

func (*NodeGroup) GetPublishConnectionDetailsTo

func (mg *NodeGroup) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this NodeGroup.

func (*NodeGroup) GetTerraformResourceType

func (mg *NodeGroup) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this NodeGroup

func (*NodeGroup) GetTerraformSchemaVersion

func (tr *NodeGroup) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*NodeGroup) GetWriteConnectionSecretToReference

func (mg *NodeGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this NodeGroup.

func (*NodeGroup) Hub

func (tr *NodeGroup) Hub()

Hub marks this type as a conversion hub.

func (*NodeGroup) LateInitialize

func (tr *NodeGroup) LateInitialize(attrs []byte) (bool, error)

LateInitialize this NodeGroup using its observed tfState. returns True if there are any spec changes for the resource.

func (*NodeGroup) ResolveReferences

func (mg *NodeGroup) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this NodeGroup.

func (*NodeGroup) SetConditions

func (mg *NodeGroup) SetConditions(c ...xpv1.Condition)

SetConditions of this NodeGroup.

func (*NodeGroup) SetDeletionPolicy

func (mg *NodeGroup) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this NodeGroup.

func (*NodeGroup) SetManagementPolicies

func (mg *NodeGroup) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this NodeGroup.

func (*NodeGroup) SetObservation

func (tr *NodeGroup) SetObservation(obs map[string]any) error

SetObservation for this NodeGroup

func (*NodeGroup) SetParameters

func (tr *NodeGroup) SetParameters(params map[string]any) error

SetParameters for this NodeGroup

func (*NodeGroup) SetProviderConfigReference

func (mg *NodeGroup) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this NodeGroup.

func (*NodeGroup) SetPublishConnectionDetailsTo

func (mg *NodeGroup) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this NodeGroup.

func (*NodeGroup) SetWriteConnectionSecretToReference

func (mg *NodeGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this NodeGroup.

type NodeGroupAutoscalingPolicyInitParameters

type NodeGroupAutoscalingPolicyInitParameters struct {

	// Maximum size of the node group. Set to a value less than or equal
	// to 100 and greater than or equal to min-nodes.
	MaxNodes *float64 `json:"maxNodes,omitempty" tf:"max_nodes,omitempty"`

	// Minimum size of the node group. Must be less
	// than or equal to max-nodes. The default value is 0.
	MinNodes *float64 `json:"minNodes,omitempty" tf:"min_nodes,omitempty"`

	// The autoscaling mode. Set to one of the following:
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`
}

func (*NodeGroupAutoscalingPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupAutoscalingPolicyInitParameters.

func (*NodeGroupAutoscalingPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroupAutoscalingPolicyObservation

type NodeGroupAutoscalingPolicyObservation struct {

	// Maximum size of the node group. Set to a value less than or equal
	// to 100 and greater than or equal to min-nodes.
	MaxNodes *float64 `json:"maxNodes,omitempty" tf:"max_nodes,omitempty"`

	// Minimum size of the node group. Must be less
	// than or equal to max-nodes. The default value is 0.
	MinNodes *float64 `json:"minNodes,omitempty" tf:"min_nodes,omitempty"`

	// The autoscaling mode. Set to one of the following:
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`
}

func (*NodeGroupAutoscalingPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupAutoscalingPolicyObservation.

func (*NodeGroupAutoscalingPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroupAutoscalingPolicyParameters

type NodeGroupAutoscalingPolicyParameters struct {

	// Maximum size of the node group. Set to a value less than or equal
	// to 100 and greater than or equal to min-nodes.
	// +kubebuilder:validation:Optional
	MaxNodes *float64 `json:"maxNodes,omitempty" tf:"max_nodes,omitempty"`

	// Minimum size of the node group. Must be less
	// than or equal to max-nodes. The default value is 0.
	// +kubebuilder:validation:Optional
	MinNodes *float64 `json:"minNodes,omitempty" tf:"min_nodes,omitempty"`

	// The autoscaling mode. Set to one of the following:
	// +kubebuilder:validation:Optional
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`
}

func (*NodeGroupAutoscalingPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupAutoscalingPolicyParameters.

func (*NodeGroupAutoscalingPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroupInitParameters

type NodeGroupInitParameters struct {

	// If you use sole-tenant nodes for your workloads, you can use the node
	// group autoscaler to automatically manage the sizes of your node groups.
	// One of initial_size or autoscaling_policy must be configured on resource creation.
	// Structure is documented below.
	AutoscalingPolicy *NodeGroupAutoscalingPolicyInitParameters `json:"autoscalingPolicy,omitempty" tf:"autoscaling_policy,omitempty"`

	// An optional textual description of the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The initial number of nodes in the node group. One of initial_size or autoscaling_policy must be configured on resource creation.
	InitialSize *float64 `json:"initialSize,omitempty" tf:"initial_size,omitempty"`

	// Specifies how to handle instances when a node in the group undergoes maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT.
	MaintenancePolicy *string `json:"maintenancePolicy,omitempty" tf:"maintenance_policy,omitempty"`

	// contains properties for the timeframe of maintenance
	// Structure is documented below.
	MaintenanceWindow *MaintenanceWindowInitParameters `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"`

	// The URL of the node template to which this node group belongs.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.NodeTemplate
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	NodeTemplate *string `json:"nodeTemplate,omitempty" tf:"node_template,omitempty"`

	// Reference to a NodeTemplate in compute to populate nodeTemplate.
	// +kubebuilder:validation:Optional
	NodeTemplateRef *v1.Reference `json:"nodeTemplateRef,omitempty" tf:"-"`

	// Selector for a NodeTemplate in compute to populate nodeTemplate.
	// +kubebuilder:validation:Optional
	NodeTemplateSelector *v1.Selector `json:"nodeTemplateSelector,omitempty" tf:"-"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Share settings for the node group.
	// Structure is documented below.
	ShareSettings *ShareSettingsInitParameters `json:"shareSettings,omitempty" tf:"share_settings,omitempty"`
}

func (*NodeGroupInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupInitParameters.

func (*NodeGroupInitParameters) DeepCopyInto

func (in *NodeGroupInitParameters) DeepCopyInto(out *NodeGroupInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroupList

type NodeGroupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NodeGroup `json:"items"`
}

NodeGroupList contains a list of NodeGroups

func (*NodeGroupList) DeepCopy

func (in *NodeGroupList) DeepCopy() *NodeGroupList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupList.

func (*NodeGroupList) DeepCopyInto

func (in *NodeGroupList) DeepCopyInto(out *NodeGroupList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeGroupList) DeepCopyObject

func (in *NodeGroupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NodeGroupList) GetItems

func (l *NodeGroupList) GetItems() []resource.Managed

GetItems of this NodeGroupList.

type NodeGroupObservation

type NodeGroupObservation struct {

	// If you use sole-tenant nodes for your workloads, you can use the node
	// group autoscaler to automatically manage the sizes of your node groups.
	// One of initial_size or autoscaling_policy must be configured on resource creation.
	// Structure is documented below.
	AutoscalingPolicy *NodeGroupAutoscalingPolicyObservation `json:"autoscalingPolicy,omitempty" tf:"autoscaling_policy,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional textual description of the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// an identifier for the resource with format projects/{{project}}/zones/{{zone}}/nodeGroups/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The initial number of nodes in the node group. One of initial_size or autoscaling_policy must be configured on resource creation.
	InitialSize *float64 `json:"initialSize,omitempty" tf:"initial_size,omitempty"`

	// Specifies how to handle instances when a node in the group undergoes maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT.
	MaintenancePolicy *string `json:"maintenancePolicy,omitempty" tf:"maintenance_policy,omitempty"`

	// contains properties for the timeframe of maintenance
	// Structure is documented below.
	MaintenanceWindow *MaintenanceWindowObservation `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"`

	// The URL of the node template to which this node group belongs.
	NodeTemplate *string `json:"nodeTemplate,omitempty" tf:"node_template,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// Share settings for the node group.
	// Structure is documented below.
	ShareSettings *ShareSettingsObservation `json:"shareSettings,omitempty" tf:"share_settings,omitempty"`

	// The total number of nodes in the node group.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// Zone where this node group is located
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*NodeGroupObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupObservation.

func (*NodeGroupObservation) DeepCopyInto

func (in *NodeGroupObservation) DeepCopyInto(out *NodeGroupObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroupParameters

type NodeGroupParameters struct {

	// If you use sole-tenant nodes for your workloads, you can use the node
	// group autoscaler to automatically manage the sizes of your node groups.
	// One of initial_size or autoscaling_policy must be configured on resource creation.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	AutoscalingPolicy *NodeGroupAutoscalingPolicyParameters `json:"autoscalingPolicy,omitempty" tf:"autoscaling_policy,omitempty"`

	// An optional textual description of the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The initial number of nodes in the node group. One of initial_size or autoscaling_policy must be configured on resource creation.
	// +kubebuilder:validation:Optional
	InitialSize *float64 `json:"initialSize,omitempty" tf:"initial_size,omitempty"`

	// Specifies how to handle instances when a node in the group undergoes maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT.
	// +kubebuilder:validation:Optional
	MaintenancePolicy *string `json:"maintenancePolicy,omitempty" tf:"maintenance_policy,omitempty"`

	// contains properties for the timeframe of maintenance
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	MaintenanceWindow *MaintenanceWindowParameters `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"`

	// The URL of the node template to which this node group belongs.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.NodeTemplate
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	NodeTemplate *string `json:"nodeTemplate,omitempty" tf:"node_template,omitempty"`

	// Reference to a NodeTemplate in compute to populate nodeTemplate.
	// +kubebuilder:validation:Optional
	NodeTemplateRef *v1.Reference `json:"nodeTemplateRef,omitempty" tf:"-"`

	// Selector for a NodeTemplate in compute to populate nodeTemplate.
	// +kubebuilder:validation:Optional
	NodeTemplateSelector *v1.Selector `json:"nodeTemplateSelector,omitempty" tf:"-"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Share settings for the node group.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ShareSettings *ShareSettingsParameters `json:"shareSettings,omitempty" tf:"share_settings,omitempty"`

	// Zone where this node group is located
	// +kubebuilder:validation:Required
	Zone *string `json:"zone" tf:"zone,omitempty"`
}

func (*NodeGroupParameters) DeepCopy

func (in *NodeGroupParameters) DeepCopy() *NodeGroupParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupParameters.

func (*NodeGroupParameters) DeepCopyInto

func (in *NodeGroupParameters) DeepCopyInto(out *NodeGroupParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroupSpec

type NodeGroupSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     NodeGroupParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider NodeGroupInitParameters `json:"initProvider,omitempty"`
}

NodeGroupSpec defines the desired state of NodeGroup

func (*NodeGroupSpec) DeepCopy

func (in *NodeGroupSpec) DeepCopy() *NodeGroupSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupSpec.

func (*NodeGroupSpec) DeepCopyInto

func (in *NodeGroupSpec) DeepCopyInto(out *NodeGroupSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroupStatus

type NodeGroupStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        NodeGroupObservation `json:"atProvider,omitempty"`
}

NodeGroupStatus defines the observed state of NodeGroup.

func (*NodeGroupStatus) DeepCopy

func (in *NodeGroupStatus) DeepCopy() *NodeGroupStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupStatus.

func (*NodeGroupStatus) DeepCopyInto

func (in *NodeGroupStatus) DeepCopyInto(out *NodeGroupStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeTemplate

type NodeTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              NodeTemplateSpec   `json:"spec"`
	Status            NodeTemplateStatus `json:"status,omitempty"`
}

NodeTemplate is the Schema for the NodeTemplates API. Represents a NodeTemplate resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*NodeTemplate) DeepCopy

func (in *NodeTemplate) DeepCopy() *NodeTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTemplate.

func (*NodeTemplate) DeepCopyInto

func (in *NodeTemplate) DeepCopyInto(out *NodeTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeTemplate) DeepCopyObject

func (in *NodeTemplate) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NodeTemplate) GetCondition

func (mg *NodeTemplate) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this NodeTemplate.

func (*NodeTemplate) GetConnectionDetailsMapping

func (tr *NodeTemplate) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this NodeTemplate

func (*NodeTemplate) GetDeletionPolicy

func (mg *NodeTemplate) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this NodeTemplate.

func (*NodeTemplate) GetID

func (tr *NodeTemplate) GetID() string

GetID returns ID of underlying Terraform resource of this NodeTemplate

func (*NodeTemplate) GetInitParameters

func (tr *NodeTemplate) GetInitParameters() (map[string]any, error)

GetInitParameters of this NodeTemplate

func (*NodeTemplate) GetManagementPolicies

func (mg *NodeTemplate) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this NodeTemplate.

func (*NodeTemplate) GetMergedParameters

func (tr *NodeTemplate) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this NodeTemplate

func (*NodeTemplate) GetObservation

func (tr *NodeTemplate) GetObservation() (map[string]any, error)

GetObservation of this NodeTemplate

func (*NodeTemplate) GetParameters

func (tr *NodeTemplate) GetParameters() (map[string]any, error)

GetParameters of this NodeTemplate

func (*NodeTemplate) GetProviderConfigReference

func (mg *NodeTemplate) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this NodeTemplate.

func (*NodeTemplate) GetPublishConnectionDetailsTo

func (mg *NodeTemplate) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this NodeTemplate.

func (*NodeTemplate) GetTerraformResourceType

func (mg *NodeTemplate) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this NodeTemplate

func (*NodeTemplate) GetTerraformSchemaVersion

func (tr *NodeTemplate) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*NodeTemplate) GetWriteConnectionSecretToReference

func (mg *NodeTemplate) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this NodeTemplate.

func (*NodeTemplate) Hub

func (tr *NodeTemplate) Hub()

Hub marks this type as a conversion hub.

func (*NodeTemplate) LateInitialize

func (tr *NodeTemplate) LateInitialize(attrs []byte) (bool, error)

LateInitialize this NodeTemplate using its observed tfState. returns True if there are any spec changes for the resource.

func (*NodeTemplate) SetConditions

func (mg *NodeTemplate) SetConditions(c ...xpv1.Condition)

SetConditions of this NodeTemplate.

func (*NodeTemplate) SetDeletionPolicy

func (mg *NodeTemplate) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this NodeTemplate.

func (*NodeTemplate) SetManagementPolicies

func (mg *NodeTemplate) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this NodeTemplate.

func (*NodeTemplate) SetObservation

func (tr *NodeTemplate) SetObservation(obs map[string]any) error

SetObservation for this NodeTemplate

func (*NodeTemplate) SetParameters

func (tr *NodeTemplate) SetParameters(params map[string]any) error

SetParameters for this NodeTemplate

func (*NodeTemplate) SetProviderConfigReference

func (mg *NodeTemplate) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this NodeTemplate.

func (*NodeTemplate) SetPublishConnectionDetailsTo

func (mg *NodeTemplate) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this NodeTemplate.

func (*NodeTemplate) SetWriteConnectionSecretToReference

func (mg *NodeTemplate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this NodeTemplate.

type NodeTemplateInitParameters

type NodeTemplateInitParameters struct {

	// CPU overcommit.
	// Default value is NONE.
	// Possible values are: ENABLED, NONE.
	CPUOvercommitType *string `json:"cpuOvercommitType,omitempty" tf:"cpu_overcommit_type,omitempty"`

	// An optional textual description of the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Labels to use for node affinity, which will be used in
	// instance scheduling.
	// +mapType=granular
	NodeAffinityLabels map[string]*string `json:"nodeAffinityLabels,omitempty" tf:"node_affinity_labels,omitempty"`

	// Node type to use for nodes group that are created from this template.
	// Only one of nodeTypeFlexibility and nodeType can be specified.
	NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"`

	// Flexible properties for the desired node type. Node groups that
	// use this node template will create nodes of a type that matches
	// these properties. Only one of nodeTypeFlexibility and nodeType can
	// be specified.
	// Structure is documented below.
	NodeTypeFlexibility *NodeTypeFlexibilityInitParameters `json:"nodeTypeFlexibility,omitempty" tf:"node_type_flexibility,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The server binding policy for nodes using this template. Determines
	// where the nodes should restart following a maintenance event.
	// Structure is documented below.
	ServerBinding *ServerBindingInitParameters `json:"serverBinding,omitempty" tf:"server_binding,omitempty"`
}

func (*NodeTemplateInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTemplateInitParameters.

func (*NodeTemplateInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeTemplateList

type NodeTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NodeTemplate `json:"items"`
}

NodeTemplateList contains a list of NodeTemplates

func (*NodeTemplateList) DeepCopy

func (in *NodeTemplateList) DeepCopy() *NodeTemplateList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTemplateList.

func (*NodeTemplateList) DeepCopyInto

func (in *NodeTemplateList) DeepCopyInto(out *NodeTemplateList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeTemplateList) DeepCopyObject

func (in *NodeTemplateList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NodeTemplateList) GetItems

func (l *NodeTemplateList) GetItems() []resource.Managed

GetItems of this NodeTemplateList.

type NodeTemplateObservation

type NodeTemplateObservation struct {

	// CPU overcommit.
	// Default value is NONE.
	// Possible values are: ENABLED, NONE.
	CPUOvercommitType *string `json:"cpuOvercommitType,omitempty" tf:"cpu_overcommit_type,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional textual description of the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// an identifier for the resource with format projects/{{project}}/regions/{{region}}/nodeTemplates/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Labels to use for node affinity, which will be used in
	// instance scheduling.
	// +mapType=granular
	NodeAffinityLabels map[string]*string `json:"nodeAffinityLabels,omitempty" tf:"node_affinity_labels,omitempty"`

	// Node type to use for nodes group that are created from this template.
	// Only one of nodeTypeFlexibility and nodeType can be specified.
	NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"`

	// Flexible properties for the desired node type. Node groups that
	// use this node template will create nodes of a type that matches
	// these properties. Only one of nodeTypeFlexibility and nodeType can
	// be specified.
	// Structure is documented below.
	NodeTypeFlexibility *NodeTypeFlexibilityObservation `json:"nodeTypeFlexibility,omitempty" tf:"node_type_flexibility,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Region where nodes using the node template will be created.
	// If it is not provided, the provider region is used.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// The server binding policy for nodes using this template. Determines
	// where the nodes should restart following a maintenance event.
	// Structure is documented below.
	ServerBinding *ServerBindingObservation `json:"serverBinding,omitempty" tf:"server_binding,omitempty"`
}

func (*NodeTemplateObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTemplateObservation.

func (*NodeTemplateObservation) DeepCopyInto

func (in *NodeTemplateObservation) DeepCopyInto(out *NodeTemplateObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeTemplateParameters

type NodeTemplateParameters struct {

	// CPU overcommit.
	// Default value is NONE.
	// Possible values are: ENABLED, NONE.
	// +kubebuilder:validation:Optional
	CPUOvercommitType *string `json:"cpuOvercommitType,omitempty" tf:"cpu_overcommit_type,omitempty"`

	// An optional textual description of the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Labels to use for node affinity, which will be used in
	// instance scheduling.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	NodeAffinityLabels map[string]*string `json:"nodeAffinityLabels,omitempty" tf:"node_affinity_labels,omitempty"`

	// Node type to use for nodes group that are created from this template.
	// Only one of nodeTypeFlexibility and nodeType can be specified.
	// +kubebuilder:validation:Optional
	NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"`

	// Flexible properties for the desired node type. Node groups that
	// use this node template will create nodes of a type that matches
	// these properties. Only one of nodeTypeFlexibility and nodeType can
	// be specified.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	NodeTypeFlexibility *NodeTypeFlexibilityParameters `json:"nodeTypeFlexibility,omitempty" tf:"node_type_flexibility,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Region where nodes using the node template will be created.
	// If it is not provided, the provider region is used.
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"region,omitempty"`

	// The server binding policy for nodes using this template. Determines
	// where the nodes should restart following a maintenance event.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ServerBinding *ServerBindingParameters `json:"serverBinding,omitempty" tf:"server_binding,omitempty"`
}

func (*NodeTemplateParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTemplateParameters.

func (*NodeTemplateParameters) DeepCopyInto

func (in *NodeTemplateParameters) DeepCopyInto(out *NodeTemplateParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeTemplateSpec

type NodeTemplateSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     NodeTemplateParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider NodeTemplateInitParameters `json:"initProvider,omitempty"`
}

NodeTemplateSpec defines the desired state of NodeTemplate

func (*NodeTemplateSpec) DeepCopy

func (in *NodeTemplateSpec) DeepCopy() *NodeTemplateSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTemplateSpec.

func (*NodeTemplateSpec) DeepCopyInto

func (in *NodeTemplateSpec) DeepCopyInto(out *NodeTemplateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeTemplateStatus

type NodeTemplateStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        NodeTemplateObservation `json:"atProvider,omitempty"`
}

NodeTemplateStatus defines the observed state of NodeTemplate.

func (*NodeTemplateStatus) DeepCopy

func (in *NodeTemplateStatus) DeepCopy() *NodeTemplateStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTemplateStatus.

func (*NodeTemplateStatus) DeepCopyInto

func (in *NodeTemplateStatus) DeepCopyInto(out *NodeTemplateStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeTypeFlexibilityInitParameters

type NodeTypeFlexibilityInitParameters struct {

	// Number of virtual CPUs to use.
	Cpus *string `json:"cpus,omitempty" tf:"cpus,omitempty"`

	// Physical memory available to the node, defined in MB.
	Memory *string `json:"memory,omitempty" tf:"memory,omitempty"`
}

func (*NodeTypeFlexibilityInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTypeFlexibilityInitParameters.

func (*NodeTypeFlexibilityInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeTypeFlexibilityObservation

type NodeTypeFlexibilityObservation struct {

	// Number of virtual CPUs to use.
	Cpus *string `json:"cpus,omitempty" tf:"cpus,omitempty"`

	// (Output)
	// Use local SSD
	LocalSsd *string `json:"localSsd,omitempty" tf:"local_ssd,omitempty"`

	// Physical memory available to the node, defined in MB.
	Memory *string `json:"memory,omitempty" tf:"memory,omitempty"`
}

func (*NodeTypeFlexibilityObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTypeFlexibilityObservation.

func (*NodeTypeFlexibilityObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeTypeFlexibilityParameters

type NodeTypeFlexibilityParameters struct {

	// Number of virtual CPUs to use.
	// +kubebuilder:validation:Optional
	Cpus *string `json:"cpus,omitempty" tf:"cpus,omitempty"`

	// Physical memory available to the node, defined in MB.
	// +kubebuilder:validation:Optional
	Memory *string `json:"memory,omitempty" tf:"memory,omitempty"`
}

func (*NodeTypeFlexibilityParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTypeFlexibilityParameters.

func (*NodeTypeFlexibilityParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OutlierDetectionBaseEjectionTimeInitParameters

type OutlierDetectionBaseEjectionTimeInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*OutlierDetectionBaseEjectionTimeInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionBaseEjectionTimeInitParameters.

func (*OutlierDetectionBaseEjectionTimeInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OutlierDetectionBaseEjectionTimeObservation

type OutlierDetectionBaseEjectionTimeObservation struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*OutlierDetectionBaseEjectionTimeObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionBaseEjectionTimeObservation.

func (*OutlierDetectionBaseEjectionTimeObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OutlierDetectionBaseEjectionTimeParameters

type OutlierDetectionBaseEjectionTimeParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	// +kubebuilder:validation:Optional
	Seconds *float64 `json:"seconds" tf:"seconds,omitempty"`
}

func (*OutlierDetectionBaseEjectionTimeParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionBaseEjectionTimeParameters.

func (*OutlierDetectionBaseEjectionTimeParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OutlierDetectionInitParameters

type OutlierDetectionInitParameters struct {

	// The base time that a host is ejected for. The real time is equal to the base
	// time multiplied by the number of times the host has been ejected. Defaults to
	// 30000ms or 30s.
	// Structure is documented below.
	BaseEjectionTime *BaseEjectionTimeInitParameters `json:"baseEjectionTime,omitempty" tf:"base_ejection_time,omitempty"`

	// Number of errors before a host is ejected from the connection pool. When the
	// backend host is accessed over HTTP, a 5xx return code qualifies as an error.
	// Defaults to 5.
	ConsecutiveErrors *float64 `json:"consecutiveErrors,omitempty" tf:"consecutive_errors,omitempty"`

	// The number of consecutive gateway failures (502, 503, 504 status or connection
	// errors that are mapped to one of those status codes) before a consecutive
	// gateway failure ejection occurs. Defaults to 5.
	ConsecutiveGatewayFailure *float64 `json:"consecutiveGatewayFailure,omitempty" tf:"consecutive_gateway_failure,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through consecutive 5xx. This setting can be used to disable
	// ejection or to ramp it up slowly. Defaults to 100.
	EnforcingConsecutiveErrors *float64 `json:"enforcingConsecutiveErrors,omitempty" tf:"enforcing_consecutive_errors,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through consecutive gateway failures. This setting can be
	// used to disable ejection or to ramp it up slowly. Defaults to 0.
	EnforcingConsecutiveGatewayFailure *float64 `json:"enforcingConsecutiveGatewayFailure,omitempty" tf:"enforcing_consecutive_gateway_failure,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through success rate statistics. This setting can be used to
	// disable ejection or to ramp it up slowly. Defaults to 100.
	EnforcingSuccessRate *float64 `json:"enforcingSuccessRate,omitempty" tf:"enforcing_success_rate,omitempty"`

	// Time interval between ejection sweep analysis. This can result in both new
	// ejections as well as hosts being returned to service. Defaults to 10 seconds.
	// Structure is documented below.
	Interval *IntervalInitParameters `json:"interval,omitempty" tf:"interval,omitempty"`

	// Maximum percentage of hosts in the load balancing pool for the backend service
	// that can be ejected. Defaults to 10%.
	MaxEjectionPercent *float64 `json:"maxEjectionPercent,omitempty" tf:"max_ejection_percent,omitempty"`

	// The number of hosts in a cluster that must have enough request volume to detect
	// success rate outliers. If the number of hosts is less than this setting, outlier
	// detection via success rate statistics is not performed for any host in the
	// cluster. Defaults to 5.
	SuccessRateMinimumHosts *float64 `json:"successRateMinimumHosts,omitempty" tf:"success_rate_minimum_hosts,omitempty"`

	// The minimum number of total requests that must be collected in one interval (as
	// defined by the interval duration above) to include this host in success rate
	// based outlier detection. If the volume is lower than this setting, outlier
	// detection via success rate statistics is not performed for that host. Defaults
	// to 100.
	SuccessRateRequestVolume *float64 `json:"successRateRequestVolume,omitempty" tf:"success_rate_request_volume,omitempty"`

	// This factor is used to determine the ejection threshold for success rate outlier
	// ejection. The ejection threshold is the difference between the mean success
	// rate, and the product of this factor and the standard deviation of the mean
	// success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided
	// by a thousand to get a double. That is, if the desired factor is 1.9, the
	// runtime value should be 1900. Defaults to 1900.
	SuccessRateStdevFactor *float64 `json:"successRateStdevFactor,omitempty" tf:"success_rate_stdev_factor,omitempty"`
}

func (*OutlierDetectionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionInitParameters.

func (*OutlierDetectionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OutlierDetectionIntervalInitParameters

type OutlierDetectionIntervalInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*OutlierDetectionIntervalInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionIntervalInitParameters.

func (*OutlierDetectionIntervalInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OutlierDetectionIntervalObservation

type OutlierDetectionIntervalObservation struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*OutlierDetectionIntervalObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionIntervalObservation.

func (*OutlierDetectionIntervalObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OutlierDetectionIntervalParameters

type OutlierDetectionIntervalParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	// +kubebuilder:validation:Optional
	Seconds *float64 `json:"seconds" tf:"seconds,omitempty"`
}

func (*OutlierDetectionIntervalParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionIntervalParameters.

func (*OutlierDetectionIntervalParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OutlierDetectionObservation

type OutlierDetectionObservation struct {

	// The base time that a host is ejected for. The real time is equal to the base
	// time multiplied by the number of times the host has been ejected. Defaults to
	// 30000ms or 30s.
	// Structure is documented below.
	BaseEjectionTime *BaseEjectionTimeObservation `json:"baseEjectionTime,omitempty" tf:"base_ejection_time,omitempty"`

	// Number of errors before a host is ejected from the connection pool. When the
	// backend host is accessed over HTTP, a 5xx return code qualifies as an error.
	// Defaults to 5.
	ConsecutiveErrors *float64 `json:"consecutiveErrors,omitempty" tf:"consecutive_errors,omitempty"`

	// The number of consecutive gateway failures (502, 503, 504 status or connection
	// errors that are mapped to one of those status codes) before a consecutive
	// gateway failure ejection occurs. Defaults to 5.
	ConsecutiveGatewayFailure *float64 `json:"consecutiveGatewayFailure,omitempty" tf:"consecutive_gateway_failure,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through consecutive 5xx. This setting can be used to disable
	// ejection or to ramp it up slowly. Defaults to 100.
	EnforcingConsecutiveErrors *float64 `json:"enforcingConsecutiveErrors,omitempty" tf:"enforcing_consecutive_errors,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through consecutive gateway failures. This setting can be
	// used to disable ejection or to ramp it up slowly. Defaults to 0.
	EnforcingConsecutiveGatewayFailure *float64 `json:"enforcingConsecutiveGatewayFailure,omitempty" tf:"enforcing_consecutive_gateway_failure,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through success rate statistics. This setting can be used to
	// disable ejection or to ramp it up slowly. Defaults to 100.
	EnforcingSuccessRate *float64 `json:"enforcingSuccessRate,omitempty" tf:"enforcing_success_rate,omitempty"`

	// Time interval between ejection sweep analysis. This can result in both new
	// ejections as well as hosts being returned to service. Defaults to 10 seconds.
	// Structure is documented below.
	Interval *IntervalObservation `json:"interval,omitempty" tf:"interval,omitempty"`

	// Maximum percentage of hosts in the load balancing pool for the backend service
	// that can be ejected. Defaults to 10%.
	MaxEjectionPercent *float64 `json:"maxEjectionPercent,omitempty" tf:"max_ejection_percent,omitempty"`

	// The number of hosts in a cluster that must have enough request volume to detect
	// success rate outliers. If the number of hosts is less than this setting, outlier
	// detection via success rate statistics is not performed for any host in the
	// cluster. Defaults to 5.
	SuccessRateMinimumHosts *float64 `json:"successRateMinimumHosts,omitempty" tf:"success_rate_minimum_hosts,omitempty"`

	// The minimum number of total requests that must be collected in one interval (as
	// defined by the interval duration above) to include this host in success rate
	// based outlier detection. If the volume is lower than this setting, outlier
	// detection via success rate statistics is not performed for that host. Defaults
	// to 100.
	SuccessRateRequestVolume *float64 `json:"successRateRequestVolume,omitempty" tf:"success_rate_request_volume,omitempty"`

	// This factor is used to determine the ejection threshold for success rate outlier
	// ejection. The ejection threshold is the difference between the mean success
	// rate, and the product of this factor and the standard deviation of the mean
	// success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided
	// by a thousand to get a double. That is, if the desired factor is 1.9, the
	// runtime value should be 1900. Defaults to 1900.
	SuccessRateStdevFactor *float64 `json:"successRateStdevFactor,omitempty" tf:"success_rate_stdev_factor,omitempty"`
}

func (*OutlierDetectionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionObservation.

func (*OutlierDetectionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OutlierDetectionParameters

type OutlierDetectionParameters struct {

	// The base time that a host is ejected for. The real time is equal to the base
	// time multiplied by the number of times the host has been ejected. Defaults to
	// 30000ms or 30s.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	BaseEjectionTime *BaseEjectionTimeParameters `json:"baseEjectionTime,omitempty" tf:"base_ejection_time,omitempty"`

	// Number of errors before a host is ejected from the connection pool. When the
	// backend host is accessed over HTTP, a 5xx return code qualifies as an error.
	// Defaults to 5.
	// +kubebuilder:validation:Optional
	ConsecutiveErrors *float64 `json:"consecutiveErrors,omitempty" tf:"consecutive_errors,omitempty"`

	// The number of consecutive gateway failures (502, 503, 504 status or connection
	// errors that are mapped to one of those status codes) before a consecutive
	// gateway failure ejection occurs. Defaults to 5.
	// +kubebuilder:validation:Optional
	ConsecutiveGatewayFailure *float64 `json:"consecutiveGatewayFailure,omitempty" tf:"consecutive_gateway_failure,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through consecutive 5xx. This setting can be used to disable
	// ejection or to ramp it up slowly. Defaults to 100.
	// +kubebuilder:validation:Optional
	EnforcingConsecutiveErrors *float64 `json:"enforcingConsecutiveErrors,omitempty" tf:"enforcing_consecutive_errors,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through consecutive gateway failures. This setting can be
	// used to disable ejection or to ramp it up slowly. Defaults to 0.
	// +kubebuilder:validation:Optional
	EnforcingConsecutiveGatewayFailure *float64 `json:"enforcingConsecutiveGatewayFailure,omitempty" tf:"enforcing_consecutive_gateway_failure,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through success rate statistics. This setting can be used to
	// disable ejection or to ramp it up slowly. Defaults to 100.
	// +kubebuilder:validation:Optional
	EnforcingSuccessRate *float64 `json:"enforcingSuccessRate,omitempty" tf:"enforcing_success_rate,omitempty"`

	// Time interval between ejection sweep analysis. This can result in both new
	// ejections as well as hosts being returned to service. Defaults to 10 seconds.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Interval *IntervalParameters `json:"interval,omitempty" tf:"interval,omitempty"`

	// Maximum percentage of hosts in the load balancing pool for the backend service
	// that can be ejected. Defaults to 10%.
	// +kubebuilder:validation:Optional
	MaxEjectionPercent *float64 `json:"maxEjectionPercent,omitempty" tf:"max_ejection_percent,omitempty"`

	// The number of hosts in a cluster that must have enough request volume to detect
	// success rate outliers. If the number of hosts is less than this setting, outlier
	// detection via success rate statistics is not performed for any host in the
	// cluster. Defaults to 5.
	// +kubebuilder:validation:Optional
	SuccessRateMinimumHosts *float64 `json:"successRateMinimumHosts,omitempty" tf:"success_rate_minimum_hosts,omitempty"`

	// The minimum number of total requests that must be collected in one interval (as
	// defined by the interval duration above) to include this host in success rate
	// based outlier detection. If the volume is lower than this setting, outlier
	// detection via success rate statistics is not performed for that host. Defaults
	// to 100.
	// +kubebuilder:validation:Optional
	SuccessRateRequestVolume *float64 `json:"successRateRequestVolume,omitempty" tf:"success_rate_request_volume,omitempty"`

	// This factor is used to determine the ejection threshold for success rate outlier
	// ejection. The ejection threshold is the difference between the mean success
	// rate, and the product of this factor and the standard deviation of the mean
	// success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided
	// by a thousand to get a double. That is, if the desired factor is 1.9, the
	// runtime value should be 1900. Defaults to 1900.
	// +kubebuilder:validation:Optional
	SuccessRateStdevFactor *float64 `json:"successRateStdevFactor,omitempty" tf:"success_rate_stdev_factor,omitempty"`
}

func (*OutlierDetectionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionParameters.

func (*OutlierDetectionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PacketMirroring

type PacketMirroring struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.collectorIlb) || (has(self.initProvider) && has(self.initProvider.collectorIlb))",message="spec.forProvider.collectorIlb is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.mirroredResources) || (has(self.initProvider) && has(self.initProvider.mirroredResources))",message="spec.forProvider.mirroredResources is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.network) || (has(self.initProvider) && has(self.initProvider.network))",message="spec.forProvider.network is a required parameter"
	Spec   PacketMirroringSpec   `json:"spec"`
	Status PacketMirroringStatus `json:"status,omitempty"`
}

PacketMirroring is the Schema for the PacketMirrorings API. Packet Mirroring mirrors traffic to and from particular VM instances. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*PacketMirroring) DeepCopy

func (in *PacketMirroring) DeepCopy() *PacketMirroring

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PacketMirroring.

func (*PacketMirroring) DeepCopyInto

func (in *PacketMirroring) DeepCopyInto(out *PacketMirroring)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PacketMirroring) DeepCopyObject

func (in *PacketMirroring) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PacketMirroring) GetCondition

func (mg *PacketMirroring) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this PacketMirroring.

func (*PacketMirroring) GetConnectionDetailsMapping

func (tr *PacketMirroring) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this PacketMirroring

func (*PacketMirroring) GetDeletionPolicy

func (mg *PacketMirroring) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this PacketMirroring.

func (*PacketMirroring) GetID

func (tr *PacketMirroring) GetID() string

GetID returns ID of underlying Terraform resource of this PacketMirroring

func (*PacketMirroring) GetInitParameters

func (tr *PacketMirroring) GetInitParameters() (map[string]any, error)

GetInitParameters of this PacketMirroring

func (*PacketMirroring) GetManagementPolicies

func (mg *PacketMirroring) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this PacketMirroring.

func (*PacketMirroring) GetMergedParameters

func (tr *PacketMirroring) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this PacketMirroring

func (*PacketMirroring) GetObservation

func (tr *PacketMirroring) GetObservation() (map[string]any, error)

GetObservation of this PacketMirroring

func (*PacketMirroring) GetParameters

func (tr *PacketMirroring) GetParameters() (map[string]any, error)

GetParameters of this PacketMirroring

func (*PacketMirroring) GetProviderConfigReference

func (mg *PacketMirroring) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this PacketMirroring.

func (*PacketMirroring) GetPublishConnectionDetailsTo

func (mg *PacketMirroring) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this PacketMirroring.

func (*PacketMirroring) GetTerraformResourceType

func (mg *PacketMirroring) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this PacketMirroring

func (*PacketMirroring) GetTerraformSchemaVersion

func (tr *PacketMirroring) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*PacketMirroring) GetWriteConnectionSecretToReference

func (mg *PacketMirroring) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this PacketMirroring.

func (*PacketMirroring) Hub

func (tr *PacketMirroring) Hub()

Hub marks this type as a conversion hub.

func (*PacketMirroring) LateInitialize

func (tr *PacketMirroring) LateInitialize(attrs []byte) (bool, error)

LateInitialize this PacketMirroring using its observed tfState. returns True if there are any spec changes for the resource.

func (*PacketMirroring) ResolveReferences

func (mg *PacketMirroring) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this PacketMirroring.

func (*PacketMirroring) SetConditions

func (mg *PacketMirroring) SetConditions(c ...xpv1.Condition)

SetConditions of this PacketMirroring.

func (*PacketMirroring) SetDeletionPolicy

func (mg *PacketMirroring) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this PacketMirroring.

func (*PacketMirroring) SetManagementPolicies

func (mg *PacketMirroring) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this PacketMirroring.

func (*PacketMirroring) SetObservation

func (tr *PacketMirroring) SetObservation(obs map[string]any) error

SetObservation for this PacketMirroring

func (*PacketMirroring) SetParameters

func (tr *PacketMirroring) SetParameters(params map[string]any) error

SetParameters for this PacketMirroring

func (*PacketMirroring) SetProviderConfigReference

func (mg *PacketMirroring) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this PacketMirroring.

func (*PacketMirroring) SetPublishConnectionDetailsTo

func (mg *PacketMirroring) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this PacketMirroring.

func (*PacketMirroring) SetWriteConnectionSecretToReference

func (mg *PacketMirroring) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this PacketMirroring.

type PacketMirroringInitParameters

type PacketMirroringInitParameters struct {

	// The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL)
	// that will be used as collector for mirrored traffic. The
	// specified forwarding rule must have is_mirroring_collector
	// set to true.
	// Structure is documented below.
	CollectorIlb *CollectorIlbInitParameters `json:"collectorIlb,omitempty" tf:"collector_ilb,omitempty"`

	// A human-readable description of the rule.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A filter for mirrored traffic.  If unset, all traffic is mirrored.
	// Structure is documented below.
	Filter *FilterInitParameters `json:"filter,omitempty" tf:"filter,omitempty"`

	// A means of specifying which resources to mirror.
	// Structure is documented below.
	MirroredResources *MirroredResourcesInitParameters `json:"mirroredResources,omitempty" tf:"mirrored_resources,omitempty"`

	// Specifies the mirrored VPC network. Only packets in this network
	// will be mirrored. All mirrored VMs should have a NIC in the given
	// network. All mirrored subnetworks should belong to the given network.
	// Structure is documented below.
	Network *NetworkInitParameters `json:"network,omitempty" tf:"network,omitempty"`

	// Since only one rule can be active at a time, priority is
	// used to break ties in the case of two rules that apply to
	// the same instances.
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`
}

func (*PacketMirroringInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PacketMirroringInitParameters.

func (*PacketMirroringInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PacketMirroringList

type PacketMirroringList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []PacketMirroring `json:"items"`
}

PacketMirroringList contains a list of PacketMirrorings

func (*PacketMirroringList) DeepCopy

func (in *PacketMirroringList) DeepCopy() *PacketMirroringList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PacketMirroringList.

func (*PacketMirroringList) DeepCopyInto

func (in *PacketMirroringList) DeepCopyInto(out *PacketMirroringList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PacketMirroringList) DeepCopyObject

func (in *PacketMirroringList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PacketMirroringList) GetItems

func (l *PacketMirroringList) GetItems() []resource.Managed

GetItems of this PacketMirroringList.

type PacketMirroringObservation

type PacketMirroringObservation struct {

	// The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL)
	// that will be used as collector for mirrored traffic. The
	// specified forwarding rule must have is_mirroring_collector
	// set to true.
	// Structure is documented below.
	CollectorIlb *CollectorIlbObservation `json:"collectorIlb,omitempty" tf:"collector_ilb,omitempty"`

	// A human-readable description of the rule.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A filter for mirrored traffic.  If unset, all traffic is mirrored.
	// Structure is documented below.
	Filter *FilterObservation `json:"filter,omitempty" tf:"filter,omitempty"`

	// an identifier for the resource with format projects/{{project}}/regions/{{region}}/packetMirrorings/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// A means of specifying which resources to mirror.
	// Structure is documented below.
	MirroredResources *MirroredResourcesObservation `json:"mirroredResources,omitempty" tf:"mirrored_resources,omitempty"`

	// Specifies the mirrored VPC network. Only packets in this network
	// will be mirrored. All mirrored VMs should have a NIC in the given
	// network. All mirrored subnetworks should belong to the given network.
	// Structure is documented below.
	Network *NetworkObservation `json:"network,omitempty" tf:"network,omitempty"`

	// Since only one rule can be active at a time, priority is
	// used to break ties in the case of two rules that apply to
	// the same instances.
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The Region in which the created address should reside.
	// If it is not provided, the provider region is used.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`
}

func (*PacketMirroringObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PacketMirroringObservation.

func (*PacketMirroringObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PacketMirroringParameters

type PacketMirroringParameters struct {

	// The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL)
	// that will be used as collector for mirrored traffic. The
	// specified forwarding rule must have is_mirroring_collector
	// set to true.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CollectorIlb *CollectorIlbParameters `json:"collectorIlb,omitempty" tf:"collector_ilb,omitempty"`

	// A human-readable description of the rule.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A filter for mirrored traffic.  If unset, all traffic is mirrored.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Filter *FilterParameters `json:"filter,omitempty" tf:"filter,omitempty"`

	// A means of specifying which resources to mirror.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	MirroredResources *MirroredResourcesParameters `json:"mirroredResources,omitempty" tf:"mirrored_resources,omitempty"`

	// Specifies the mirrored VPC network. Only packets in this network
	// will be mirrored. All mirrored VMs should have a NIC in the given
	// network. All mirrored subnetworks should belong to the given network.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Network *NetworkParameters `json:"network,omitempty" tf:"network,omitempty"`

	// Since only one rule can be active at a time, priority is
	// used to break ties in the case of two rules that apply to
	// the same instances.
	// +kubebuilder:validation:Optional
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The Region in which the created address should reside.
	// If it is not provided, the provider region is used.
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"region,omitempty"`
}

func (*PacketMirroringParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PacketMirroringParameters.

func (*PacketMirroringParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PacketMirroringSpec

type PacketMirroringSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     PacketMirroringParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider PacketMirroringInitParameters `json:"initProvider,omitempty"`
}

PacketMirroringSpec defines the desired state of PacketMirroring

func (*PacketMirroringSpec) DeepCopy

func (in *PacketMirroringSpec) DeepCopy() *PacketMirroringSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PacketMirroringSpec.

func (*PacketMirroringSpec) DeepCopyInto

func (in *PacketMirroringSpec) DeepCopyInto(out *PacketMirroringSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PacketMirroringStatus

type PacketMirroringStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        PacketMirroringObservation `json:"atProvider,omitempty"`
}

PacketMirroringStatus defines the observed state of PacketMirroring.

func (*PacketMirroringStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PacketMirroringStatus.

func (*PacketMirroringStatus) DeepCopyInto

func (in *PacketMirroringStatus) DeepCopyInto(out *PacketMirroringStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ParamsInitParameters

type ParamsInitParameters struct {

	// A tag is a key-value pair that can be attached to a Google Cloud resource. You can use tags to conditionally allow or deny policies based on whether a resource has a specific tag. This value is not returned by the API.
	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`
}

func (*ParamsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParamsInitParameters.

func (*ParamsInitParameters) DeepCopyInto

func (in *ParamsInitParameters) DeepCopyInto(out *ParamsInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ParamsObservation

type ParamsObservation struct {

	// A tag is a key-value pair that can be attached to a Google Cloud resource. You can use tags to conditionally allow or deny policies based on whether a resource has a specific tag. This value is not returned by the API.
	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`
}

func (*ParamsObservation) DeepCopy

func (in *ParamsObservation) DeepCopy() *ParamsObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParamsObservation.

func (*ParamsObservation) DeepCopyInto

func (in *ParamsObservation) DeepCopyInto(out *ParamsObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ParamsParameters

type ParamsParameters struct {

	// A tag is a key-value pair that can be attached to a Google Cloud resource. You can use tags to conditionally allow or deny policies based on whether a resource has a specific tag. This value is not returned by the API.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	ResourceManagerTags map[string]*string `json:"resourceManagerTags,omitempty" tf:"resource_manager_tags,omitempty"`
}

func (*ParamsParameters) DeepCopy

func (in *ParamsParameters) DeepCopy() *ParamsParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParamsParameters.

func (*ParamsParameters) DeepCopyInto

func (in *ParamsParameters) DeepCopyInto(out *ParamsParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionCorsPolicyInitParameters

type PathMatcherDefaultRouteActionCorsPolicyInitParameters struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*PathMatcherDefaultRouteActionCorsPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionCorsPolicyInitParameters.

func (*PathMatcherDefaultRouteActionCorsPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionCorsPolicyObservation

type PathMatcherDefaultRouteActionCorsPolicyObservation struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*PathMatcherDefaultRouteActionCorsPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionCorsPolicyObservation.

func (*PathMatcherDefaultRouteActionCorsPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionCorsPolicyParameters

type PathMatcherDefaultRouteActionCorsPolicyParameters struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	// +kubebuilder:validation:Optional
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	// +kubebuilder:validation:Optional
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	// +kubebuilder:validation:Optional
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	// +kubebuilder:validation:Optional
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	// +kubebuilder:validation:Optional
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	// +kubebuilder:validation:Optional
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	// +kubebuilder:validation:Optional
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	// +kubebuilder:validation:Optional
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*PathMatcherDefaultRouteActionCorsPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionCorsPolicyParameters.

func (*PathMatcherDefaultRouteActionCorsPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionFaultInjectionPolicyAbortInitParameters

type PathMatcherDefaultRouteActionFaultInjectionPolicyAbortInitParameters struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyAbortInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyAbortInitParameters.

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyAbortInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionFaultInjectionPolicyAbortObservation

type PathMatcherDefaultRouteActionFaultInjectionPolicyAbortObservation struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyAbortObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyAbortObservation.

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyAbortObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionFaultInjectionPolicyAbortParameters

type PathMatcherDefaultRouteActionFaultInjectionPolicyAbortParameters struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	// +kubebuilder:validation:Optional
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	// +kubebuilder:validation:Optional
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyAbortParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyAbortParameters.

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyAbortParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters

type PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters.

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation

type PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation.

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters

type PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters.

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionFaultInjectionPolicyDelayInitParameters

type PathMatcherDefaultRouteActionFaultInjectionPolicyDelayInitParameters struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	FixedDelay *PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyDelayInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyDelayInitParameters.

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyDelayInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionFaultInjectionPolicyDelayObservation

type PathMatcherDefaultRouteActionFaultInjectionPolicyDelayObservation struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	FixedDelay *PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyDelayObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyDelayObservation.

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyDelayObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionFaultInjectionPolicyDelayParameters

type PathMatcherDefaultRouteActionFaultInjectionPolicyDelayParameters struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FixedDelay *PathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	// +kubebuilder:validation:Optional
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyDelayParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyDelayParameters.

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyDelayParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionFaultInjectionPolicyInitParameters

type PathMatcherDefaultRouteActionFaultInjectionPolicyInitParameters struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	Abort *PathMatcherDefaultRouteActionFaultInjectionPolicyAbortInitParameters `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	Delay *PathMatcherDefaultRouteActionFaultInjectionPolicyDelayInitParameters `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyInitParameters.

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionFaultInjectionPolicyObservation

type PathMatcherDefaultRouteActionFaultInjectionPolicyObservation struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	Abort *PathMatcherDefaultRouteActionFaultInjectionPolicyAbortObservation `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	Delay *PathMatcherDefaultRouteActionFaultInjectionPolicyDelayObservation `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyObservation.

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionFaultInjectionPolicyParameters

type PathMatcherDefaultRouteActionFaultInjectionPolicyParameters struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Abort *PathMatcherDefaultRouteActionFaultInjectionPolicyAbortParameters `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Delay *PathMatcherDefaultRouteActionFaultInjectionPolicyDelayParameters `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyParameters.

func (*PathMatcherDefaultRouteActionFaultInjectionPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionInitParameters

type PathMatcherDefaultRouteActionInitParameters struct {

	// The specification for allowing client side cross-origin requests. Please see W3C
	// Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	CorsPolicy *PathMatcherDefaultRouteActionCorsPolicyInitParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the
	// resiliency of clients to backend service failure. As part of fault injection,
	// when clients send requests to a backend service, delays can be introduced by
	// Loadbalancer on a percentage of requests before sending those request to the
	// backend service. Similarly requests from clients can be aborted by the
	// Loadbalancer for a percentage of requests. timeout and retry_policy will be
	// ignored by clients that are configured with a fault_injection_policy.
	// Structure is documented below.
	FaultInjectionPolicy *PathMatcherDefaultRouteActionFaultInjectionPolicyInitParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are
	// shadowed to a separate mirrored backend service. Loadbalancer does not wait for
	// responses from the shadow service. Prior to sending traffic to the shadow
	// service, the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	RequestMirrorPolicy *PathMatcherDefaultRouteActionRequestMirrorPolicyInitParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	RetryPolicy *PathMatcherDefaultRouteActionRetryPolicyInitParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time
	// the request is has been fully processed (i.e. end-of-stream) up until the
	// response has been completely processed. Timeout includes all retries. If not
	// specified, the default value is 15 seconds.
	// Structure is documented below.
	Timeout *PathMatcherDefaultRouteActionTimeoutInitParameters `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to
	// the matched service
	// Structure is documented below.
	URLRewrite *PathMatcherDefaultRouteActionURLRewriteInitParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match
	// occurs. The weights determine the fraction of traffic that flows to their
	// corresponding backend service. If all traffic needs to go to a single backend
	// service, there must be one  weightedBackendService with weight set to a non 0
	// number. Once a backendService is identified and before forwarding the request to
	// the backend service, advanced routing actions like Url rewrites and header
	// transformations are applied depending on additional settings specified in this
	// HttpRouteAction.
	// Structure is documented below.
	WeightedBackendServices []PathMatcherDefaultRouteActionWeightedBackendServicesInitParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*PathMatcherDefaultRouteActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionInitParameters.

func (*PathMatcherDefaultRouteActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionObservation

type PathMatcherDefaultRouteActionObservation struct {

	// The specification for allowing client side cross-origin requests. Please see W3C
	// Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	CorsPolicy *PathMatcherDefaultRouteActionCorsPolicyObservation `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the
	// resiliency of clients to backend service failure. As part of fault injection,
	// when clients send requests to a backend service, delays can be introduced by
	// Loadbalancer on a percentage of requests before sending those request to the
	// backend service. Similarly requests from clients can be aborted by the
	// Loadbalancer for a percentage of requests. timeout and retry_policy will be
	// ignored by clients that are configured with a fault_injection_policy.
	// Structure is documented below.
	FaultInjectionPolicy *PathMatcherDefaultRouteActionFaultInjectionPolicyObservation `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are
	// shadowed to a separate mirrored backend service. Loadbalancer does not wait for
	// responses from the shadow service. Prior to sending traffic to the shadow
	// service, the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	RequestMirrorPolicy *PathMatcherDefaultRouteActionRequestMirrorPolicyObservation `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	RetryPolicy *PathMatcherDefaultRouteActionRetryPolicyObservation `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time
	// the request is has been fully processed (i.e. end-of-stream) up until the
	// response has been completely processed. Timeout includes all retries. If not
	// specified, the default value is 15 seconds.
	// Structure is documented below.
	Timeout *PathMatcherDefaultRouteActionTimeoutObservation `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to
	// the matched service
	// Structure is documented below.
	URLRewrite *PathMatcherDefaultRouteActionURLRewriteObservation `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match
	// occurs. The weights determine the fraction of traffic that flows to their
	// corresponding backend service. If all traffic needs to go to a single backend
	// service, there must be one  weightedBackendService with weight set to a non 0
	// number. Once a backendService is identified and before forwarding the request to
	// the backend service, advanced routing actions like Url rewrites and header
	// transformations are applied depending on additional settings specified in this
	// HttpRouteAction.
	// Structure is documented below.
	WeightedBackendServices []PathMatcherDefaultRouteActionWeightedBackendServicesObservation `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*PathMatcherDefaultRouteActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionObservation.

func (*PathMatcherDefaultRouteActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionParameters

type PathMatcherDefaultRouteActionParameters struct {

	// The specification for allowing client side cross-origin requests. Please see W3C
	// Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CorsPolicy *PathMatcherDefaultRouteActionCorsPolicyParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the
	// resiliency of clients to backend service failure. As part of fault injection,
	// when clients send requests to a backend service, delays can be introduced by
	// Loadbalancer on a percentage of requests before sending those request to the
	// backend service. Similarly requests from clients can be aborted by the
	// Loadbalancer for a percentage of requests. timeout and retry_policy will be
	// ignored by clients that are configured with a fault_injection_policy.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FaultInjectionPolicy *PathMatcherDefaultRouteActionFaultInjectionPolicyParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are
	// shadowed to a separate mirrored backend service. Loadbalancer does not wait for
	// responses from the shadow service. Prior to sending traffic to the shadow
	// service, the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestMirrorPolicy *PathMatcherDefaultRouteActionRequestMirrorPolicyParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RetryPolicy *PathMatcherDefaultRouteActionRetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time
	// the request is has been fully processed (i.e. end-of-stream) up until the
	// response has been completely processed. Timeout includes all retries. If not
	// specified, the default value is 15 seconds.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Timeout *PathMatcherDefaultRouteActionTimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to
	// the matched service
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	URLRewrite *PathMatcherDefaultRouteActionURLRewriteParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match
	// occurs. The weights determine the fraction of traffic that flows to their
	// corresponding backend service. If all traffic needs to go to a single backend
	// service, there must be one  weightedBackendService with weight set to a non 0
	// number. Once a backendService is identified and before forwarding the request to
	// the backend service, advanced routing actions like Url rewrites and header
	// transformations are applied depending on additional settings specified in this
	// HttpRouteAction.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	WeightedBackendServices []PathMatcherDefaultRouteActionWeightedBackendServicesParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*PathMatcherDefaultRouteActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionParameters.

func (*PathMatcherDefaultRouteActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionRequestMirrorPolicyInitParameters

type PathMatcherDefaultRouteActionRequestMirrorPolicyInitParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`
}

func (*PathMatcherDefaultRouteActionRequestMirrorPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionRequestMirrorPolicyInitParameters.

func (*PathMatcherDefaultRouteActionRequestMirrorPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionRequestMirrorPolicyObservation

type PathMatcherDefaultRouteActionRequestMirrorPolicyObservation struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`
}

func (*PathMatcherDefaultRouteActionRequestMirrorPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionRequestMirrorPolicyObservation.

func (*PathMatcherDefaultRouteActionRequestMirrorPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionRequestMirrorPolicyParameters

type PathMatcherDefaultRouteActionRequestMirrorPolicyParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +kubebuilder:validation:Optional
	BackendService *string `json:"backendService" tf:"backend_service,omitempty"`
}

func (*PathMatcherDefaultRouteActionRequestMirrorPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionRequestMirrorPolicyParameters.

func (*PathMatcherDefaultRouteActionRequestMirrorPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionRetryPolicyInitParameters

type PathMatcherDefaultRouteActionRetryPolicyInitParameters struct {

	// Specifies the allowed number retries. This number must be > 0.
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	PerTryTimeout *PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutInitParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*PathMatcherDefaultRouteActionRetryPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionRetryPolicyInitParameters.

func (*PathMatcherDefaultRouteActionRetryPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionRetryPolicyObservation

type PathMatcherDefaultRouteActionRetryPolicyObservation struct {

	// Specifies the allowed number retries. This number must be > 0.
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	PerTryTimeout *PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutObservation `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*PathMatcherDefaultRouteActionRetryPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionRetryPolicyObservation.

func (*PathMatcherDefaultRouteActionRetryPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionRetryPolicyParameters

type PathMatcherDefaultRouteActionRetryPolicyParameters struct {

	// Specifies the allowed number retries. This number must be > 0.
	// +kubebuilder:validation:Optional
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	PerTryTimeout *PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	// +kubebuilder:validation:Optional
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*PathMatcherDefaultRouteActionRetryPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionRetryPolicyParameters.

func (*PathMatcherDefaultRouteActionRetryPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutInitParameters

type PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutInitParameters.

func (*PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutObservation

type PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutObservation.

func (*PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutParameters

type PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutParameters.

func (*PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionTimeoutInitParameters

type PathMatcherDefaultRouteActionTimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PathMatcherDefaultRouteActionTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionTimeoutInitParameters.

func (*PathMatcherDefaultRouteActionTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionTimeoutObservation

type PathMatcherDefaultRouteActionTimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PathMatcherDefaultRouteActionTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionTimeoutObservation.

func (*PathMatcherDefaultRouteActionTimeoutObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionTimeoutParameters

type PathMatcherDefaultRouteActionTimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PathMatcherDefaultRouteActionTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionTimeoutParameters.

func (*PathMatcherDefaultRouteActionTimeoutParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionURLRewriteInitParameters

type PathMatcherDefaultRouteActionURLRewriteInitParameters struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*PathMatcherDefaultRouteActionURLRewriteInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionURLRewriteInitParameters.

func (*PathMatcherDefaultRouteActionURLRewriteInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionURLRewriteObservation

type PathMatcherDefaultRouteActionURLRewriteObservation struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*PathMatcherDefaultRouteActionURLRewriteObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionURLRewriteObservation.

func (*PathMatcherDefaultRouteActionURLRewriteObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionURLRewriteParameters

type PathMatcherDefaultRouteActionURLRewriteParameters struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	// +kubebuilder:validation:Optional
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*PathMatcherDefaultRouteActionURLRewriteParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionURLRewriteParameters.

func (*PathMatcherDefaultRouteActionURLRewriteParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionInitParameters

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionInitParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionInitParameters.

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionObservation

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionObservation struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionObservation.

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionParameters

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestHeadersToAdd []PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	// +kubebuilder:validation:Optional
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ResponseHeadersToAdd []PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	// +kubebuilder:validation:Optional
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionParameters.

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters.

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation.

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters.

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters.

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation.

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters

type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters.

func (*PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionWeightedBackendServicesInitParameters

type PathMatcherDefaultRouteActionWeightedBackendServicesInitParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionInitParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*PathMatcherDefaultRouteActionWeightedBackendServicesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesInitParameters.

func (*PathMatcherDefaultRouteActionWeightedBackendServicesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionWeightedBackendServicesObservation

type PathMatcherDefaultRouteActionWeightedBackendServicesObservation struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionObservation `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*PathMatcherDefaultRouteActionWeightedBackendServicesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesObservation.

func (*PathMatcherDefaultRouteActionWeightedBackendServicesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultRouteActionWeightedBackendServicesParameters

type PathMatcherDefaultRouteActionWeightedBackendServicesParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +kubebuilder:validation:Optional
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HeaderAction *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	// +kubebuilder:validation:Optional
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*PathMatcherDefaultRouteActionWeightedBackendServicesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesParameters.

func (*PathMatcherDefaultRouteActionWeightedBackendServicesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultURLRedirectInitParameters

type PathMatcherDefaultURLRedirectInitParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained. The default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*PathMatcherDefaultURLRedirectInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultURLRedirectInitParameters.

func (*PathMatcherDefaultURLRedirectInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultURLRedirectObservation

type PathMatcherDefaultURLRedirectObservation struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained. The default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*PathMatcherDefaultURLRedirectObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultURLRedirectObservation.

func (*PathMatcherDefaultURLRedirectObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherDefaultURLRedirectParameters

type PathMatcherDefaultURLRedirectParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	// +kubebuilder:validation:Optional
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	// +kubebuilder:validation:Optional
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	// +kubebuilder:validation:Optional
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained. The default value is false.
	// +kubebuilder:validation:Optional
	StripQuery *bool `json:"stripQuery" tf:"strip_query,omitempty"`
}

func (*PathMatcherDefaultURLRedirectParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultURLRedirectParameters.

func (*PathMatcherDefaultURLRedirectParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherHeaderActionInitParameters

type PathMatcherHeaderActionInitParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []PathMatcherHeaderActionRequestHeadersToAddInitParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []PathMatcherHeaderActionResponseHeadersToAddInitParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*PathMatcherHeaderActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherHeaderActionInitParameters.

func (*PathMatcherHeaderActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherHeaderActionObservation

type PathMatcherHeaderActionObservation struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []PathMatcherHeaderActionRequestHeadersToAddObservation `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []PathMatcherHeaderActionResponseHeadersToAddObservation `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*PathMatcherHeaderActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherHeaderActionObservation.

func (*PathMatcherHeaderActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherHeaderActionParameters

type PathMatcherHeaderActionParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestHeadersToAdd []PathMatcherHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	// +kubebuilder:validation:Optional
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ResponseHeadersToAdd []PathMatcherHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	// +kubebuilder:validation:Optional
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*PathMatcherHeaderActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherHeaderActionParameters.

func (*PathMatcherHeaderActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherHeaderActionRequestHeadersToAddInitParameters

type PathMatcherHeaderActionRequestHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*PathMatcherHeaderActionRequestHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherHeaderActionRequestHeadersToAddInitParameters.

func (*PathMatcherHeaderActionRequestHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherHeaderActionRequestHeadersToAddObservation

type PathMatcherHeaderActionRequestHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*PathMatcherHeaderActionRequestHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherHeaderActionRequestHeadersToAddObservation.

func (*PathMatcherHeaderActionRequestHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherHeaderActionRequestHeadersToAddParameters

type PathMatcherHeaderActionRequestHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*PathMatcherHeaderActionRequestHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherHeaderActionRequestHeadersToAddParameters.

func (*PathMatcherHeaderActionRequestHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherHeaderActionResponseHeadersToAddInitParameters

type PathMatcherHeaderActionResponseHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*PathMatcherHeaderActionResponseHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherHeaderActionResponseHeadersToAddInitParameters.

func (*PathMatcherHeaderActionResponseHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherHeaderActionResponseHeadersToAddObservation

type PathMatcherHeaderActionResponseHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*PathMatcherHeaderActionResponseHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherHeaderActionResponseHeadersToAddObservation.

func (*PathMatcherHeaderActionResponseHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherHeaderActionResponseHeadersToAddParameters

type PathMatcherHeaderActionResponseHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*PathMatcherHeaderActionResponseHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherHeaderActionResponseHeadersToAddParameters.

func (*PathMatcherHeaderActionResponseHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherInitParameters

type PathMatcherInitParameters struct {

	// A reference to a RegionBackendService resource. This will be used if
	// none of the pathRules defined by this PathMatcher is matched by
	// the URL's path portion.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"`

	// Reference to a RegionBackendService in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceRef *v1.Reference `json:"defaultServiceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceSelector *v1.Selector `json:"defaultServiceSelector,omitempty" tf:"-"`

	// When none of the specified hostRules match, the request is redirected to a URL specified
	// by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
	// defaultRouteAction must not be set.
	// Structure is documented below.
	DefaultURLRedirect *PathMatcherDefaultURLRedirectInitParameters `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"`

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The name to which this PathMatcher is referred by the HostRule.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The list of path rules. Use this list instead of routeRules when routing based
	// on simple path matching is all that's required. The order by which path rules
	// are specified does not matter. Matches are always done on the longest-path-first
	// basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/*
	// irrespective of the order in which those paths appear in this list. Within a
	// given pathMatcher, only one of pathRules or routeRules must be set.
	// Structure is documented below.
	PathRule []PathRuleInitParameters `json:"pathRule,omitempty" tf:"path_rule,omitempty"`

	// The list of ordered HTTP route rules. Use this list instead of pathRules when
	// advanced route matching and routing actions are desired. The order of specifying
	// routeRules matters: the first rule that matches will cause its specified routing
	// action to take effect. Within a given pathMatcher, only one of pathRules or
	// routeRules must be set. routeRules are not supported in UrlMaps intended for
	// External load balancers.
	// Structure is documented below.
	RouteRules []RouteRulesInitParameters `json:"routeRules,omitempty" tf:"route_rules,omitempty"`
}

func (*PathMatcherInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherInitParameters.

func (*PathMatcherInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherObservation

type PathMatcherObservation struct {

	// A reference to a RegionBackendService resource. This will be used if
	// none of the pathRules defined by this PathMatcher is matched by
	// the URL's path portion.
	DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"`

	// When none of the specified hostRules match, the request is redirected to a URL specified
	// by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
	// defaultRouteAction must not be set.
	// Structure is documented below.
	DefaultURLRedirect *PathMatcherDefaultURLRedirectObservation `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"`

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The name to which this PathMatcher is referred by the HostRule.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The list of path rules. Use this list instead of routeRules when routing based
	// on simple path matching is all that's required. The order by which path rules
	// are specified does not matter. Matches are always done on the longest-path-first
	// basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/*
	// irrespective of the order in which those paths appear in this list. Within a
	// given pathMatcher, only one of pathRules or routeRules must be set.
	// Structure is documented below.
	PathRule []PathRuleObservation `json:"pathRule,omitempty" tf:"path_rule,omitempty"`

	// The list of ordered HTTP route rules. Use this list instead of pathRules when
	// advanced route matching and routing actions are desired. The order of specifying
	// routeRules matters: the first rule that matches will cause its specified routing
	// action to take effect. Within a given pathMatcher, only one of pathRules or
	// routeRules must be set. routeRules are not supported in UrlMaps intended for
	// External load balancers.
	// Structure is documented below.
	RouteRules []RouteRulesObservation `json:"routeRules,omitempty" tf:"route_rules,omitempty"`
}

func (*PathMatcherObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherObservation.

func (*PathMatcherObservation) DeepCopyInto

func (in *PathMatcherObservation) DeepCopyInto(out *PathMatcherObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherParameters

type PathMatcherParameters struct {

	// A reference to a RegionBackendService resource. This will be used if
	// none of the pathRules defined by this PathMatcher is matched by
	// the URL's path portion.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"`

	// Reference to a RegionBackendService in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceRef *v1.Reference `json:"defaultServiceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceSelector *v1.Selector `json:"defaultServiceSelector,omitempty" tf:"-"`

	// When none of the specified hostRules match, the request is redirected to a URL specified
	// by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
	// defaultRouteAction must not be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	DefaultURLRedirect *PathMatcherDefaultURLRedirectParameters `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"`

	// An optional description of this resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The name to which this PathMatcher is referred by the HostRule.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The list of path rules. Use this list instead of routeRules when routing based
	// on simple path matching is all that's required. The order by which path rules
	// are specified does not matter. Matches are always done on the longest-path-first
	// basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/*
	// irrespective of the order in which those paths appear in this list. Within a
	// given pathMatcher, only one of pathRules or routeRules must be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	PathRule []PathRuleParameters `json:"pathRule,omitempty" tf:"path_rule,omitempty"`

	// The list of ordered HTTP route rules. Use this list instead of pathRules when
	// advanced route matching and routing actions are desired. The order of specifying
	// routeRules matters: the first rule that matches will cause its specified routing
	// action to take effect. Within a given pathMatcher, only one of pathRules or
	// routeRules must be set. routeRules are not supported in UrlMaps intended for
	// External load balancers.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RouteRules []RouteRulesParameters `json:"routeRules,omitempty" tf:"route_rules,omitempty"`
}

func (*PathMatcherParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherParameters.

func (*PathMatcherParameters) DeepCopyInto

func (in *PathMatcherParameters) DeepCopyInto(out *PathMatcherParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherPathRuleInitParameters

type PathMatcherPathRuleInitParameters struct {

	// The list of path patterns to match. Each must start with / and the only place a
	// * is allowed is at the end following a /. The string fed to the path matcher
	// does not include any text after the first ? or #, and those chars are not
	// allowed here.
	// +listType=set
	Paths []*string `json:"paths,omitempty" tf:"paths,omitempty"`

	// In response to a matching matchRule, the load balancer performs advanced routing
	// actions like URL rewrites, header transformations, etc. prior to forwarding the
	// request to the selected backend. If  routeAction specifies any
	// weightedBackendServices, service must not be set. Conversely if service is set,
	// routeAction cannot contain any  weightedBackendServices. Only one of routeAction
	// or urlRedirect must be set.
	// Structure is documented below.
	RouteAction *PathRuleRouteActionInitParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"`

	// The backend service or backend bucket link that should be matched by this test.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.BackendBucket
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// Reference to a BackendBucket in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"`

	// Selector for a BackendBucket in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"`

	// When this rule is matched, the request is redirected to a URL specified by
	// urlRedirect. If urlRedirect is specified, service or routeAction must not be
	// set.
	// Structure is documented below.
	URLRedirect *PathRuleURLRedirectInitParameters `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"`
}

func (*PathMatcherPathRuleInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherPathRuleInitParameters.

func (*PathMatcherPathRuleInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherPathRuleObservation

type PathMatcherPathRuleObservation struct {

	// The list of path patterns to match. Each must start with / and the only place a
	// * is allowed is at the end following a /. The string fed to the path matcher
	// does not include any text after the first ? or #, and those chars are not
	// allowed here.
	// +listType=set
	Paths []*string `json:"paths,omitempty" tf:"paths,omitempty"`

	// In response to a matching matchRule, the load balancer performs advanced routing
	// actions like URL rewrites, header transformations, etc. prior to forwarding the
	// request to the selected backend. If  routeAction specifies any
	// weightedBackendServices, service must not be set. Conversely if service is set,
	// routeAction cannot contain any  weightedBackendServices. Only one of routeAction
	// or urlRedirect must be set.
	// Structure is documented below.
	RouteAction *PathRuleRouteActionObservation `json:"routeAction,omitempty" tf:"route_action,omitempty"`

	// The backend service or backend bucket link that should be matched by this test.
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// When this rule is matched, the request is redirected to a URL specified by
	// urlRedirect. If urlRedirect is specified, service or routeAction must not be
	// set.
	// Structure is documented below.
	URLRedirect *PathRuleURLRedirectObservation `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"`
}

func (*PathMatcherPathRuleObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherPathRuleObservation.

func (*PathMatcherPathRuleObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherPathRuleParameters

type PathMatcherPathRuleParameters struct {

	// The list of path patterns to match. Each must start with / and the only place a
	// * is allowed is at the end following a /. The string fed to the path matcher
	// does not include any text after the first ? or #, and those chars are not
	// allowed here.
	// +kubebuilder:validation:Optional
	// +listType=set
	Paths []*string `json:"paths" tf:"paths,omitempty"`

	// In response to a matching matchRule, the load balancer performs advanced routing
	// actions like URL rewrites, header transformations, etc. prior to forwarding the
	// request to the selected backend. If  routeAction specifies any
	// weightedBackendServices, service must not be set. Conversely if service is set,
	// routeAction cannot contain any  weightedBackendServices. Only one of routeAction
	// or urlRedirect must be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RouteAction *PathRuleRouteActionParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"`

	// The backend service or backend bucket link that should be matched by this test.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.BackendBucket
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// Reference to a BackendBucket in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"`

	// Selector for a BackendBucket in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"`

	// When this rule is matched, the request is redirected to a URL specified by
	// urlRedirect. If urlRedirect is specified, service or routeAction must not be
	// set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	URLRedirect *PathRuleURLRedirectParameters `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"`
}

func (*PathMatcherPathRuleParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherPathRuleParameters.

func (*PathMatcherPathRuleParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesHeaderActionInitParameters

type PathMatcherRouteRulesHeaderActionInitParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []PathMatcherRouteRulesHeaderActionRequestHeadersToAddInitParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []PathMatcherRouteRulesHeaderActionResponseHeadersToAddInitParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*PathMatcherRouteRulesHeaderActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesHeaderActionInitParameters.

func (*PathMatcherRouteRulesHeaderActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesHeaderActionObservation

type PathMatcherRouteRulesHeaderActionObservation struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []PathMatcherRouteRulesHeaderActionRequestHeadersToAddObservation `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []PathMatcherRouteRulesHeaderActionResponseHeadersToAddObservation `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*PathMatcherRouteRulesHeaderActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesHeaderActionObservation.

func (*PathMatcherRouteRulesHeaderActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesHeaderActionParameters

type PathMatcherRouteRulesHeaderActionParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestHeadersToAdd []PathMatcherRouteRulesHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	// +kubebuilder:validation:Optional
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ResponseHeadersToAdd []PathMatcherRouteRulesHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	// +kubebuilder:validation:Optional
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*PathMatcherRouteRulesHeaderActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesHeaderActionParameters.

func (*PathMatcherRouteRulesHeaderActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesHeaderActionRequestHeadersToAddInitParameters

type PathMatcherRouteRulesHeaderActionRequestHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*PathMatcherRouteRulesHeaderActionRequestHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesHeaderActionRequestHeadersToAddInitParameters.

func (*PathMatcherRouteRulesHeaderActionRequestHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesHeaderActionRequestHeadersToAddObservation

type PathMatcherRouteRulesHeaderActionRequestHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*PathMatcherRouteRulesHeaderActionRequestHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesHeaderActionRequestHeadersToAddObservation.

func (*PathMatcherRouteRulesHeaderActionRequestHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesHeaderActionRequestHeadersToAddParameters

type PathMatcherRouteRulesHeaderActionRequestHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*PathMatcherRouteRulesHeaderActionRequestHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesHeaderActionRequestHeadersToAddParameters.

func (*PathMatcherRouteRulesHeaderActionRequestHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesHeaderActionResponseHeadersToAddInitParameters

type PathMatcherRouteRulesHeaderActionResponseHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*PathMatcherRouteRulesHeaderActionResponseHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesHeaderActionResponseHeadersToAddInitParameters.

func (*PathMatcherRouteRulesHeaderActionResponseHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesHeaderActionResponseHeadersToAddObservation

type PathMatcherRouteRulesHeaderActionResponseHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*PathMatcherRouteRulesHeaderActionResponseHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesHeaderActionResponseHeadersToAddObservation.

func (*PathMatcherRouteRulesHeaderActionResponseHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesHeaderActionResponseHeadersToAddParameters

type PathMatcherRouteRulesHeaderActionResponseHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*PathMatcherRouteRulesHeaderActionResponseHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesHeaderActionResponseHeadersToAddParameters.

func (*PathMatcherRouteRulesHeaderActionResponseHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesInitParameters

type PathMatcherRouteRulesInitParameters struct {

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *PathMatcherRouteRulesHeaderActionInitParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// The rules for determining a match.
	// Structure is documented below.
	MatchRules []RouteRulesMatchRulesInitParameters `json:"matchRules,omitempty" tf:"match_rules,omitempty"`

	// For routeRules within a given pathMatcher, priority determines the order
	// in which load balancer will interpret routeRules. RouteRules are evaluated
	// in order of priority, from the lowest to highest number. The priority of
	// a rule decreases as its number increases (1, 2, 3, N+1). The first rule
	// that matches the request is applied.
	// You cannot configure two or more routeRules with the same priority.
	// Priority for each rule must be set to a number between 0 and
	// 2147483647 inclusive.
	// Priority numbers can have gaps, which enable you to add or remove rules
	// in the future without affecting the rest of the rules. For example,
	// 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which
	// you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
	// future without any impact on existing rules.
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// In response to a matching matchRule, the load balancer performs advanced routing
	// actions like URL rewrites, header transformations, etc. prior to forwarding the
	// request to the selected backend. If  routeAction specifies any
	// weightedBackendServices, service must not be set. Conversely if service is set,
	// routeAction cannot contain any  weightedBackendServices. Only one of routeAction
	// or urlRedirect must be set.
	// Structure is documented below.
	RouteAction *PathMatcherRouteRulesRouteActionInitParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"`

	// The backend service or backend bucket link that should be matched by this test.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.BackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// Reference to a BackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"`

	// Selector for a BackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"`

	// When this rule is matched, the request is redirected to a URL specified by
	// urlRedirect. If urlRedirect is specified, service or routeAction must not be
	// set.
	// Structure is documented below.
	URLRedirect *PathMatcherRouteRulesURLRedirectInitParameters `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"`
}

func (*PathMatcherRouteRulesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesInitParameters.

func (*PathMatcherRouteRulesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesObservation

type PathMatcherRouteRulesObservation struct {

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *PathMatcherRouteRulesHeaderActionObservation `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// The rules for determining a match.
	// Structure is documented below.
	MatchRules []RouteRulesMatchRulesObservation `json:"matchRules,omitempty" tf:"match_rules,omitempty"`

	// For routeRules within a given pathMatcher, priority determines the order
	// in which load balancer will interpret routeRules. RouteRules are evaluated
	// in order of priority, from the lowest to highest number. The priority of
	// a rule decreases as its number increases (1, 2, 3, N+1). The first rule
	// that matches the request is applied.
	// You cannot configure two or more routeRules with the same priority.
	// Priority for each rule must be set to a number between 0 and
	// 2147483647 inclusive.
	// Priority numbers can have gaps, which enable you to add or remove rules
	// in the future without affecting the rest of the rules. For example,
	// 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which
	// you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
	// future without any impact on existing rules.
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// In response to a matching matchRule, the load balancer performs advanced routing
	// actions like URL rewrites, header transformations, etc. prior to forwarding the
	// request to the selected backend. If  routeAction specifies any
	// weightedBackendServices, service must not be set. Conversely if service is set,
	// routeAction cannot contain any  weightedBackendServices. Only one of routeAction
	// or urlRedirect must be set.
	// Structure is documented below.
	RouteAction *PathMatcherRouteRulesRouteActionObservation `json:"routeAction,omitempty" tf:"route_action,omitempty"`

	// The backend service or backend bucket link that should be matched by this test.
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// When this rule is matched, the request is redirected to a URL specified by
	// urlRedirect. If urlRedirect is specified, service or routeAction must not be
	// set.
	// Structure is documented below.
	URLRedirect *PathMatcherRouteRulesURLRedirectObservation `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"`
}

func (*PathMatcherRouteRulesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesObservation.

func (*PathMatcherRouteRulesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesParameters

type PathMatcherRouteRulesParameters struct {

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HeaderAction *PathMatcherRouteRulesHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// The rules for determining a match.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	MatchRules []RouteRulesMatchRulesParameters `json:"matchRules,omitempty" tf:"match_rules,omitempty"`

	// For routeRules within a given pathMatcher, priority determines the order
	// in which load balancer will interpret routeRules. RouteRules are evaluated
	// in order of priority, from the lowest to highest number. The priority of
	// a rule decreases as its number increases (1, 2, 3, N+1). The first rule
	// that matches the request is applied.
	// You cannot configure two or more routeRules with the same priority.
	// Priority for each rule must be set to a number between 0 and
	// 2147483647 inclusive.
	// Priority numbers can have gaps, which enable you to add or remove rules
	// in the future without affecting the rest of the rules. For example,
	// 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which
	// you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
	// future without any impact on existing rules.
	// +kubebuilder:validation:Optional
	Priority *float64 `json:"priority" tf:"priority,omitempty"`

	// In response to a matching matchRule, the load balancer performs advanced routing
	// actions like URL rewrites, header transformations, etc. prior to forwarding the
	// request to the selected backend. If  routeAction specifies any
	// weightedBackendServices, service must not be set. Conversely if service is set,
	// routeAction cannot contain any  weightedBackendServices. Only one of routeAction
	// or urlRedirect must be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RouteAction *PathMatcherRouteRulesRouteActionParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"`

	// The backend service or backend bucket link that should be matched by this test.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.BackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// Reference to a BackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"`

	// Selector for a BackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"`

	// When this rule is matched, the request is redirected to a URL specified by
	// urlRedirect. If urlRedirect is specified, service or routeAction must not be
	// set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	URLRedirect *PathMatcherRouteRulesURLRedirectParameters `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"`
}

func (*PathMatcherRouteRulesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesParameters.

func (*PathMatcherRouteRulesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionCorsPolicyInitParameters

type PathMatcherRouteRulesRouteActionCorsPolicyInitParameters struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionCorsPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionCorsPolicyInitParameters.

func (*PathMatcherRouteRulesRouteActionCorsPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionCorsPolicyObservation

type PathMatcherRouteRulesRouteActionCorsPolicyObservation struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionCorsPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionCorsPolicyObservation.

func (*PathMatcherRouteRulesRouteActionCorsPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionCorsPolicyParameters

type PathMatcherRouteRulesRouteActionCorsPolicyParameters struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	// +kubebuilder:validation:Optional
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	// +kubebuilder:validation:Optional
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	// +kubebuilder:validation:Optional
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	// +kubebuilder:validation:Optional
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	// +kubebuilder:validation:Optional
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	// +kubebuilder:validation:Optional
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	// +kubebuilder:validation:Optional
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	// +kubebuilder:validation:Optional
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionCorsPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionCorsPolicyParameters.

func (*PathMatcherRouteRulesRouteActionCorsPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionFaultInjectionPolicyInitParameters

type PathMatcherRouteRulesRouteActionFaultInjectionPolicyInitParameters struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	Abort *RouteRulesRouteActionFaultInjectionPolicyAbortInitParameters `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	Delay *RouteRulesRouteActionFaultInjectionPolicyDelayInitParameters `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionFaultInjectionPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionFaultInjectionPolicyInitParameters.

func (*PathMatcherRouteRulesRouteActionFaultInjectionPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionFaultInjectionPolicyObservation

type PathMatcherRouteRulesRouteActionFaultInjectionPolicyObservation struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	Abort *RouteRulesRouteActionFaultInjectionPolicyAbortObservation `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	Delay *RouteRulesRouteActionFaultInjectionPolicyDelayObservation `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionFaultInjectionPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionFaultInjectionPolicyObservation.

func (*PathMatcherRouteRulesRouteActionFaultInjectionPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionFaultInjectionPolicyParameters

type PathMatcherRouteRulesRouteActionFaultInjectionPolicyParameters struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Abort *RouteRulesRouteActionFaultInjectionPolicyAbortParameters `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Delay *RouteRulesRouteActionFaultInjectionPolicyDelayParameters `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionFaultInjectionPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionFaultInjectionPolicyParameters.

func (*PathMatcherRouteRulesRouteActionFaultInjectionPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionInitParameters

type PathMatcherRouteRulesRouteActionInitParameters struct {

	// The specification for allowing client side cross-origin requests. Please see W3C
	// Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	CorsPolicy *PathMatcherRouteRulesRouteActionCorsPolicyInitParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the
	// resiliency of clients to backend service failure. As part of fault injection,
	// when clients send requests to a backend service, delays can be introduced by
	// Loadbalancer on a percentage of requests before sending those request to the
	// backend service. Similarly requests from clients can be aborted by the
	// Loadbalancer for a percentage of requests. timeout and retry_policy will be
	// ignored by clients that are configured with a fault_injection_policy.
	// Structure is documented below.
	FaultInjectionPolicy *PathMatcherRouteRulesRouteActionFaultInjectionPolicyInitParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are
	// shadowed to a separate mirrored backend service. Loadbalancer does not wait for
	// responses from the shadow service. Prior to sending traffic to the shadow
	// service, the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	RequestMirrorPolicy *PathMatcherRouteRulesRouteActionRequestMirrorPolicyInitParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	RetryPolicy *PathMatcherRouteRulesRouteActionRetryPolicyInitParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time
	// the request is has been fully processed (i.e. end-of-stream) up until the
	// response has been completely processed. Timeout includes all retries. If not
	// specified, the default value is 15 seconds.
	// Structure is documented below.
	Timeout *PathMatcherRouteRulesRouteActionTimeoutInitParameters `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to
	// the matched service
	// Structure is documented below.
	URLRewrite *PathMatcherRouteRulesRouteActionURLRewriteInitParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match
	// occurs. The weights determine the fraction of traffic that flows to their
	// corresponding backend service. If all traffic needs to go to a single backend
	// service, there must be one  weightedBackendService with weight set to a non 0
	// number. Once a backendService is identified and before forwarding the request to
	// the backend service, advanced routing actions like Url rewrites and header
	// transformations are applied depending on additional settings specified in this
	// HttpRouteAction.
	// Structure is documented below.
	WeightedBackendServices []PathMatcherRouteRulesRouteActionWeightedBackendServicesInitParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionInitParameters.

func (*PathMatcherRouteRulesRouteActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionObservation

type PathMatcherRouteRulesRouteActionObservation struct {

	// The specification for allowing client side cross-origin requests. Please see W3C
	// Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	CorsPolicy *PathMatcherRouteRulesRouteActionCorsPolicyObservation `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the
	// resiliency of clients to backend service failure. As part of fault injection,
	// when clients send requests to a backend service, delays can be introduced by
	// Loadbalancer on a percentage of requests before sending those request to the
	// backend service. Similarly requests from clients can be aborted by the
	// Loadbalancer for a percentage of requests. timeout and retry_policy will be
	// ignored by clients that are configured with a fault_injection_policy.
	// Structure is documented below.
	FaultInjectionPolicy *PathMatcherRouteRulesRouteActionFaultInjectionPolicyObservation `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are
	// shadowed to a separate mirrored backend service. Loadbalancer does not wait for
	// responses from the shadow service. Prior to sending traffic to the shadow
	// service, the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	RequestMirrorPolicy *PathMatcherRouteRulesRouteActionRequestMirrorPolicyObservation `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	RetryPolicy *PathMatcherRouteRulesRouteActionRetryPolicyObservation `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time
	// the request is has been fully processed (i.e. end-of-stream) up until the
	// response has been completely processed. Timeout includes all retries. If not
	// specified, the default value is 15 seconds.
	// Structure is documented below.
	Timeout *PathMatcherRouteRulesRouteActionTimeoutObservation `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to
	// the matched service
	// Structure is documented below.
	URLRewrite *PathMatcherRouteRulesRouteActionURLRewriteObservation `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match
	// occurs. The weights determine the fraction of traffic that flows to their
	// corresponding backend service. If all traffic needs to go to a single backend
	// service, there must be one  weightedBackendService with weight set to a non 0
	// number. Once a backendService is identified and before forwarding the request to
	// the backend service, advanced routing actions like Url rewrites and header
	// transformations are applied depending on additional settings specified in this
	// HttpRouteAction.
	// Structure is documented below.
	WeightedBackendServices []PathMatcherRouteRulesRouteActionWeightedBackendServicesObservation `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionObservation.

func (*PathMatcherRouteRulesRouteActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionParameters

type PathMatcherRouteRulesRouteActionParameters struct {

	// The specification for allowing client side cross-origin requests. Please see W3C
	// Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CorsPolicy *PathMatcherRouteRulesRouteActionCorsPolicyParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the
	// resiliency of clients to backend service failure. As part of fault injection,
	// when clients send requests to a backend service, delays can be introduced by
	// Loadbalancer on a percentage of requests before sending those request to the
	// backend service. Similarly requests from clients can be aborted by the
	// Loadbalancer for a percentage of requests. timeout and retry_policy will be
	// ignored by clients that are configured with a fault_injection_policy.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FaultInjectionPolicy *PathMatcherRouteRulesRouteActionFaultInjectionPolicyParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are
	// shadowed to a separate mirrored backend service. Loadbalancer does not wait for
	// responses from the shadow service. Prior to sending traffic to the shadow
	// service, the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestMirrorPolicy *PathMatcherRouteRulesRouteActionRequestMirrorPolicyParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RetryPolicy *PathMatcherRouteRulesRouteActionRetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time
	// the request is has been fully processed (i.e. end-of-stream) up until the
	// response has been completely processed. Timeout includes all retries. If not
	// specified, the default value is 15 seconds.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Timeout *PathMatcherRouteRulesRouteActionTimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to
	// the matched service
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	URLRewrite *PathMatcherRouteRulesRouteActionURLRewriteParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match
	// occurs. The weights determine the fraction of traffic that flows to their
	// corresponding backend service. If all traffic needs to go to a single backend
	// service, there must be one  weightedBackendService with weight set to a non 0
	// number. Once a backendService is identified and before forwarding the request to
	// the backend service, advanced routing actions like Url rewrites and header
	// transformations are applied depending on additional settings specified in this
	// HttpRouteAction.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	WeightedBackendServices []PathMatcherRouteRulesRouteActionWeightedBackendServicesParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionParameters.

func (*PathMatcherRouteRulesRouteActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionRequestMirrorPolicyInitParameters

type PathMatcherRouteRulesRouteActionRequestMirrorPolicyInitParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionRequestMirrorPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionRequestMirrorPolicyInitParameters.

func (*PathMatcherRouteRulesRouteActionRequestMirrorPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionRequestMirrorPolicyObservation

type PathMatcherRouteRulesRouteActionRequestMirrorPolicyObservation struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionRequestMirrorPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionRequestMirrorPolicyObservation.

func (*PathMatcherRouteRulesRouteActionRequestMirrorPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionRequestMirrorPolicyParameters

type PathMatcherRouteRulesRouteActionRequestMirrorPolicyParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +kubebuilder:validation:Optional
	BackendService *string `json:"backendService" tf:"backend_service,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionRequestMirrorPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionRequestMirrorPolicyParameters.

func (*PathMatcherRouteRulesRouteActionRequestMirrorPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionRetryPolicyInitParameters

type PathMatcherRouteRulesRouteActionRetryPolicyInitParameters struct {

	// Specifies the allowed number retries. This number must be > 0.
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	PerTryTimeout *RouteRulesRouteActionRetryPolicyPerTryTimeoutInitParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionRetryPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionRetryPolicyInitParameters.

func (*PathMatcherRouteRulesRouteActionRetryPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionRetryPolicyObservation

type PathMatcherRouteRulesRouteActionRetryPolicyObservation struct {

	// Specifies the allowed number retries. This number must be > 0.
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	PerTryTimeout *RouteRulesRouteActionRetryPolicyPerTryTimeoutObservation `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionRetryPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionRetryPolicyObservation.

func (*PathMatcherRouteRulesRouteActionRetryPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionRetryPolicyParameters

type PathMatcherRouteRulesRouteActionRetryPolicyParameters struct {

	// Specifies the allowed number retries. This number must be > 0.
	// +kubebuilder:validation:Optional
	NumRetries *float64 `json:"numRetries" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	PerTryTimeout *RouteRulesRouteActionRetryPolicyPerTryTimeoutParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	// +kubebuilder:validation:Optional
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionRetryPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionRetryPolicyParameters.

func (*PathMatcherRouteRulesRouteActionRetryPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionTimeoutInitParameters

type PathMatcherRouteRulesRouteActionTimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionTimeoutInitParameters.

func (*PathMatcherRouteRulesRouteActionTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionTimeoutObservation

type PathMatcherRouteRulesRouteActionTimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionTimeoutObservation.

func (*PathMatcherRouteRulesRouteActionTimeoutObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionTimeoutParameters

type PathMatcherRouteRulesRouteActionTimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds" tf:"seconds,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionTimeoutParameters.

func (*PathMatcherRouteRulesRouteActionTimeoutParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionURLRewriteInitParameters

type PathMatcherRouteRulesRouteActionURLRewriteInitParameters struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`

	// Prior to forwarding the request to the selected origin, if the
	// request matched a pathTemplateMatch, the matching portion of the
	// request's path is replaced re-written using the pattern specified
	// by pathTemplateRewrite.
	// pathTemplateRewrite must be between 1 and 255 characters
	// (inclusive), must start with a '/', and must only use variables
	// captured by the route's pathTemplate matchers.
	// pathTemplateRewrite may only be used when all of a route's
	// MatchRules specify pathTemplate.
	// Only one of pathPrefixRewrite and pathTemplateRewrite may be
	// specified.
	PathTemplateRewrite *string `json:"pathTemplateRewrite,omitempty" tf:"path_template_rewrite,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionURLRewriteInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionURLRewriteInitParameters.

func (*PathMatcherRouteRulesRouteActionURLRewriteInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionURLRewriteObservation

type PathMatcherRouteRulesRouteActionURLRewriteObservation struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`

	// Prior to forwarding the request to the selected origin, if the
	// request matched a pathTemplateMatch, the matching portion of the
	// request's path is replaced re-written using the pattern specified
	// by pathTemplateRewrite.
	// pathTemplateRewrite must be between 1 and 255 characters
	// (inclusive), must start with a '/', and must only use variables
	// captured by the route's pathTemplate matchers.
	// pathTemplateRewrite may only be used when all of a route's
	// MatchRules specify pathTemplate.
	// Only one of pathPrefixRewrite and pathTemplateRewrite may be
	// specified.
	PathTemplateRewrite *string `json:"pathTemplateRewrite,omitempty" tf:"path_template_rewrite,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionURLRewriteObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionURLRewriteObservation.

func (*PathMatcherRouteRulesRouteActionURLRewriteObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionURLRewriteParameters

type PathMatcherRouteRulesRouteActionURLRewriteParameters struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	// +kubebuilder:validation:Optional
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`

	// Prior to forwarding the request to the selected origin, if the
	// request matched a pathTemplateMatch, the matching portion of the
	// request's path is replaced re-written using the pattern specified
	// by pathTemplateRewrite.
	// pathTemplateRewrite must be between 1 and 255 characters
	// (inclusive), must start with a '/', and must only use variables
	// captured by the route's pathTemplate matchers.
	// pathTemplateRewrite may only be used when all of a route's
	// MatchRules specify pathTemplate.
	// Only one of pathPrefixRewrite and pathTemplateRewrite may be
	// specified.
	// +kubebuilder:validation:Optional
	PathTemplateRewrite *string `json:"pathTemplateRewrite,omitempty" tf:"path_template_rewrite,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionURLRewriteParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionURLRewriteParameters.

func (*PathMatcherRouteRulesRouteActionURLRewriteParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionWeightedBackendServicesInitParameters

type PathMatcherRouteRulesRouteActionWeightedBackendServicesInitParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *RouteRulesRouteActionWeightedBackendServicesHeaderActionInitParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionWeightedBackendServicesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionWeightedBackendServicesInitParameters.

func (*PathMatcherRouteRulesRouteActionWeightedBackendServicesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionWeightedBackendServicesObservation

type PathMatcherRouteRulesRouteActionWeightedBackendServicesObservation struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *RouteRulesRouteActionWeightedBackendServicesHeaderActionObservation `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionWeightedBackendServicesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionWeightedBackendServicesObservation.

func (*PathMatcherRouteRulesRouteActionWeightedBackendServicesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesRouteActionWeightedBackendServicesParameters

type PathMatcherRouteRulesRouteActionWeightedBackendServicesParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +kubebuilder:validation:Optional
	BackendService *string `json:"backendService" tf:"backend_service,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HeaderAction *RouteRulesRouteActionWeightedBackendServicesHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	// +kubebuilder:validation:Optional
	Weight *float64 `json:"weight" tf:"weight,omitempty"`
}

func (*PathMatcherRouteRulesRouteActionWeightedBackendServicesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionWeightedBackendServicesParameters.

func (*PathMatcherRouteRulesRouteActionWeightedBackendServicesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesURLRedirectInitParameters

type PathMatcherRouteRulesURLRedirectInitParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained.
	// This field is required to ensure an empty block is not set. The normal default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*PathMatcherRouteRulesURLRedirectInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesURLRedirectInitParameters.

func (*PathMatcherRouteRulesURLRedirectInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesURLRedirectObservation

type PathMatcherRouteRulesURLRedirectObservation struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained.
	// This field is required to ensure an empty block is not set. The normal default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*PathMatcherRouteRulesURLRedirectObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesURLRedirectObservation.

func (*PathMatcherRouteRulesURLRedirectObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathMatcherRouteRulesURLRedirectParameters

type PathMatcherRouteRulesURLRedirectParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	// +kubebuilder:validation:Optional
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	// +kubebuilder:validation:Optional
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	// +kubebuilder:validation:Optional
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained.
	// This field is required to ensure an empty block is not set. The normal default value is false.
	// +kubebuilder:validation:Optional
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*PathMatcherRouteRulesURLRedirectParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesURLRedirectParameters.

func (*PathMatcherRouteRulesURLRedirectParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleInitParameters

type PathRuleInitParameters struct {

	// The list of path patterns to match. Each must start with / and the only place a
	// * is allowed is at the end following a /. The string fed to the path matcher
	// does not include any text after the first ? or #, and those chars are not
	// allowed here.
	// +listType=set
	Paths []*string `json:"paths,omitempty" tf:"paths,omitempty"`

	// In response to a matching matchRule, the load balancer performs advanced routing
	// actions like URL rewrites, header transformations, etc. prior to forwarding the
	// request to the selected backend. If  routeAction specifies any
	// weightedBackendServices, service must not be set. Conversely if service is set,
	// routeAction cannot contain any  weightedBackendServices. Only one of routeAction
	// or urlRedirect must be set.
	// Structure is documented below.
	RouteAction *RouteActionInitParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"`

	// A reference to expected RegionBackendService resource the given URL should be mapped to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// Reference to a RegionBackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"`

	// When this rule is matched, the request is redirected to a URL specified by
	// urlRedirect. If urlRedirect is specified, service or routeAction must not be
	// set.
	// Structure is documented below.
	URLRedirect *URLRedirectInitParameters `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"`
}

func (*PathRuleInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleInitParameters.

func (*PathRuleInitParameters) DeepCopyInto

func (in *PathRuleInitParameters) DeepCopyInto(out *PathRuleInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleObservation

type PathRuleObservation struct {

	// The list of path patterns to match. Each must start with / and the only place a
	// * is allowed is at the end following a /. The string fed to the path matcher
	// does not include any text after the first ? or #, and those chars are not
	// allowed here.
	// +listType=set
	Paths []*string `json:"paths,omitempty" tf:"paths,omitempty"`

	// In response to a matching matchRule, the load balancer performs advanced routing
	// actions like URL rewrites, header transformations, etc. prior to forwarding the
	// request to the selected backend. If  routeAction specifies any
	// weightedBackendServices, service must not be set. Conversely if service is set,
	// routeAction cannot contain any  weightedBackendServices. Only one of routeAction
	// or urlRedirect must be set.
	// Structure is documented below.
	RouteAction *RouteActionObservation `json:"routeAction,omitempty" tf:"route_action,omitempty"`

	// A reference to expected RegionBackendService resource the given URL should be mapped to.
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// When this rule is matched, the request is redirected to a URL specified by
	// urlRedirect. If urlRedirect is specified, service or routeAction must not be
	// set.
	// Structure is documented below.
	URLRedirect *URLRedirectObservation `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"`
}

func (*PathRuleObservation) DeepCopy

func (in *PathRuleObservation) DeepCopy() *PathRuleObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleObservation.

func (*PathRuleObservation) DeepCopyInto

func (in *PathRuleObservation) DeepCopyInto(out *PathRuleObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleParameters

type PathRuleParameters struct {

	// The list of path patterns to match. Each must start with / and the only place a
	// * is allowed is at the end following a /. The string fed to the path matcher
	// does not include any text after the first ? or #, and those chars are not
	// allowed here.
	// +kubebuilder:validation:Optional
	// +listType=set
	Paths []*string `json:"paths" tf:"paths,omitempty"`

	// In response to a matching matchRule, the load balancer performs advanced routing
	// actions like URL rewrites, header transformations, etc. prior to forwarding the
	// request to the selected backend. If  routeAction specifies any
	// weightedBackendServices, service must not be set. Conversely if service is set,
	// routeAction cannot contain any  weightedBackendServices. Only one of routeAction
	// or urlRedirect must be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RouteAction *RouteActionParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"`

	// A reference to expected RegionBackendService resource the given URL should be mapped to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// Reference to a RegionBackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"`

	// When this rule is matched, the request is redirected to a URL specified by
	// urlRedirect. If urlRedirect is specified, service or routeAction must not be
	// set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	URLRedirect *URLRedirectParameters `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"`
}

func (*PathRuleParameters) DeepCopy

func (in *PathRuleParameters) DeepCopy() *PathRuleParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleParameters.

func (*PathRuleParameters) DeepCopyInto

func (in *PathRuleParameters) DeepCopyInto(out *PathRuleParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionCorsPolicyInitParameters

type PathRuleRouteActionCorsPolicyInitParameters struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*PathRuleRouteActionCorsPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionCorsPolicyInitParameters.

func (*PathRuleRouteActionCorsPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionCorsPolicyObservation

type PathRuleRouteActionCorsPolicyObservation struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*PathRuleRouteActionCorsPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionCorsPolicyObservation.

func (*PathRuleRouteActionCorsPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionCorsPolicyParameters

type PathRuleRouteActionCorsPolicyParameters struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	// +kubebuilder:validation:Optional
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	// +kubebuilder:validation:Optional
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	// +kubebuilder:validation:Optional
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	// +kubebuilder:validation:Optional
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	// +kubebuilder:validation:Optional
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	// +kubebuilder:validation:Optional
	Disabled *bool `json:"disabled" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	// +kubebuilder:validation:Optional
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	// +kubebuilder:validation:Optional
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*PathRuleRouteActionCorsPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionCorsPolicyParameters.

func (*PathRuleRouteActionCorsPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionFaultInjectionPolicyAbortInitParameters

type PathRuleRouteActionFaultInjectionPolicyAbortInitParameters struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*PathRuleRouteActionFaultInjectionPolicyAbortInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionFaultInjectionPolicyAbortInitParameters.

func (*PathRuleRouteActionFaultInjectionPolicyAbortInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionFaultInjectionPolicyAbortObservation

type PathRuleRouteActionFaultInjectionPolicyAbortObservation struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*PathRuleRouteActionFaultInjectionPolicyAbortObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionFaultInjectionPolicyAbortObservation.

func (*PathRuleRouteActionFaultInjectionPolicyAbortObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionFaultInjectionPolicyAbortParameters

type PathRuleRouteActionFaultInjectionPolicyAbortParameters struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	// +kubebuilder:validation:Optional
	HTTPStatus *float64 `json:"httpStatus" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	// +kubebuilder:validation:Optional
	Percentage *float64 `json:"percentage" tf:"percentage,omitempty"`
}

func (*PathRuleRouteActionFaultInjectionPolicyAbortParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionFaultInjectionPolicyAbortParameters.

func (*PathRuleRouteActionFaultInjectionPolicyAbortParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionFaultInjectionPolicyDelayInitParameters

type PathRuleRouteActionFaultInjectionPolicyDelayInitParameters struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	FixedDelay *RouteActionFaultInjectionPolicyDelayFixedDelayInitParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*PathRuleRouteActionFaultInjectionPolicyDelayInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionFaultInjectionPolicyDelayInitParameters.

func (*PathRuleRouteActionFaultInjectionPolicyDelayInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionFaultInjectionPolicyDelayObservation

type PathRuleRouteActionFaultInjectionPolicyDelayObservation struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	FixedDelay *RouteActionFaultInjectionPolicyDelayFixedDelayObservation `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*PathRuleRouteActionFaultInjectionPolicyDelayObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionFaultInjectionPolicyDelayObservation.

func (*PathRuleRouteActionFaultInjectionPolicyDelayObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionFaultInjectionPolicyDelayParameters

type PathRuleRouteActionFaultInjectionPolicyDelayParameters struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FixedDelay *RouteActionFaultInjectionPolicyDelayFixedDelayParameters `json:"fixedDelay" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	// +kubebuilder:validation:Optional
	Percentage *float64 `json:"percentage" tf:"percentage,omitempty"`
}

func (*PathRuleRouteActionFaultInjectionPolicyDelayParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionFaultInjectionPolicyDelayParameters.

func (*PathRuleRouteActionFaultInjectionPolicyDelayParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionFaultInjectionPolicyInitParameters

type PathRuleRouteActionFaultInjectionPolicyInitParameters struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	Abort *PathRuleRouteActionFaultInjectionPolicyAbortInitParameters `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	Delay *PathRuleRouteActionFaultInjectionPolicyDelayInitParameters `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*PathRuleRouteActionFaultInjectionPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionFaultInjectionPolicyInitParameters.

func (*PathRuleRouteActionFaultInjectionPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionFaultInjectionPolicyObservation

type PathRuleRouteActionFaultInjectionPolicyObservation struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	Abort *PathRuleRouteActionFaultInjectionPolicyAbortObservation `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	Delay *PathRuleRouteActionFaultInjectionPolicyDelayObservation `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*PathRuleRouteActionFaultInjectionPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionFaultInjectionPolicyObservation.

func (*PathRuleRouteActionFaultInjectionPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionFaultInjectionPolicyParameters

type PathRuleRouteActionFaultInjectionPolicyParameters struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Abort *PathRuleRouteActionFaultInjectionPolicyAbortParameters `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Delay *PathRuleRouteActionFaultInjectionPolicyDelayParameters `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*PathRuleRouteActionFaultInjectionPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionFaultInjectionPolicyParameters.

func (*PathRuleRouteActionFaultInjectionPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionInitParameters

type PathRuleRouteActionInitParameters struct {

	// The specification for allowing client side cross-origin requests. Please see W3C
	// Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	CorsPolicy *PathRuleRouteActionCorsPolicyInitParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the
	// resiliency of clients to backend service failure. As part of fault injection,
	// when clients send requests to a backend service, delays can be introduced by
	// Loadbalancer on a percentage of requests before sending those request to the
	// backend service. Similarly requests from clients can be aborted by the
	// Loadbalancer for a percentage of requests. timeout and retry_policy will be
	// ignored by clients that are configured with a fault_injection_policy.
	// Structure is documented below.
	FaultInjectionPolicy *PathRuleRouteActionFaultInjectionPolicyInitParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are
	// shadowed to a separate mirrored backend service. Loadbalancer does not wait for
	// responses from the shadow service. Prior to sending traffic to the shadow
	// service, the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	RequestMirrorPolicy *PathRuleRouteActionRequestMirrorPolicyInitParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	RetryPolicy *PathRuleRouteActionRetryPolicyInitParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time
	// the request is has been fully processed (i.e. end-of-stream) up until the
	// response has been completely processed. Timeout includes all retries. If not
	// specified, the default value is 15 seconds.
	// Structure is documented below.
	Timeout *PathRuleRouteActionTimeoutInitParameters `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to
	// the matched service
	// Structure is documented below.
	URLRewrite *PathRuleRouteActionURLRewriteInitParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match
	// occurs. The weights determine the fraction of traffic that flows to their
	// corresponding backend service. If all traffic needs to go to a single backend
	// service, there must be one  weightedBackendService with weight set to a non 0
	// number. Once a backendService is identified and before forwarding the request to
	// the backend service, advanced routing actions like Url rewrites and header
	// transformations are applied depending on additional settings specified in this
	// HttpRouteAction.
	// Structure is documented below.
	WeightedBackendServices []PathRuleRouteActionWeightedBackendServicesInitParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*PathRuleRouteActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionInitParameters.

func (*PathRuleRouteActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionObservation

type PathRuleRouteActionObservation struct {

	// The specification for allowing client side cross-origin requests. Please see W3C
	// Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	CorsPolicy *PathRuleRouteActionCorsPolicyObservation `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the
	// resiliency of clients to backend service failure. As part of fault injection,
	// when clients send requests to a backend service, delays can be introduced by
	// Loadbalancer on a percentage of requests before sending those request to the
	// backend service. Similarly requests from clients can be aborted by the
	// Loadbalancer for a percentage of requests. timeout and retry_policy will be
	// ignored by clients that are configured with a fault_injection_policy.
	// Structure is documented below.
	FaultInjectionPolicy *PathRuleRouteActionFaultInjectionPolicyObservation `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are
	// shadowed to a separate mirrored backend service. Loadbalancer does not wait for
	// responses from the shadow service. Prior to sending traffic to the shadow
	// service, the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	RequestMirrorPolicy *PathRuleRouteActionRequestMirrorPolicyObservation `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	RetryPolicy *PathRuleRouteActionRetryPolicyObservation `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time
	// the request is has been fully processed (i.e. end-of-stream) up until the
	// response has been completely processed. Timeout includes all retries. If not
	// specified, the default value is 15 seconds.
	// Structure is documented below.
	Timeout *PathRuleRouteActionTimeoutObservation `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to
	// the matched service
	// Structure is documented below.
	URLRewrite *PathRuleRouteActionURLRewriteObservation `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match
	// occurs. The weights determine the fraction of traffic that flows to their
	// corresponding backend service. If all traffic needs to go to a single backend
	// service, there must be one  weightedBackendService with weight set to a non 0
	// number. Once a backendService is identified and before forwarding the request to
	// the backend service, advanced routing actions like Url rewrites and header
	// transformations are applied depending on additional settings specified in this
	// HttpRouteAction.
	// Structure is documented below.
	WeightedBackendServices []PathRuleRouteActionWeightedBackendServicesObservation `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*PathRuleRouteActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionObservation.

func (*PathRuleRouteActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionParameters

type PathRuleRouteActionParameters struct {

	// The specification for allowing client side cross-origin requests. Please see W3C
	// Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CorsPolicy *PathRuleRouteActionCorsPolicyParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the
	// resiliency of clients to backend service failure. As part of fault injection,
	// when clients send requests to a backend service, delays can be introduced by
	// Loadbalancer on a percentage of requests before sending those request to the
	// backend service. Similarly requests from clients can be aborted by the
	// Loadbalancer for a percentage of requests. timeout and retry_policy will be
	// ignored by clients that are configured with a fault_injection_policy.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FaultInjectionPolicy *PathRuleRouteActionFaultInjectionPolicyParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are
	// shadowed to a separate mirrored backend service. Loadbalancer does not wait for
	// responses from the shadow service. Prior to sending traffic to the shadow
	// service, the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestMirrorPolicy *PathRuleRouteActionRequestMirrorPolicyParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RetryPolicy *PathRuleRouteActionRetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time
	// the request is has been fully processed (i.e. end-of-stream) up until the
	// response has been completely processed. Timeout includes all retries. If not
	// specified, the default value is 15 seconds.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Timeout *PathRuleRouteActionTimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to
	// the matched service
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	URLRewrite *PathRuleRouteActionURLRewriteParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match
	// occurs. The weights determine the fraction of traffic that flows to their
	// corresponding backend service. If all traffic needs to go to a single backend
	// service, there must be one  weightedBackendService with weight set to a non 0
	// number. Once a backendService is identified and before forwarding the request to
	// the backend service, advanced routing actions like Url rewrites and header
	// transformations are applied depending on additional settings specified in this
	// HttpRouteAction.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	WeightedBackendServices []PathRuleRouteActionWeightedBackendServicesParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*PathRuleRouteActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionParameters.

func (*PathRuleRouteActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionRequestMirrorPolicyInitParameters

type PathRuleRouteActionRequestMirrorPolicyInitParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.BackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Reference to a BackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"`

	// Selector for a BackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"`
}

func (*PathRuleRouteActionRequestMirrorPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionRequestMirrorPolicyInitParameters.

func (*PathRuleRouteActionRequestMirrorPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionRequestMirrorPolicyObservation

type PathRuleRouteActionRequestMirrorPolicyObservation struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`
}

func (*PathRuleRouteActionRequestMirrorPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionRequestMirrorPolicyObservation.

func (*PathRuleRouteActionRequestMirrorPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionRequestMirrorPolicyParameters

type PathRuleRouteActionRequestMirrorPolicyParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.BackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Reference to a BackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"`

	// Selector for a BackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"`
}

func (*PathRuleRouteActionRequestMirrorPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionRequestMirrorPolicyParameters.

func (*PathRuleRouteActionRequestMirrorPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionRetryPolicyInitParameters

type PathRuleRouteActionRetryPolicyInitParameters struct {

	// Specifies the allowed number retries. This number must be > 0.
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	PerTryTimeout *PathRuleRouteActionRetryPolicyPerTryTimeoutInitParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*PathRuleRouteActionRetryPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionRetryPolicyInitParameters.

func (*PathRuleRouteActionRetryPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionRetryPolicyObservation

type PathRuleRouteActionRetryPolicyObservation struct {

	// Specifies the allowed number retries. This number must be > 0.
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	PerTryTimeout *PathRuleRouteActionRetryPolicyPerTryTimeoutObservation `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*PathRuleRouteActionRetryPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionRetryPolicyObservation.

func (*PathRuleRouteActionRetryPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionRetryPolicyParameters

type PathRuleRouteActionRetryPolicyParameters struct {

	// Specifies the allowed number retries. This number must be > 0.
	// +kubebuilder:validation:Optional
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	PerTryTimeout *PathRuleRouteActionRetryPolicyPerTryTimeoutParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	// +kubebuilder:validation:Optional
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*PathRuleRouteActionRetryPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionRetryPolicyParameters.

func (*PathRuleRouteActionRetryPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionRetryPolicyPerTryTimeoutInitParameters

type PathRuleRouteActionRetryPolicyPerTryTimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PathRuleRouteActionRetryPolicyPerTryTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionRetryPolicyPerTryTimeoutInitParameters.

func (*PathRuleRouteActionRetryPolicyPerTryTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionRetryPolicyPerTryTimeoutObservation

type PathRuleRouteActionRetryPolicyPerTryTimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PathRuleRouteActionRetryPolicyPerTryTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionRetryPolicyPerTryTimeoutObservation.

func (*PathRuleRouteActionRetryPolicyPerTryTimeoutObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionRetryPolicyPerTryTimeoutParameters

type PathRuleRouteActionRetryPolicyPerTryTimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds" tf:"seconds,omitempty"`
}

func (*PathRuleRouteActionRetryPolicyPerTryTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionRetryPolicyPerTryTimeoutParameters.

func (*PathRuleRouteActionRetryPolicyPerTryTimeoutParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionTimeoutInitParameters

type PathRuleRouteActionTimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PathRuleRouteActionTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionTimeoutInitParameters.

func (*PathRuleRouteActionTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionTimeoutObservation

type PathRuleRouteActionTimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PathRuleRouteActionTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionTimeoutObservation.

func (*PathRuleRouteActionTimeoutObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionTimeoutParameters

type PathRuleRouteActionTimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds" tf:"seconds,omitempty"`
}

func (*PathRuleRouteActionTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionTimeoutParameters.

func (*PathRuleRouteActionTimeoutParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionURLRewriteInitParameters

type PathRuleRouteActionURLRewriteInitParameters struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*PathRuleRouteActionURLRewriteInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionURLRewriteInitParameters.

func (*PathRuleRouteActionURLRewriteInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionURLRewriteObservation

type PathRuleRouteActionURLRewriteObservation struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*PathRuleRouteActionURLRewriteObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionURLRewriteObservation.

func (*PathRuleRouteActionURLRewriteObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionURLRewriteParameters

type PathRuleRouteActionURLRewriteParameters struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	// +kubebuilder:validation:Optional
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*PathRuleRouteActionURLRewriteParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionURLRewriteParameters.

func (*PathRuleRouteActionURLRewriteParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionWeightedBackendServicesHeaderActionInitParameters

type PathRuleRouteActionWeightedBackendServicesHeaderActionInitParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*PathRuleRouteActionWeightedBackendServicesHeaderActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionWeightedBackendServicesHeaderActionInitParameters.

func (*PathRuleRouteActionWeightedBackendServicesHeaderActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionWeightedBackendServicesHeaderActionObservation

type PathRuleRouteActionWeightedBackendServicesHeaderActionObservation struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*PathRuleRouteActionWeightedBackendServicesHeaderActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionWeightedBackendServicesHeaderActionObservation.

func (*PathRuleRouteActionWeightedBackendServicesHeaderActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionWeightedBackendServicesHeaderActionParameters

type PathRuleRouteActionWeightedBackendServicesHeaderActionParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestHeadersToAdd []RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	// +kubebuilder:validation:Optional
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ResponseHeadersToAdd []RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	// +kubebuilder:validation:Optional
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*PathRuleRouteActionWeightedBackendServicesHeaderActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionWeightedBackendServicesHeaderActionParameters.

func (*PathRuleRouteActionWeightedBackendServicesHeaderActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionWeightedBackendServicesInitParameters

type PathRuleRouteActionWeightedBackendServicesInitParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.BackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Reference to a BackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"`

	// Selector for a BackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *PathRuleRouteActionWeightedBackendServicesHeaderActionInitParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*PathRuleRouteActionWeightedBackendServicesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionWeightedBackendServicesInitParameters.

func (*PathRuleRouteActionWeightedBackendServicesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionWeightedBackendServicesObservation

type PathRuleRouteActionWeightedBackendServicesObservation struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *PathRuleRouteActionWeightedBackendServicesHeaderActionObservation `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*PathRuleRouteActionWeightedBackendServicesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionWeightedBackendServicesObservation.

func (*PathRuleRouteActionWeightedBackendServicesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleRouteActionWeightedBackendServicesParameters

type PathRuleRouteActionWeightedBackendServicesParameters struct {

	// The default BackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.BackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Reference to a BackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"`

	// Selector for a BackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HeaderAction *PathRuleRouteActionWeightedBackendServicesHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	// +kubebuilder:validation:Optional
	Weight *float64 `json:"weight" tf:"weight,omitempty"`
}

func (*PathRuleRouteActionWeightedBackendServicesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionWeightedBackendServicesParameters.

func (*PathRuleRouteActionWeightedBackendServicesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleURLRedirectInitParameters

type PathRuleURLRedirectInitParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained.
	// This field is required to ensure an empty block is not set. The normal default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*PathRuleURLRedirectInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleURLRedirectInitParameters.

func (*PathRuleURLRedirectInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleURLRedirectObservation

type PathRuleURLRedirectObservation struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained.
	// This field is required to ensure an empty block is not set. The normal default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*PathRuleURLRedirectObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleURLRedirectObservation.

func (*PathRuleURLRedirectObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PathRuleURLRedirectParameters

type PathRuleURLRedirectParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	// +kubebuilder:validation:Optional
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	// +kubebuilder:validation:Optional
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	// +kubebuilder:validation:Optional
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained.
	// This field is required to ensure an empty block is not set. The normal default value is false.
	// +kubebuilder:validation:Optional
	StripQuery *bool `json:"stripQuery" tf:"strip_query,omitempty"`
}

func (*PathRuleURLRedirectParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleURLRedirectParameters.

func (*PathRuleURLRedirectParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PerInstanceConfig

type PerInstanceConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   PerInstanceConfigSpec   `json:"spec"`
	Status PerInstanceConfigStatus `json:"status,omitempty"`
}

PerInstanceConfig is the Schema for the PerInstanceConfigs API. A config defined for a single managed instance that belongs to an instance group manager. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*PerInstanceConfig) DeepCopy

func (in *PerInstanceConfig) DeepCopy() *PerInstanceConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfig.

func (*PerInstanceConfig) DeepCopyInto

func (in *PerInstanceConfig) DeepCopyInto(out *PerInstanceConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PerInstanceConfig) DeepCopyObject

func (in *PerInstanceConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PerInstanceConfig) GetCondition

func (mg *PerInstanceConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this PerInstanceConfig.

func (*PerInstanceConfig) GetConnectionDetailsMapping

func (tr *PerInstanceConfig) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this PerInstanceConfig

func (*PerInstanceConfig) GetDeletionPolicy

func (mg *PerInstanceConfig) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this PerInstanceConfig.

func (*PerInstanceConfig) GetID

func (tr *PerInstanceConfig) GetID() string

GetID returns ID of underlying Terraform resource of this PerInstanceConfig

func (*PerInstanceConfig) GetInitParameters

func (tr *PerInstanceConfig) GetInitParameters() (map[string]any, error)

GetInitParameters of this PerInstanceConfig

func (*PerInstanceConfig) GetManagementPolicies

func (mg *PerInstanceConfig) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this PerInstanceConfig.

func (*PerInstanceConfig) GetMergedParameters

func (tr *PerInstanceConfig) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this PerInstanceConfig

func (*PerInstanceConfig) GetObservation

func (tr *PerInstanceConfig) GetObservation() (map[string]any, error)

GetObservation of this PerInstanceConfig

func (*PerInstanceConfig) GetParameters

func (tr *PerInstanceConfig) GetParameters() (map[string]any, error)

GetParameters of this PerInstanceConfig

func (*PerInstanceConfig) GetProviderConfigReference

func (mg *PerInstanceConfig) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this PerInstanceConfig.

func (*PerInstanceConfig) GetPublishConnectionDetailsTo

func (mg *PerInstanceConfig) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this PerInstanceConfig.

func (*PerInstanceConfig) GetTerraformResourceType

func (mg *PerInstanceConfig) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this PerInstanceConfig

func (*PerInstanceConfig) GetTerraformSchemaVersion

func (tr *PerInstanceConfig) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*PerInstanceConfig) GetWriteConnectionSecretToReference

func (mg *PerInstanceConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this PerInstanceConfig.

func (*PerInstanceConfig) Hub

func (tr *PerInstanceConfig) Hub()

Hub marks this type as a conversion hub.

func (*PerInstanceConfig) LateInitialize

func (tr *PerInstanceConfig) LateInitialize(attrs []byte) (bool, error)

LateInitialize this PerInstanceConfig using its observed tfState. returns True if there are any spec changes for the resource.

func (*PerInstanceConfig) ResolveReferences

func (mg *PerInstanceConfig) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this PerInstanceConfig.

func (*PerInstanceConfig) SetConditions

func (mg *PerInstanceConfig) SetConditions(c ...xpv1.Condition)

SetConditions of this PerInstanceConfig.

func (*PerInstanceConfig) SetDeletionPolicy

func (mg *PerInstanceConfig) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this PerInstanceConfig.

func (*PerInstanceConfig) SetManagementPolicies

func (mg *PerInstanceConfig) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this PerInstanceConfig.

func (*PerInstanceConfig) SetObservation

func (tr *PerInstanceConfig) SetObservation(obs map[string]any) error

SetObservation for this PerInstanceConfig

func (*PerInstanceConfig) SetParameters

func (tr *PerInstanceConfig) SetParameters(params map[string]any) error

SetParameters for this PerInstanceConfig

func (*PerInstanceConfig) SetProviderConfigReference

func (mg *PerInstanceConfig) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this PerInstanceConfig.

func (*PerInstanceConfig) SetPublishConnectionDetailsTo

func (mg *PerInstanceConfig) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this PerInstanceConfig.

func (*PerInstanceConfig) SetWriteConnectionSecretToReference

func (mg *PerInstanceConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this PerInstanceConfig.

type PerInstanceConfigInitParameters

type PerInstanceConfigInitParameters struct {

	// The instance group manager this instance config is part of.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.InstanceGroupManager
	InstanceGroupManager *string `json:"instanceGroupManager,omitempty" tf:"instance_group_manager,omitempty"`

	// Reference to a InstanceGroupManager in compute to populate instanceGroupManager.
	// +kubebuilder:validation:Optional
	InstanceGroupManagerRef *v1.Reference `json:"instanceGroupManagerRef,omitempty" tf:"-"`

	// Selector for a InstanceGroupManager in compute to populate instanceGroupManager.
	// +kubebuilder:validation:Optional
	InstanceGroupManagerSelector *v1.Selector `json:"instanceGroupManagerSelector,omitempty" tf:"-"`

	// The minimal action to perform on the instance during an update.
	// Default is NONE. Possible values are:
	MinimalAction *string `json:"minimalAction,omitempty" tf:"minimal_action,omitempty"`

	// The most disruptive action to perform on the instance during an update.
	// Default is REPLACE. Possible values are:
	MostDisruptiveAllowedAction *string `json:"mostDisruptiveAllowedAction,omitempty" tf:"most_disruptive_allowed_action,omitempty"`

	// The name for this per-instance config and its corresponding instance.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The preserved state for this instance.
	// Structure is documented below.
	PreservedState *PreservedStateInitParameters `json:"preservedState,omitempty" tf:"preserved_state,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// When true, deleting this config will immediately remove the underlying instance.
	// When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
	RemoveInstanceOnDestroy *bool `json:"removeInstanceOnDestroy,omitempty" tf:"remove_instance_on_destroy,omitempty"`

	// When true, deleting this config will immediately remove any specified state from the underlying instance.
	// When false, deleting this config will not immediately remove any state from the underlying instance.
	// State will be removed on the next instance recreation or update.
	RemoveInstanceStateOnDestroy *bool `json:"removeInstanceStateOnDestroy,omitempty" tf:"remove_instance_state_on_destroy,omitempty"`

	// Zone where the containing instance group manager is located
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.InstanceGroupManager
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("zone",false)
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`

	// Reference to a InstanceGroupManager in compute to populate zone.
	// +kubebuilder:validation:Optional
	ZoneRef *v1.Reference `json:"zoneRef,omitempty" tf:"-"`

	// Selector for a InstanceGroupManager in compute to populate zone.
	// +kubebuilder:validation:Optional
	ZoneSelector *v1.Selector `json:"zoneSelector,omitempty" tf:"-"`
}

func (*PerInstanceConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigInitParameters.

func (*PerInstanceConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PerInstanceConfigList

type PerInstanceConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []PerInstanceConfig `json:"items"`
}

PerInstanceConfigList contains a list of PerInstanceConfigs

func (*PerInstanceConfigList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigList.

func (*PerInstanceConfigList) DeepCopyInto

func (in *PerInstanceConfigList) DeepCopyInto(out *PerInstanceConfigList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PerInstanceConfigList) DeepCopyObject

func (in *PerInstanceConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PerInstanceConfigList) GetItems

func (l *PerInstanceConfigList) GetItems() []resource.Managed

GetItems of this PerInstanceConfigList.

type PerInstanceConfigObservation

type PerInstanceConfigObservation struct {

	// an identifier for the resource with format {{project}}/{{zone}}/{{instance_group_manager}}/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The instance group manager this instance config is part of.
	InstanceGroupManager *string `json:"instanceGroupManager,omitempty" tf:"instance_group_manager,omitempty"`

	// The minimal action to perform on the instance during an update.
	// Default is NONE. Possible values are:
	MinimalAction *string `json:"minimalAction,omitempty" tf:"minimal_action,omitempty"`

	// The most disruptive action to perform on the instance during an update.
	// Default is REPLACE. Possible values are:
	MostDisruptiveAllowedAction *string `json:"mostDisruptiveAllowedAction,omitempty" tf:"most_disruptive_allowed_action,omitempty"`

	// The name for this per-instance config and its corresponding instance.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The preserved state for this instance.
	// Structure is documented below.
	PreservedState *PreservedStateObservation `json:"preservedState,omitempty" tf:"preserved_state,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// When true, deleting this config will immediately remove the underlying instance.
	// When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
	RemoveInstanceOnDestroy *bool `json:"removeInstanceOnDestroy,omitempty" tf:"remove_instance_on_destroy,omitempty"`

	// When true, deleting this config will immediately remove any specified state from the underlying instance.
	// When false, deleting this config will not immediately remove any state from the underlying instance.
	// State will be removed on the next instance recreation or update.
	RemoveInstanceStateOnDestroy *bool `json:"removeInstanceStateOnDestroy,omitempty" tf:"remove_instance_state_on_destroy,omitempty"`

	// Zone where the containing instance group manager is located
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*PerInstanceConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigObservation.

func (*PerInstanceConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PerInstanceConfigParameters

type PerInstanceConfigParameters struct {

	// The instance group manager this instance config is part of.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.InstanceGroupManager
	// +kubebuilder:validation:Optional
	InstanceGroupManager *string `json:"instanceGroupManager,omitempty" tf:"instance_group_manager,omitempty"`

	// Reference to a InstanceGroupManager in compute to populate instanceGroupManager.
	// +kubebuilder:validation:Optional
	InstanceGroupManagerRef *v1.Reference `json:"instanceGroupManagerRef,omitempty" tf:"-"`

	// Selector for a InstanceGroupManager in compute to populate instanceGroupManager.
	// +kubebuilder:validation:Optional
	InstanceGroupManagerSelector *v1.Selector `json:"instanceGroupManagerSelector,omitempty" tf:"-"`

	// The minimal action to perform on the instance during an update.
	// Default is NONE. Possible values are:
	// +kubebuilder:validation:Optional
	MinimalAction *string `json:"minimalAction,omitempty" tf:"minimal_action,omitempty"`

	// The most disruptive action to perform on the instance during an update.
	// Default is REPLACE. Possible values are:
	// +kubebuilder:validation:Optional
	MostDisruptiveAllowedAction *string `json:"mostDisruptiveAllowedAction,omitempty" tf:"most_disruptive_allowed_action,omitempty"`

	// The name for this per-instance config and its corresponding instance.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The preserved state for this instance.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	PreservedState *PreservedStateParameters `json:"preservedState,omitempty" tf:"preserved_state,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// When true, deleting this config will immediately remove the underlying instance.
	// When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
	// +kubebuilder:validation:Optional
	RemoveInstanceOnDestroy *bool `json:"removeInstanceOnDestroy,omitempty" tf:"remove_instance_on_destroy,omitempty"`

	// When true, deleting this config will immediately remove any specified state from the underlying instance.
	// When false, deleting this config will not immediately remove any state from the underlying instance.
	// State will be removed on the next instance recreation or update.
	// +kubebuilder:validation:Optional
	RemoveInstanceStateOnDestroy *bool `json:"removeInstanceStateOnDestroy,omitempty" tf:"remove_instance_state_on_destroy,omitempty"`

	// Zone where the containing instance group manager is located
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.InstanceGroupManager
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("zone",false)
	// +kubebuilder:validation:Optional
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`

	// Reference to a InstanceGroupManager in compute to populate zone.
	// +kubebuilder:validation:Optional
	ZoneRef *v1.Reference `json:"zoneRef,omitempty" tf:"-"`

	// Selector for a InstanceGroupManager in compute to populate zone.
	// +kubebuilder:validation:Optional
	ZoneSelector *v1.Selector `json:"zoneSelector,omitempty" tf:"-"`
}

func (*PerInstanceConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigParameters.

func (*PerInstanceConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PerInstanceConfigSpec

type PerInstanceConfigSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     PerInstanceConfigParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider PerInstanceConfigInitParameters `json:"initProvider,omitempty"`
}

PerInstanceConfigSpec defines the desired state of PerInstanceConfig

func (*PerInstanceConfigSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigSpec.

func (*PerInstanceConfigSpec) DeepCopyInto

func (in *PerInstanceConfigSpec) DeepCopyInto(out *PerInstanceConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PerInstanceConfigStatus

type PerInstanceConfigStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        PerInstanceConfigObservation `json:"atProvider,omitempty"`
}

PerInstanceConfigStatus defines the observed state of PerInstanceConfig.

func (*PerInstanceConfigStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigStatus.

func (*PerInstanceConfigStatus) DeepCopyInto

func (in *PerInstanceConfigStatus) DeepCopyInto(out *PerInstanceConfigStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PerInstanceConfigsInitParameters

type PerInstanceConfigsInitParameters struct {
}

func (*PerInstanceConfigsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigsInitParameters.

func (*PerInstanceConfigsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PerInstanceConfigsObservation

type PerInstanceConfigsObservation struct {

	// A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs.
	AllEffective *bool `json:"allEffective,omitempty" tf:"all_effective,omitempty"`
}

func (*PerInstanceConfigsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigsObservation.

func (*PerInstanceConfigsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PerInstanceConfigsParameters

type PerInstanceConfigsParameters struct {
}

func (*PerInstanceConfigsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigsParameters.

func (*PerInstanceConfigsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PerTryTimeoutInitParameters

type PerTryTimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PerTryTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerTryTimeoutInitParameters.

func (*PerTryTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PerTryTimeoutObservation

type PerTryTimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PerTryTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerTryTimeoutObservation.

func (*PerTryTimeoutObservation) DeepCopyInto

func (in *PerTryTimeoutObservation) DeepCopyInto(out *PerTryTimeoutObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PerTryTimeoutParameters

type PerTryTimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*PerTryTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerTryTimeoutParameters.

func (*PerTryTimeoutParameters) DeepCopyInto

func (in *PerTryTimeoutParameters) DeepCopyInto(out *PerTryTimeoutParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PolicyInitParameters

type PolicyInitParameters struct {

	// The name of a locality load balancer policy to be used. The value
	// should be one of the predefined ones as supported by localityLbPolicy,
	// although at the moment only ROUND_ROBIN is supported.
	// This field should only be populated when the customPolicy field is not
	// used.
	// Note that specifying the same policy more than once for a backend is
	// not a valid configuration and will be rejected.
	// The possible values are:
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*PolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyInitParameters.

func (*PolicyInitParameters) DeepCopyInto

func (in *PolicyInitParameters) DeepCopyInto(out *PolicyInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PolicyObservation

type PolicyObservation struct {

	// The name of a locality load balancer policy to be used. The value
	// should be one of the predefined ones as supported by localityLbPolicy,
	// although at the moment only ROUND_ROBIN is supported.
	// This field should only be populated when the customPolicy field is not
	// used.
	// Note that specifying the same policy more than once for a backend is
	// not a valid configuration and will be rejected.
	// The possible values are:
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*PolicyObservation) DeepCopy

func (in *PolicyObservation) DeepCopy() *PolicyObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyObservation.

func (*PolicyObservation) DeepCopyInto

func (in *PolicyObservation) DeepCopyInto(out *PolicyObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PolicyParameters

type PolicyParameters struct {

	// The name of a locality load balancer policy to be used. The value
	// should be one of the predefined ones as supported by localityLbPolicy,
	// although at the moment only ROUND_ROBIN is supported.
	// This field should only be populated when the customPolicy field is not
	// used.
	// Note that specifying the same policy more than once for a backend is
	// not a valid configuration and will be rejected.
	// The possible values are:
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`
}

func (*PolicyParameters) DeepCopy

func (in *PolicyParameters) DeepCopy() *PolicyParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyParameters.

func (*PolicyParameters) DeepCopyInto

func (in *PolicyParameters) DeepCopyInto(out *PolicyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreservedStateDiskInitParameters

type PreservedStateDiskInitParameters struct {

	// A value that prescribes what should happen to the stateful disk when the VM instance is deleted.
	// The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION.
	// NEVER - detach the disk when the VM is deleted, but do not delete the disk.
	// ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently
	// deleted from the instance group.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// The mode of the disk.
	// Default value is READ_WRITE.
	// Possible values are: READ_ONLY, READ_WRITE.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The URI of an existing persistent disk to attach under the specified device-name in the format
	// projects/project-id/zones/zone/disks/disk-name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Disk
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Source *string `json:"source,omitempty" tf:"source,omitempty"`

	// Reference to a Disk in compute to populate source.
	// +kubebuilder:validation:Optional
	SourceRef *v1.Reference `json:"sourceRef,omitempty" tf:"-"`

	// Selector for a Disk in compute to populate source.
	// +kubebuilder:validation:Optional
	SourceSelector *v1.Selector `json:"sourceSelector,omitempty" tf:"-"`
}

func (*PreservedStateDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateDiskInitParameters.

func (*PreservedStateDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreservedStateDiskObservation

type PreservedStateDiskObservation struct {

	// A value that prescribes what should happen to the stateful disk when the VM instance is deleted.
	// The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION.
	// NEVER - detach the disk when the VM is deleted, but do not delete the disk.
	// ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently
	// deleted from the instance group.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// The mode of the disk.
	// Default value is READ_WRITE.
	// Possible values are: READ_ONLY, READ_WRITE.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The URI of an existing persistent disk to attach under the specified device-name in the format
	// projects/project-id/zones/zone/disks/disk-name.
	Source *string `json:"source,omitempty" tf:"source,omitempty"`
}

func (*PreservedStateDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateDiskObservation.

func (*PreservedStateDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreservedStateDiskParameters

type PreservedStateDiskParameters struct {

	// A value that prescribes what should happen to the stateful disk when the VM instance is deleted.
	// The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION.
	// NEVER - detach the disk when the VM is deleted, but do not delete the disk.
	// ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently
	// deleted from the instance group.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	// +kubebuilder:validation:Optional
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName" tf:"device_name,omitempty"`

	// The mode of the disk.
	// Default value is READ_WRITE.
	// Possible values are: READ_ONLY, READ_WRITE.
	// +kubebuilder:validation:Optional
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The URI of an existing persistent disk to attach under the specified device-name in the format
	// projects/project-id/zones/zone/disks/disk-name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Disk
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Source *string `json:"source,omitempty" tf:"source,omitempty"`

	// Reference to a Disk in compute to populate source.
	// +kubebuilder:validation:Optional
	SourceRef *v1.Reference `json:"sourceRef,omitempty" tf:"-"`

	// Selector for a Disk in compute to populate source.
	// +kubebuilder:validation:Optional
	SourceSelector *v1.Selector `json:"sourceSelector,omitempty" tf:"-"`
}

func (*PreservedStateDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateDiskParameters.

func (*PreservedStateDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreservedStateExternalIPInitParameters

type PreservedStateExternalIPInitParameters struct {

	// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	AutoDelete *string `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Ip address representation
	// Structure is documented below.
	IPAddress *ExternalIPIPAddressInitParameters `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// The identifier for this object. Format specified above.
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*PreservedStateExternalIPInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateExternalIPInitParameters.

func (*PreservedStateExternalIPInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreservedStateExternalIPObservation

type PreservedStateExternalIPObservation struct {

	// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	AutoDelete *string `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Ip address representation
	// Structure is documented below.
	IPAddress *ExternalIPIPAddressObservation `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// The identifier for this object. Format specified above.
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*PreservedStateExternalIPObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateExternalIPObservation.

func (*PreservedStateExternalIPObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreservedStateExternalIPParameters

type PreservedStateExternalIPParameters struct {

	// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	// +kubebuilder:validation:Optional
	AutoDelete *string `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Ip address representation
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	IPAddress *ExternalIPIPAddressParameters `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// The identifier for this object. Format specified above.
	// +kubebuilder:validation:Optional
	InterfaceName *string `json:"interfaceName" tf:"interface_name,omitempty"`
}

func (*PreservedStateExternalIPParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateExternalIPParameters.

func (*PreservedStateExternalIPParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreservedStateInitParameters

type PreservedStateInitParameters struct {

	// Stateful disks for the instance.
	// Structure is documented below.
	Disk []PreservedStateDiskInitParameters `json:"disk,omitempty" tf:"disk,omitempty"`

	// Preserved external IPs defined for this instance. This map is keyed with the name of the network interface.
	// Structure is documented below.
	ExternalIP []ExternalIPInitParameters `json:"externalIp,omitempty" tf:"external_ip,omitempty"`

	// Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface.
	// Structure is documented below.
	InternalIP []InternalIPInitParameters `json:"internalIp,omitempty" tf:"internal_ip,omitempty"`

	// Preserved metadata defined for this instance. This is a list of key->value pairs.
	// +mapType=granular
	Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"`
}

func (*PreservedStateInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateInitParameters.

func (*PreservedStateInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreservedStateInternalIPIPAddressInitParameters

type PreservedStateInternalIPIPAddressInitParameters struct {

	// The URL of the reservation for this IP address.
	Address *string `json:"address,omitempty" tf:"address,omitempty"`
}

func (*PreservedStateInternalIPIPAddressInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateInternalIPIPAddressInitParameters.

func (*PreservedStateInternalIPIPAddressInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreservedStateInternalIPIPAddressObservation

type PreservedStateInternalIPIPAddressObservation struct {

	// The URL of the reservation for this IP address.
	Address *string `json:"address,omitempty" tf:"address,omitempty"`
}

func (*PreservedStateInternalIPIPAddressObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateInternalIPIPAddressObservation.

func (*PreservedStateInternalIPIPAddressObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreservedStateInternalIPIPAddressParameters

type PreservedStateInternalIPIPAddressParameters struct {

	// The URL of the reservation for this IP address.
	// +kubebuilder:validation:Optional
	Address *string `json:"address,omitempty" tf:"address,omitempty"`
}

func (*PreservedStateInternalIPIPAddressParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateInternalIPIPAddressParameters.

func (*PreservedStateInternalIPIPAddressParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreservedStateInternalIPInitParameters

type PreservedStateInternalIPInitParameters struct {

	// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	AutoDelete *string `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Ip address representation
	// Structure is documented below.
	IPAddress *PreservedStateInternalIPIPAddressInitParameters `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// The identifier for this object. Format specified above.
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*PreservedStateInternalIPInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateInternalIPInitParameters.

func (*PreservedStateInternalIPInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreservedStateInternalIPObservation

type PreservedStateInternalIPObservation struct {

	// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	AutoDelete *string `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Ip address representation
	// Structure is documented below.
	IPAddress *PreservedStateInternalIPIPAddressObservation `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// The identifier for this object. Format specified above.
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*PreservedStateInternalIPObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateInternalIPObservation.

func (*PreservedStateInternalIPObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreservedStateInternalIPParameters

type PreservedStateInternalIPParameters struct {

	// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	// +kubebuilder:validation:Optional
	AutoDelete *string `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"`

	// Ip address representation
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	IPAddress *PreservedStateInternalIPIPAddressParameters `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// The identifier for this object. Format specified above.
	// +kubebuilder:validation:Optional
	InterfaceName *string `json:"interfaceName" tf:"interface_name,omitempty"`
}

func (*PreservedStateInternalIPParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateInternalIPParameters.

func (*PreservedStateInternalIPParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreservedStateObservation

type PreservedStateObservation struct {

	// Stateful disks for the instance.
	// Structure is documented below.
	Disk []PreservedStateDiskObservation `json:"disk,omitempty" tf:"disk,omitempty"`

	// Preserved external IPs defined for this instance. This map is keyed with the name of the network interface.
	// Structure is documented below.
	ExternalIP []ExternalIPObservation `json:"externalIp,omitempty" tf:"external_ip,omitempty"`

	// Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface.
	// Structure is documented below.
	InternalIP []InternalIPObservation `json:"internalIp,omitempty" tf:"internal_ip,omitempty"`

	// Preserved metadata defined for this instance. This is a list of key->value pairs.
	// +mapType=granular
	Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"`
}

func (*PreservedStateObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateObservation.

func (*PreservedStateObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreservedStateParameters

type PreservedStateParameters struct {

	// Stateful disks for the instance.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Disk []PreservedStateDiskParameters `json:"disk,omitempty" tf:"disk,omitempty"`

	// Preserved external IPs defined for this instance. This map is keyed with the name of the network interface.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ExternalIP []ExternalIPParameters `json:"externalIp,omitempty" tf:"external_ip,omitempty"`

	// Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	InternalIP []InternalIPParameters `json:"internalIp,omitempty" tf:"internal_ip,omitempty"`

	// Preserved metadata defined for this instance. This is a list of key->value pairs.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"`
}

func (*PreservedStateParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateParameters.

func (*PreservedStateParameters) DeepCopyInto

func (in *PreservedStateParameters) DeepCopyInto(out *PreservedStateParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProjectMapInitParameters

type ProjectMapInitParameters struct {

	// The identifier for this object. Format specified above.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Project
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project_id",false)
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Reference to a Project in cloudplatform to populate id.
	// +kubebuilder:validation:Optional
	IDRef *v1.Reference `json:"idRef,omitempty" tf:"-"`

	// Selector for a Project in cloudplatform to populate id.
	// +kubebuilder:validation:Optional
	IDSelector *v1.Selector `json:"idSelector,omitempty" tf:"-"`

	// The project id/number should be the same as the key of this project config in the project map.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Project
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project_id",false)
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in cloudplatform to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in cloudplatform to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`
}

func (*ProjectMapInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMapInitParameters.

func (*ProjectMapInitParameters) DeepCopyInto

func (in *ProjectMapInitParameters) DeepCopyInto(out *ProjectMapInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProjectMapObservation

type ProjectMapObservation struct {

	// The identifier for this object. Format specified above.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The project id/number should be the same as the key of this project config in the project map.
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`
}

func (*ProjectMapObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMapObservation.

func (*ProjectMapObservation) DeepCopyInto

func (in *ProjectMapObservation) DeepCopyInto(out *ProjectMapObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProjectMapParameters

type ProjectMapParameters struct {

	// The identifier for this object. Format specified above.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Project
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project_id",false)
	// +kubebuilder:validation:Optional
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Reference to a Project in cloudplatform to populate id.
	// +kubebuilder:validation:Optional
	IDRef *v1.Reference `json:"idRef,omitempty" tf:"-"`

	// Selector for a Project in cloudplatform to populate id.
	// +kubebuilder:validation:Optional
	IDSelector *v1.Selector `json:"idSelector,omitempty" tf:"-"`

	// The project id/number should be the same as the key of this project config in the project map.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.Project
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("project_id",false)
	// +kubebuilder:validation:Optional
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Reference to a Project in cloudplatform to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDRef *v1.Reference `json:"projectIdRef,omitempty" tf:"-"`

	// Selector for a Project in cloudplatform to populate projectId.
	// +kubebuilder:validation:Optional
	ProjectIDSelector *v1.Selector `json:"projectIdSelector,omitempty" tf:"-"`
}

func (*ProjectMapParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMapParameters.

func (*ProjectMapParameters) DeepCopyInto

func (in *ProjectMapParameters) DeepCopyInto(out *ProjectMapParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryParameterMatchesInitParameters

type QueryParameterMatchesInitParameters struct {

	// The queryParameterMatch matches if the value of the parameter exactly matches
	// the contents of exactMatch. Only one of presentMatch, exactMatch and regexMatch
	// must be set.
	ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"`

	// The name of the query parameter to match. The query parameter must exist in the
	// request, in the absence of which the request match fails.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies that the queryParameterMatch matches if the request contains the query
	// parameter, irrespective of whether the parameter has a value or not. Only one of
	// presentMatch, exactMatch and regexMatch must be set.
	PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`
}

func (*QueryParameterMatchesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryParameterMatchesInitParameters.

func (*QueryParameterMatchesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryParameterMatchesObservation

type QueryParameterMatchesObservation struct {

	// The queryParameterMatch matches if the value of the parameter exactly matches
	// the contents of exactMatch. Only one of presentMatch, exactMatch and regexMatch
	// must be set.
	ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"`

	// The name of the query parameter to match. The query parameter must exist in the
	// request, in the absence of which the request match fails.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Specifies that the queryParameterMatch matches if the request contains the query
	// parameter, irrespective of whether the parameter has a value or not. Only one of
	// presentMatch, exactMatch and regexMatch must be set.
	PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`
}

func (*QueryParameterMatchesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryParameterMatchesObservation.

func (*QueryParameterMatchesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryParameterMatchesParameters

type QueryParameterMatchesParameters struct {

	// The queryParameterMatch matches if the value of the parameter exactly matches
	// the contents of exactMatch. Only one of presentMatch, exactMatch and regexMatch
	// must be set.
	// +kubebuilder:validation:Optional
	ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"`

	// The name of the query parameter to match. The query parameter must exist in the
	// request, in the absence of which the request match fails.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// Specifies that the queryParameterMatch matches if the request contains the query
	// parameter, irrespective of whether the parameter has a value or not. Only one of
	// presentMatch, exactMatch and regexMatch must be set.
	// +kubebuilder:validation:Optional
	PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	// +kubebuilder:validation:Optional
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`
}

func (*QueryParameterMatchesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryParameterMatchesParameters.

func (*QueryParameterMatchesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RangeMatchInitParameters

type RangeMatchInitParameters struct {

	// The end of the range (exclusive).
	RangeEnd *float64 `json:"rangeEnd,omitempty" tf:"range_end,omitempty"`

	// The start of the range (inclusive).
	RangeStart *float64 `json:"rangeStart,omitempty" tf:"range_start,omitempty"`
}

func (*RangeMatchInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeMatchInitParameters.

func (*RangeMatchInitParameters) DeepCopyInto

func (in *RangeMatchInitParameters) DeepCopyInto(out *RangeMatchInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RangeMatchObservation

type RangeMatchObservation struct {

	// The end of the range (exclusive).
	RangeEnd *float64 `json:"rangeEnd,omitempty" tf:"range_end,omitempty"`

	// The start of the range (inclusive).
	RangeStart *float64 `json:"rangeStart,omitempty" tf:"range_start,omitempty"`
}

func (*RangeMatchObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeMatchObservation.

func (*RangeMatchObservation) DeepCopyInto

func (in *RangeMatchObservation) DeepCopyInto(out *RangeMatchObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RangeMatchParameters

type RangeMatchParameters struct {

	// The end of the range (exclusive).
	// +kubebuilder:validation:Optional
	RangeEnd *float64 `json:"rangeEnd" tf:"range_end,omitempty"`

	// The start of the range (inclusive).
	// +kubebuilder:validation:Optional
	RangeStart *float64 `json:"rangeStart" tf:"range_start,omitempty"`
}

func (*RangeMatchParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeMatchParameters.

func (*RangeMatchParameters) DeepCopyInto

func (in *RangeMatchParameters) DeepCopyInto(out *RangeMatchParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimitOptionsInitParameters

type RateLimitOptionsInitParameters struct {

	// Can only be specified if the action for the rule is rate_based_ban.
	// If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.
	BanDurationSec *float64 `json:"banDurationSec,omitempty" tf:"ban_duration_sec,omitempty"`

	// Can only be specified if the action for the rule is rate_based_ban.
	// If specified, the key will be banned for the configured ban_duration_sec when the number of requests that exceed the rate_limit_threshold also
	// exceed this ban_threshold. Structure is documented below.
	BanThreshold *BanThresholdInitParameters `json:"banThreshold,omitempty" tf:"ban_threshold,omitempty"`

	// Action to take for requests that are under the configured rate limit threshold. Valid option is allow only.
	ConformAction *string `json:"conformAction,omitempty" tf:"conform_action,omitempty"`

	// Determines the key to enforce the rate_limit_threshold on. If not specified, defaults to ALL.
	EnforceOnKey *string `json:"enforceOnKey,omitempty" tf:"enforce_on_key,omitempty"`

	// Rate limit key name applicable only for the following key types:
	EnforceOnKeyName *string `json:"enforceOnKeyName,omitempty" tf:"enforce_on_key_name,omitempty"`

	// When a request is denied, returns the HTTP response code specified.
	// Valid options are deny() where valid values for status are 403, 404, 429, and 502.
	ExceedAction *string `json:"exceedAction,omitempty" tf:"exceed_action,omitempty"`

	// block supports:
	ExceedRedirectOptions *ExceedRedirectOptionsInitParameters `json:"exceedRedirectOptions,omitempty" tf:"exceed_redirect_options,omitempty"`

	// Threshold at which to begin ratelimiting. Structure is documented below.
	RateLimitThreshold *RateLimitThresholdInitParameters `json:"rateLimitThreshold,omitempty" tf:"rate_limit_threshold,omitempty"`
}

func (*RateLimitOptionsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitOptionsInitParameters.

func (*RateLimitOptionsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimitOptionsObservation

type RateLimitOptionsObservation struct {

	// Can only be specified if the action for the rule is rate_based_ban.
	// If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.
	BanDurationSec *float64 `json:"banDurationSec,omitempty" tf:"ban_duration_sec,omitempty"`

	// Can only be specified if the action for the rule is rate_based_ban.
	// If specified, the key will be banned for the configured ban_duration_sec when the number of requests that exceed the rate_limit_threshold also
	// exceed this ban_threshold. Structure is documented below.
	BanThreshold *BanThresholdObservation `json:"banThreshold,omitempty" tf:"ban_threshold,omitempty"`

	// Action to take for requests that are under the configured rate limit threshold. Valid option is allow only.
	ConformAction *string `json:"conformAction,omitempty" tf:"conform_action,omitempty"`

	// Determines the key to enforce the rate_limit_threshold on. If not specified, defaults to ALL.
	EnforceOnKey *string `json:"enforceOnKey,omitempty" tf:"enforce_on_key,omitempty"`

	// Rate limit key name applicable only for the following key types:
	EnforceOnKeyName *string `json:"enforceOnKeyName,omitempty" tf:"enforce_on_key_name,omitempty"`

	// When a request is denied, returns the HTTP response code specified.
	// Valid options are deny() where valid values for status are 403, 404, 429, and 502.
	ExceedAction *string `json:"exceedAction,omitempty" tf:"exceed_action,omitempty"`

	// block supports:
	ExceedRedirectOptions *ExceedRedirectOptionsObservation `json:"exceedRedirectOptions,omitempty" tf:"exceed_redirect_options,omitempty"`

	// Threshold at which to begin ratelimiting. Structure is documented below.
	RateLimitThreshold *RateLimitThresholdObservation `json:"rateLimitThreshold,omitempty" tf:"rate_limit_threshold,omitempty"`
}

func (*RateLimitOptionsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitOptionsObservation.

func (*RateLimitOptionsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimitOptionsParameters

type RateLimitOptionsParameters struct {

	// Can only be specified if the action for the rule is rate_based_ban.
	// If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.
	// +kubebuilder:validation:Optional
	BanDurationSec *float64 `json:"banDurationSec,omitempty" tf:"ban_duration_sec,omitempty"`

	// Can only be specified if the action for the rule is rate_based_ban.
	// If specified, the key will be banned for the configured ban_duration_sec when the number of requests that exceed the rate_limit_threshold also
	// exceed this ban_threshold. Structure is documented below.
	// +kubebuilder:validation:Optional
	BanThreshold *BanThresholdParameters `json:"banThreshold,omitempty" tf:"ban_threshold,omitempty"`

	// Action to take for requests that are under the configured rate limit threshold. Valid option is allow only.
	// +kubebuilder:validation:Optional
	ConformAction *string `json:"conformAction" tf:"conform_action,omitempty"`

	// Determines the key to enforce the rate_limit_threshold on. If not specified, defaults to ALL.
	// +kubebuilder:validation:Optional
	EnforceOnKey *string `json:"enforceOnKey,omitempty" tf:"enforce_on_key,omitempty"`

	// Rate limit key name applicable only for the following key types:
	// +kubebuilder:validation:Optional
	EnforceOnKeyName *string `json:"enforceOnKeyName,omitempty" tf:"enforce_on_key_name,omitempty"`

	// When a request is denied, returns the HTTP response code specified.
	// Valid options are deny() where valid values for status are 403, 404, 429, and 502.
	// +kubebuilder:validation:Optional
	ExceedAction *string `json:"exceedAction" tf:"exceed_action,omitempty"`

	// block supports:
	// +kubebuilder:validation:Optional
	ExceedRedirectOptions *ExceedRedirectOptionsParameters `json:"exceedRedirectOptions,omitempty" tf:"exceed_redirect_options,omitempty"`

	// Threshold at which to begin ratelimiting. Structure is documented below.
	// +kubebuilder:validation:Optional
	RateLimitThreshold *RateLimitThresholdParameters `json:"rateLimitThreshold" tf:"rate_limit_threshold,omitempty"`
}

func (*RateLimitOptionsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitOptionsParameters.

func (*RateLimitOptionsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimitThresholdInitParameters

type RateLimitThresholdInitParameters struct {

	// Number of HTTP(S) requests for calculating the threshold.
	Count *float64 `json:"count,omitempty" tf:"count,omitempty"`

	// Interval over which the threshold is computed.
	IntervalSec *float64 `json:"intervalSec,omitempty" tf:"interval_sec,omitempty"`
}

func (*RateLimitThresholdInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitThresholdInitParameters.

func (*RateLimitThresholdInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimitThresholdObservation

type RateLimitThresholdObservation struct {

	// Number of HTTP(S) requests for calculating the threshold.
	Count *float64 `json:"count,omitempty" tf:"count,omitempty"`

	// Interval over which the threshold is computed.
	IntervalSec *float64 `json:"intervalSec,omitempty" tf:"interval_sec,omitempty"`
}

func (*RateLimitThresholdObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitThresholdObservation.

func (*RateLimitThresholdObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimitThresholdParameters

type RateLimitThresholdParameters struct {

	// Number of HTTP(S) requests for calculating the threshold.
	// +kubebuilder:validation:Optional
	Count *float64 `json:"count" tf:"count,omitempty"`

	// Interval over which the threshold is computed.
	// +kubebuilder:validation:Optional
	IntervalSec *float64 `json:"intervalSec" tf:"interval_sec,omitempty"`
}

func (*RateLimitThresholdParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitThresholdParameters.

func (*RateLimitThresholdParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RawDiskInitParameters

type RawDiskInitParameters struct {

	// The format used to encode and transmit the block device, which
	// should be TAR. This is just a container and transmission format
	// and not a runtime format. Provided by the client when the disk
	// image is created.
	// Default value is TAR.
	// Possible values are: TAR.
	ContainerType *string `json:"containerType,omitempty" tf:"container_type,omitempty"`

	// An optional SHA1 checksum of the disk image before unpackaging.
	// This is provided by the client when the disk image is created.
	Sha1 *string `json:"sha1,omitempty" tf:"sha1,omitempty"`

	// The full Google Cloud Storage URL where disk storage is stored
	// You must provide either this property or the sourceDisk property
	// but not both.
	Source *string `json:"source,omitempty" tf:"source,omitempty"`
}

func (*RawDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawDiskInitParameters.

func (*RawDiskInitParameters) DeepCopyInto

func (in *RawDiskInitParameters) DeepCopyInto(out *RawDiskInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RawDiskObservation

type RawDiskObservation struct {

	// The format used to encode and transmit the block device, which
	// should be TAR. This is just a container and transmission format
	// and not a runtime format. Provided by the client when the disk
	// image is created.
	// Default value is TAR.
	// Possible values are: TAR.
	ContainerType *string `json:"containerType,omitempty" tf:"container_type,omitempty"`

	// An optional SHA1 checksum of the disk image before unpackaging.
	// This is provided by the client when the disk image is created.
	Sha1 *string `json:"sha1,omitempty" tf:"sha1,omitempty"`

	// The full Google Cloud Storage URL where disk storage is stored
	// You must provide either this property or the sourceDisk property
	// but not both.
	Source *string `json:"source,omitempty" tf:"source,omitempty"`
}

func (*RawDiskObservation) DeepCopy

func (in *RawDiskObservation) DeepCopy() *RawDiskObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawDiskObservation.

func (*RawDiskObservation) DeepCopyInto

func (in *RawDiskObservation) DeepCopyInto(out *RawDiskObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RawDiskParameters

type RawDiskParameters struct {

	// The format used to encode and transmit the block device, which
	// should be TAR. This is just a container and transmission format
	// and not a runtime format. Provided by the client when the disk
	// image is created.
	// Default value is TAR.
	// Possible values are: TAR.
	// +kubebuilder:validation:Optional
	ContainerType *string `json:"containerType,omitempty" tf:"container_type,omitempty"`

	// An optional SHA1 checksum of the disk image before unpackaging.
	// This is provided by the client when the disk image is created.
	// +kubebuilder:validation:Optional
	Sha1 *string `json:"sha1,omitempty" tf:"sha1,omitempty"`

	// The full Google Cloud Storage URL where disk storage is stored
	// You must provide either this property or the sourceDisk property
	// but not both.
	// +kubebuilder:validation:Optional
	Source *string `json:"source" tf:"source,omitempty"`
}

func (*RawDiskParameters) DeepCopy

func (in *RawDiskParameters) DeepCopy() *RawDiskParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawDiskParameters.

func (*RawDiskParameters) DeepCopyInto

func (in *RawDiskParameters) DeepCopyInto(out *RawDiskParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RecaptchaOptionsConfigInitParameters

type RecaptchaOptionsConfigInitParameters struct {

	// A field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used.
	RedirectSiteKey *string `json:"redirectSiteKey,omitempty" tf:"redirect_site_key,omitempty"`
}

func (*RecaptchaOptionsConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecaptchaOptionsConfigInitParameters.

func (*RecaptchaOptionsConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RecaptchaOptionsConfigObservation

type RecaptchaOptionsConfigObservation struct {

	// A field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used.
	RedirectSiteKey *string `json:"redirectSiteKey,omitempty" tf:"redirect_site_key,omitempty"`
}

func (*RecaptchaOptionsConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecaptchaOptionsConfigObservation.

func (*RecaptchaOptionsConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RecaptchaOptionsConfigParameters

type RecaptchaOptionsConfigParameters struct {

	// A field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used.
	// +kubebuilder:validation:Optional
	RedirectSiteKey *string `json:"redirectSiteKey" tf:"redirect_site_key,omitempty"`
}

func (*RecaptchaOptionsConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecaptchaOptionsConfigParameters.

func (*RecaptchaOptionsConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedirectOptionsInitParameters

type RedirectOptionsInitParameters struct {

	// Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// Type of the redirect action.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*RedirectOptionsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedirectOptionsInitParameters.

func (*RedirectOptionsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedirectOptionsObservation

type RedirectOptionsObservation struct {

	// Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// Type of the redirect action.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*RedirectOptionsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedirectOptionsObservation.

func (*RedirectOptionsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedirectOptionsParameters

type RedirectOptionsParameters struct {

	// Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
	// +kubebuilder:validation:Optional
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// Type of the redirect action.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*RedirectOptionsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedirectOptionsParameters.

func (*RedirectOptionsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionAutoscaler

type RegionAutoscaler struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.autoscalingPolicy) || (has(self.initProvider) && has(self.initProvider.autoscalingPolicy))",message="spec.forProvider.autoscalingPolicy is a required parameter"
	Spec   RegionAutoscalerSpec   `json:"spec"`
	Status RegionAutoscalerStatus `json:"status,omitempty"`
}

RegionAutoscaler is the Schema for the RegionAutoscalers API. Represents an Autoscaler resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*RegionAutoscaler) DeepCopy

func (in *RegionAutoscaler) DeepCopy() *RegionAutoscaler

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscaler.

func (*RegionAutoscaler) DeepCopyInto

func (in *RegionAutoscaler) DeepCopyInto(out *RegionAutoscaler)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionAutoscaler) DeepCopyObject

func (in *RegionAutoscaler) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionAutoscaler) GetCondition

func (mg *RegionAutoscaler) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this RegionAutoscaler.

func (*RegionAutoscaler) GetConnectionDetailsMapping

func (tr *RegionAutoscaler) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this RegionAutoscaler

func (*RegionAutoscaler) GetDeletionPolicy

func (mg *RegionAutoscaler) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this RegionAutoscaler.

func (*RegionAutoscaler) GetID

func (tr *RegionAutoscaler) GetID() string

GetID returns ID of underlying Terraform resource of this RegionAutoscaler

func (*RegionAutoscaler) GetInitParameters

func (tr *RegionAutoscaler) GetInitParameters() (map[string]any, error)

GetInitParameters of this RegionAutoscaler

func (*RegionAutoscaler) GetManagementPolicies

func (mg *RegionAutoscaler) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this RegionAutoscaler.

func (*RegionAutoscaler) GetMergedParameters

func (tr *RegionAutoscaler) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this RegionAutoscaler

func (*RegionAutoscaler) GetObservation

func (tr *RegionAutoscaler) GetObservation() (map[string]any, error)

GetObservation of this RegionAutoscaler

func (*RegionAutoscaler) GetParameters

func (tr *RegionAutoscaler) GetParameters() (map[string]any, error)

GetParameters of this RegionAutoscaler

func (*RegionAutoscaler) GetProviderConfigReference

func (mg *RegionAutoscaler) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this RegionAutoscaler.

func (*RegionAutoscaler) GetPublishConnectionDetailsTo

func (mg *RegionAutoscaler) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this RegionAutoscaler.

func (*RegionAutoscaler) GetTerraformResourceType

func (mg *RegionAutoscaler) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this RegionAutoscaler

func (*RegionAutoscaler) GetTerraformSchemaVersion

func (tr *RegionAutoscaler) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*RegionAutoscaler) GetWriteConnectionSecretToReference

func (mg *RegionAutoscaler) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this RegionAutoscaler.

func (*RegionAutoscaler) Hub

func (tr *RegionAutoscaler) Hub()

Hub marks this type as a conversion hub.

func (*RegionAutoscaler) LateInitialize

func (tr *RegionAutoscaler) LateInitialize(attrs []byte) (bool, error)

LateInitialize this RegionAutoscaler using its observed tfState. returns True if there are any spec changes for the resource.

func (*RegionAutoscaler) ResolveReferences

func (mg *RegionAutoscaler) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this RegionAutoscaler.

func (*RegionAutoscaler) SetConditions

func (mg *RegionAutoscaler) SetConditions(c ...xpv1.Condition)

SetConditions of this RegionAutoscaler.

func (*RegionAutoscaler) SetDeletionPolicy

func (mg *RegionAutoscaler) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this RegionAutoscaler.

func (*RegionAutoscaler) SetManagementPolicies

func (mg *RegionAutoscaler) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this RegionAutoscaler.

func (*RegionAutoscaler) SetObservation

func (tr *RegionAutoscaler) SetObservation(obs map[string]any) error

SetObservation for this RegionAutoscaler

func (*RegionAutoscaler) SetParameters

func (tr *RegionAutoscaler) SetParameters(params map[string]any) error

SetParameters for this RegionAutoscaler

func (*RegionAutoscaler) SetProviderConfigReference

func (mg *RegionAutoscaler) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this RegionAutoscaler.

func (*RegionAutoscaler) SetPublishConnectionDetailsTo

func (mg *RegionAutoscaler) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this RegionAutoscaler.

func (*RegionAutoscaler) SetWriteConnectionSecretToReference

func (mg *RegionAutoscaler) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this RegionAutoscaler.

type RegionAutoscalerAutoscalingPolicyInitParameters

type RegionAutoscalerAutoscalingPolicyInitParameters struct {

	// Defines the CPU utilization policy that allows the autoscaler to
	// scale based on the average CPU utilization of a managed instance
	// group.
	// Structure is documented below.
	CPUUtilization *AutoscalingPolicyCPUUtilizationInitParameters `json:"cpuUtilization,omitempty" tf:"cpu_utilization,omitempty"`

	// The number of seconds that the autoscaler should wait before it
	// starts collecting information from a new instance. This prevents
	// the autoscaler from collecting information when the instance is
	// initializing, during which the collected usage would not be
	// reliable. The default time autoscaler waits is 60 seconds.
	// Virtual machine initialization times might vary because of
	// numerous factors. We recommend that you test how long an
	// instance may take to initialize. To do this, create an instance
	// and time the startup process.
	CooldownPeriod *float64 `json:"cooldownPeriod,omitempty" tf:"cooldown_period,omitempty"`

	// Configuration parameters of autoscaling based on a load balancer.
	// Structure is documented below.
	LoadBalancingUtilization *AutoscalingPolicyLoadBalancingUtilizationInitParameters `json:"loadBalancingUtilization,omitempty" tf:"load_balancing_utilization,omitempty"`

	// The maximum number of instances that the autoscaler can scale up
	// to. This is required when creating or updating an autoscaler. The
	// maximum number of replicas should not be lower than minimal number
	// of replicas.
	MaxReplicas *float64 `json:"maxReplicas,omitempty" tf:"max_replicas,omitempty"`

	// Configuration parameters of autoscaling based on a custom metric.
	// Structure is documented below.
	Metric []AutoscalingPolicyMetricInitParameters `json:"metric,omitempty" tf:"metric,omitempty"`

	// The minimum number of replicas that the autoscaler can scale down
	// to. This cannot be less than 0. If not provided, autoscaler will
	// choose a default value depending on maximum number of instances
	// allowed.
	MinReplicas *float64 `json:"minReplicas,omitempty" tf:"min_replicas,omitempty"`

	// Defines operating mode for this policy.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// Defines scale in controls to reduce the risk of response latency
	// and outages due to abrupt scale-in events
	// Structure is documented below.
	ScaleInControl *AutoscalingPolicyScaleInControlInitParameters `json:"scaleInControl,omitempty" tf:"scale_in_control,omitempty"`

	// Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler and they can overlap.
	// Structure is documented below.
	ScalingSchedules []AutoscalingPolicyScalingSchedulesInitParameters `json:"scalingSchedules,omitempty" tf:"scaling_schedules,omitempty"`
}

func (*RegionAutoscalerAutoscalingPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerAutoscalingPolicyInitParameters.

func (*RegionAutoscalerAutoscalingPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionAutoscalerAutoscalingPolicyObservation

type RegionAutoscalerAutoscalingPolicyObservation struct {

	// Defines the CPU utilization policy that allows the autoscaler to
	// scale based on the average CPU utilization of a managed instance
	// group.
	// Structure is documented below.
	CPUUtilization *AutoscalingPolicyCPUUtilizationObservation `json:"cpuUtilization,omitempty" tf:"cpu_utilization,omitempty"`

	// The number of seconds that the autoscaler should wait before it
	// starts collecting information from a new instance. This prevents
	// the autoscaler from collecting information when the instance is
	// initializing, during which the collected usage would not be
	// reliable. The default time autoscaler waits is 60 seconds.
	// Virtual machine initialization times might vary because of
	// numerous factors. We recommend that you test how long an
	// instance may take to initialize. To do this, create an instance
	// and time the startup process.
	CooldownPeriod *float64 `json:"cooldownPeriod,omitempty" tf:"cooldown_period,omitempty"`

	// Configuration parameters of autoscaling based on a load balancer.
	// Structure is documented below.
	LoadBalancingUtilization *AutoscalingPolicyLoadBalancingUtilizationObservation `json:"loadBalancingUtilization,omitempty" tf:"load_balancing_utilization,omitempty"`

	// The maximum number of instances that the autoscaler can scale up
	// to. This is required when creating or updating an autoscaler. The
	// maximum number of replicas should not be lower than minimal number
	// of replicas.
	MaxReplicas *float64 `json:"maxReplicas,omitempty" tf:"max_replicas,omitempty"`

	// Configuration parameters of autoscaling based on a custom metric.
	// Structure is documented below.
	Metric []AutoscalingPolicyMetricObservation `json:"metric,omitempty" tf:"metric,omitempty"`

	// The minimum number of replicas that the autoscaler can scale down
	// to. This cannot be less than 0. If not provided, autoscaler will
	// choose a default value depending on maximum number of instances
	// allowed.
	MinReplicas *float64 `json:"minReplicas,omitempty" tf:"min_replicas,omitempty"`

	// Defines operating mode for this policy.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// Defines scale in controls to reduce the risk of response latency
	// and outages due to abrupt scale-in events
	// Structure is documented below.
	ScaleInControl *AutoscalingPolicyScaleInControlObservation `json:"scaleInControl,omitempty" tf:"scale_in_control,omitempty"`

	// Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler and they can overlap.
	// Structure is documented below.
	ScalingSchedules []AutoscalingPolicyScalingSchedulesObservation `json:"scalingSchedules,omitempty" tf:"scaling_schedules,omitempty"`
}

func (*RegionAutoscalerAutoscalingPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerAutoscalingPolicyObservation.

func (*RegionAutoscalerAutoscalingPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionAutoscalerAutoscalingPolicyParameters

type RegionAutoscalerAutoscalingPolicyParameters struct {

	// Defines the CPU utilization policy that allows the autoscaler to
	// scale based on the average CPU utilization of a managed instance
	// group.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CPUUtilization *AutoscalingPolicyCPUUtilizationParameters `json:"cpuUtilization,omitempty" tf:"cpu_utilization,omitempty"`

	// The number of seconds that the autoscaler should wait before it
	// starts collecting information from a new instance. This prevents
	// the autoscaler from collecting information when the instance is
	// initializing, during which the collected usage would not be
	// reliable. The default time autoscaler waits is 60 seconds.
	// Virtual machine initialization times might vary because of
	// numerous factors. We recommend that you test how long an
	// instance may take to initialize. To do this, create an instance
	// and time the startup process.
	// +kubebuilder:validation:Optional
	CooldownPeriod *float64 `json:"cooldownPeriod,omitempty" tf:"cooldown_period,omitempty"`

	// Configuration parameters of autoscaling based on a load balancer.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	LoadBalancingUtilization *AutoscalingPolicyLoadBalancingUtilizationParameters `json:"loadBalancingUtilization,omitempty" tf:"load_balancing_utilization,omitempty"`

	// The maximum number of instances that the autoscaler can scale up
	// to. This is required when creating or updating an autoscaler. The
	// maximum number of replicas should not be lower than minimal number
	// of replicas.
	// +kubebuilder:validation:Optional
	MaxReplicas *float64 `json:"maxReplicas" tf:"max_replicas,omitempty"`

	// Configuration parameters of autoscaling based on a custom metric.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Metric []AutoscalingPolicyMetricParameters `json:"metric,omitempty" tf:"metric,omitempty"`

	// The minimum number of replicas that the autoscaler can scale down
	// to. This cannot be less than 0. If not provided, autoscaler will
	// choose a default value depending on maximum number of instances
	// allowed.
	// +kubebuilder:validation:Optional
	MinReplicas *float64 `json:"minReplicas" tf:"min_replicas,omitempty"`

	// Defines operating mode for this policy.
	// +kubebuilder:validation:Optional
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// Defines scale in controls to reduce the risk of response latency
	// and outages due to abrupt scale-in events
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ScaleInControl *AutoscalingPolicyScaleInControlParameters `json:"scaleInControl,omitempty" tf:"scale_in_control,omitempty"`

	// Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler and they can overlap.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ScalingSchedules []AutoscalingPolicyScalingSchedulesParameters `json:"scalingSchedules,omitempty" tf:"scaling_schedules,omitempty"`
}

func (*RegionAutoscalerAutoscalingPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerAutoscalingPolicyParameters.

func (*RegionAutoscalerAutoscalingPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionAutoscalerInitParameters

type RegionAutoscalerInitParameters struct {

	// The configuration parameters for the autoscaling algorithm. You can
	// define one or more of the policies for an autoscaler: cpuUtilization,
	// customMetricUtilizations, and loadBalancingUtilization.
	// If none of these are specified, the default will be to autoscale based
	// on cpuUtilization to 0.6 or 60%.
	// Structure is documented below.
	AutoscalingPolicy *RegionAutoscalerAutoscalingPolicyInitParameters `json:"autoscalingPolicy,omitempty" tf:"autoscaling_policy,omitempty"`

	// A description of a scaling schedule.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionInstanceGroupManager
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// Reference to a RegionInstanceGroupManager in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetRef *v1.Reference `json:"targetRef,omitempty" tf:"-"`

	// Selector for a RegionInstanceGroupManager in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetSelector *v1.Selector `json:"targetSelector,omitempty" tf:"-"`
}

func (*RegionAutoscalerInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerInitParameters.

func (*RegionAutoscalerInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionAutoscalerList

type RegionAutoscalerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RegionAutoscaler `json:"items"`
}

RegionAutoscalerList contains a list of RegionAutoscalers

func (*RegionAutoscalerList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerList.

func (*RegionAutoscalerList) DeepCopyInto

func (in *RegionAutoscalerList) DeepCopyInto(out *RegionAutoscalerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionAutoscalerList) DeepCopyObject

func (in *RegionAutoscalerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionAutoscalerList) GetItems

func (l *RegionAutoscalerList) GetItems() []resource.Managed

GetItems of this RegionAutoscalerList.

type RegionAutoscalerObservation

type RegionAutoscalerObservation struct {

	// The configuration parameters for the autoscaling algorithm. You can
	// define one or more of the policies for an autoscaler: cpuUtilization,
	// customMetricUtilizations, and loadBalancingUtilization.
	// If none of these are specified, the default will be to autoscale based
	// on cpuUtilization to 0.6 or 60%.
	// Structure is documented below.
	AutoscalingPolicy *RegionAutoscalerAutoscalingPolicyObservation `json:"autoscalingPolicy,omitempty" tf:"autoscaling_policy,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// A description of a scaling schedule.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// an identifier for the resource with format projects/{{project}}/regions/{{region}}/autoscalers/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// URL of the region where the instance group resides.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	Target *string `json:"target,omitempty" tf:"target,omitempty"`
}

func (*RegionAutoscalerObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerObservation.

func (*RegionAutoscalerObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionAutoscalerParameters

type RegionAutoscalerParameters struct {

	// The configuration parameters for the autoscaling algorithm. You can
	// define one or more of the policies for an autoscaler: cpuUtilization,
	// customMetricUtilizations, and loadBalancingUtilization.
	// If none of these are specified, the default will be to autoscale based
	// on cpuUtilization to 0.6 or 60%.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	AutoscalingPolicy *RegionAutoscalerAutoscalingPolicyParameters `json:"autoscalingPolicy,omitempty" tf:"autoscaling_policy,omitempty"`

	// A description of a scaling schedule.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// URL of the region where the instance group resides.
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"region,omitempty"`

	// URL of the managed instance group that this autoscaler will scale.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionInstanceGroupManager
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Target *string `json:"target,omitempty" tf:"target,omitempty"`

	// Reference to a RegionInstanceGroupManager in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetRef *v1.Reference `json:"targetRef,omitempty" tf:"-"`

	// Selector for a RegionInstanceGroupManager in compute to populate target.
	// +kubebuilder:validation:Optional
	TargetSelector *v1.Selector `json:"targetSelector,omitempty" tf:"-"`
}

func (*RegionAutoscalerParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerParameters.

func (*RegionAutoscalerParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionAutoscalerSpec

type RegionAutoscalerSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RegionAutoscalerParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RegionAutoscalerInitParameters `json:"initProvider,omitempty"`
}

RegionAutoscalerSpec defines the desired state of RegionAutoscaler

func (*RegionAutoscalerSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerSpec.

func (*RegionAutoscalerSpec) DeepCopyInto

func (in *RegionAutoscalerSpec) DeepCopyInto(out *RegionAutoscalerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionAutoscalerStatus

type RegionAutoscalerStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RegionAutoscalerObservation `json:"atProvider,omitempty"`
}

RegionAutoscalerStatus defines the observed state of RegionAutoscaler.

func (*RegionAutoscalerStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerStatus.

func (*RegionAutoscalerStatus) DeepCopyInto

func (in *RegionAutoscalerStatus) DeepCopyInto(out *RegionAutoscalerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendService

type RegionBackendService struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              RegionBackendServiceSpec   `json:"spec"`
	Status            RegionBackendServiceStatus `json:"status,omitempty"`
}

RegionBackendService is the Schema for the RegionBackendServices API. A Region Backend Service defines a regionally-scoped group of virtual machines that will serve traffic for load balancing. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*RegionBackendService) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendService.

func (*RegionBackendService) DeepCopyInto

func (in *RegionBackendService) DeepCopyInto(out *RegionBackendService)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionBackendService) DeepCopyObject

func (in *RegionBackendService) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionBackendService) GetCondition

func (mg *RegionBackendService) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this RegionBackendService.

func (*RegionBackendService) GetConnectionDetailsMapping

func (tr *RegionBackendService) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this RegionBackendService

func (*RegionBackendService) GetDeletionPolicy

func (mg *RegionBackendService) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this RegionBackendService.

func (*RegionBackendService) GetID

func (tr *RegionBackendService) GetID() string

GetID returns ID of underlying Terraform resource of this RegionBackendService

func (*RegionBackendService) GetInitParameters

func (tr *RegionBackendService) GetInitParameters() (map[string]any, error)

GetInitParameters of this RegionBackendService

func (*RegionBackendService) GetManagementPolicies

func (mg *RegionBackendService) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this RegionBackendService.

func (*RegionBackendService) GetMergedParameters

func (tr *RegionBackendService) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this RegionBackendService

func (*RegionBackendService) GetObservation

func (tr *RegionBackendService) GetObservation() (map[string]any, error)

GetObservation of this RegionBackendService

func (*RegionBackendService) GetParameters

func (tr *RegionBackendService) GetParameters() (map[string]any, error)

GetParameters of this RegionBackendService

func (*RegionBackendService) GetProviderConfigReference

func (mg *RegionBackendService) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this RegionBackendService.

func (*RegionBackendService) GetPublishConnectionDetailsTo

func (mg *RegionBackendService) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this RegionBackendService.

func (*RegionBackendService) GetTerraformResourceType

func (mg *RegionBackendService) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this RegionBackendService

func (*RegionBackendService) GetTerraformSchemaVersion

func (tr *RegionBackendService) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*RegionBackendService) GetWriteConnectionSecretToReference

func (mg *RegionBackendService) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this RegionBackendService.

func (*RegionBackendService) Hub

func (tr *RegionBackendService) Hub()

Hub marks this type as a conversion hub.

func (*RegionBackendService) LateInitialize

func (tr *RegionBackendService) LateInitialize(attrs []byte) (bool, error)

LateInitialize this RegionBackendService using its observed tfState. returns True if there are any spec changes for the resource.

func (*RegionBackendService) ResolveReferences

func (mg *RegionBackendService) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this RegionBackendService.

func (*RegionBackendService) SetConditions

func (mg *RegionBackendService) SetConditions(c ...xpv1.Condition)

SetConditions of this RegionBackendService.

func (*RegionBackendService) SetDeletionPolicy

func (mg *RegionBackendService) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this RegionBackendService.

func (*RegionBackendService) SetManagementPolicies

func (mg *RegionBackendService) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this RegionBackendService.

func (*RegionBackendService) SetObservation

func (tr *RegionBackendService) SetObservation(obs map[string]any) error

SetObservation for this RegionBackendService

func (*RegionBackendService) SetParameters

func (tr *RegionBackendService) SetParameters(params map[string]any) error

SetParameters for this RegionBackendService

func (*RegionBackendService) SetProviderConfigReference

func (mg *RegionBackendService) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this RegionBackendService.

func (*RegionBackendService) SetPublishConnectionDetailsTo

func (mg *RegionBackendService) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this RegionBackendService.

func (*RegionBackendService) SetWriteConnectionSecretToReference

func (mg *RegionBackendService) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this RegionBackendService.

type RegionBackendServiceBackendInitParameters

type RegionBackendServiceBackendInitParameters struct {

	// Specifies the balancing mode for this backend.
	// See the Backend Services Overview
	// for an explanation of load balancing modes.
	// Default value is CONNECTION.
	// Possible values are: UTILIZATION, RATE, CONNECTION.
	BalancingMode *string `json:"balancingMode,omitempty" tf:"balancing_mode,omitempty"`

	// A multiplier applied to the group's maximum servicing capacity
	// (based on UTILIZATION, RATE or CONNECTION).
	// ~>NOTE: This field cannot be set for
	// INTERNAL region backend services (default loadBalancingScheme),
	// but is required for non-INTERNAL backend service. The total
	// capacity_scaler for all backends must be non-zero.
	// A setting of 0 means the group is completely drained, offering
	// 0% of its available Capacity. Valid range is [0.0,1.0].
	CapacityScaler *float64 `json:"capacityScaler,omitempty" tf:"capacity_scaler,omitempty"`

	// An optional description of this resource.
	// Provide this property when you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// This field designates whether this is a failover backend. More
	// than one failover backend can be configured for a given RegionBackendService.
	Failover *bool `json:"failover,omitempty" tf:"failover,omitempty"`

	// The fully-qualified URL of an Instance Group or Network Endpoint
	// Group resource. In case of instance group this defines the list
	// of instances that serve traffic. Member virtual machine
	// instances from each instance group must live in the same zone as
	// the instance group itself. No two backends in a backend service
	// are allowed to use same Instance Group resource.
	// For Network Endpoint Groups this defines list of endpoints. All
	// endpoints of Network Endpoint Group must be hosted on instances
	// located in the same zone as the Network Endpoint Group.
	// Backend services cannot mix Instance Group and
	// Network Endpoint Group backends.
	// When the load_balancing_scheme is INTERNAL, only instance groups
	// are supported.
	// Note that you must specify an Instance Group or Network Endpoint
	// Group resource using the fully-qualified URL, rather than a
	// partial URL.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionInstanceGroupManager
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/compute.InstanceGroupExtractor()
	Group *string `json:"group,omitempty" tf:"group,omitempty"`

	// Reference to a RegionInstanceGroupManager in compute to populate group.
	// +kubebuilder:validation:Optional
	GroupRef *v1.Reference `json:"groupRef,omitempty" tf:"-"`

	// Selector for a RegionInstanceGroupManager in compute to populate group.
	// +kubebuilder:validation:Optional
	GroupSelector *v1.Selector `json:"groupSelector,omitempty" tf:"-"`

	// The max number of simultaneous connections for the group. Can
	// be used with either CONNECTION or UTILIZATION balancing modes.
	// Cannot be set for INTERNAL backend services.
	// For CONNECTION mode, either maxConnections or one
	// of maxConnectionsPerInstance or maxConnectionsPerEndpoint,
	// as appropriate for group type, must be set.
	MaxConnections *float64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"`

	// The max number of simultaneous connections that a single backend
	// network endpoint can handle. Cannot be set
	// for INTERNAL backend services.
	// This is used to calculate the capacity of the group. Can be
	// used in either CONNECTION or UTILIZATION balancing modes. For
	// CONNECTION mode, either maxConnections or
	// maxConnectionsPerEndpoint must be set.
	MaxConnectionsPerEndpoint *float64 `json:"maxConnectionsPerEndpoint,omitempty" tf:"max_connections_per_endpoint,omitempty"`

	// The max number of simultaneous connections that a single
	// backend instance can handle. Cannot be set for INTERNAL backend
	// services.
	// This is used to calculate the capacity of the group.
	// Can be used in either CONNECTION or UTILIZATION balancing modes.
	// For CONNECTION mode, either maxConnections or
	// maxConnectionsPerInstance must be set.
	MaxConnectionsPerInstance *float64 `json:"maxConnectionsPerInstance,omitempty" tf:"max_connections_per_instance,omitempty"`

	// The max requests per second (RPS) of the group. Cannot be set
	// for INTERNAL backend services.
	// Can be used with either RATE or UTILIZATION balancing modes,
	// but required if RATE mode. Either maxRate or one
	// of maxRatePerInstance or maxRatePerEndpoint, as appropriate for
	// group type, must be set.
	MaxRate *float64 `json:"maxRate,omitempty" tf:"max_rate,omitempty"`

	// The max requests per second (RPS) that a single backend network
	// endpoint can handle. This is used to calculate the capacity of
	// the group. Can be used in either balancing mode. For RATE mode,
	// either maxRate or maxRatePerEndpoint must be set. Cannot be set
	// for INTERNAL backend services.
	MaxRatePerEndpoint *float64 `json:"maxRatePerEndpoint,omitempty" tf:"max_rate_per_endpoint,omitempty"`

	// The max requests per second (RPS) that a single backend
	// instance can handle. This is used to calculate the capacity of
	// the group. Can be used in either balancing mode. For RATE mode,
	// either maxRate or maxRatePerInstance must be set. Cannot be set
	// for INTERNAL backend services.
	MaxRatePerInstance *float64 `json:"maxRatePerInstance,omitempty" tf:"max_rate_per_instance,omitempty"`

	// Used when balancingMode is UTILIZATION. This ratio defines the
	// CPU utilization target for the group. Valid range is [0.0, 1.0].
	// Cannot be set for INTERNAL backend services.
	MaxUtilization *float64 `json:"maxUtilization,omitempty" tf:"max_utilization,omitempty"`
}

func (*RegionBackendServiceBackendInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceBackendInitParameters.

func (*RegionBackendServiceBackendInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceBackendObservation

type RegionBackendServiceBackendObservation struct {

	// Specifies the balancing mode for this backend.
	// See the Backend Services Overview
	// for an explanation of load balancing modes.
	// Default value is CONNECTION.
	// Possible values are: UTILIZATION, RATE, CONNECTION.
	BalancingMode *string `json:"balancingMode,omitempty" tf:"balancing_mode,omitempty"`

	// A multiplier applied to the group's maximum servicing capacity
	// (based on UTILIZATION, RATE or CONNECTION).
	// ~>NOTE: This field cannot be set for
	// INTERNAL region backend services (default loadBalancingScheme),
	// but is required for non-INTERNAL backend service. The total
	// capacity_scaler for all backends must be non-zero.
	// A setting of 0 means the group is completely drained, offering
	// 0% of its available Capacity. Valid range is [0.0,1.0].
	CapacityScaler *float64 `json:"capacityScaler,omitempty" tf:"capacity_scaler,omitempty"`

	// An optional description of this resource.
	// Provide this property when you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// This field designates whether this is a failover backend. More
	// than one failover backend can be configured for a given RegionBackendService.
	Failover *bool `json:"failover,omitempty" tf:"failover,omitempty"`

	// The fully-qualified URL of an Instance Group or Network Endpoint
	// Group resource. In case of instance group this defines the list
	// of instances that serve traffic. Member virtual machine
	// instances from each instance group must live in the same zone as
	// the instance group itself. No two backends in a backend service
	// are allowed to use same Instance Group resource.
	// For Network Endpoint Groups this defines list of endpoints. All
	// endpoints of Network Endpoint Group must be hosted on instances
	// located in the same zone as the Network Endpoint Group.
	// Backend services cannot mix Instance Group and
	// Network Endpoint Group backends.
	// When the load_balancing_scheme is INTERNAL, only instance groups
	// are supported.
	// Note that you must specify an Instance Group or Network Endpoint
	// Group resource using the fully-qualified URL, rather than a
	// partial URL.
	Group *string `json:"group,omitempty" tf:"group,omitempty"`

	// The max number of simultaneous connections for the group. Can
	// be used with either CONNECTION or UTILIZATION balancing modes.
	// Cannot be set for INTERNAL backend services.
	// For CONNECTION mode, either maxConnections or one
	// of maxConnectionsPerInstance or maxConnectionsPerEndpoint,
	// as appropriate for group type, must be set.
	MaxConnections *float64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"`

	// The max number of simultaneous connections that a single backend
	// network endpoint can handle. Cannot be set
	// for INTERNAL backend services.
	// This is used to calculate the capacity of the group. Can be
	// used in either CONNECTION or UTILIZATION balancing modes. For
	// CONNECTION mode, either maxConnections or
	// maxConnectionsPerEndpoint must be set.
	MaxConnectionsPerEndpoint *float64 `json:"maxConnectionsPerEndpoint,omitempty" tf:"max_connections_per_endpoint,omitempty"`

	// The max number of simultaneous connections that a single
	// backend instance can handle. Cannot be set for INTERNAL backend
	// services.
	// This is used to calculate the capacity of the group.
	// Can be used in either CONNECTION or UTILIZATION balancing modes.
	// For CONNECTION mode, either maxConnections or
	// maxConnectionsPerInstance must be set.
	MaxConnectionsPerInstance *float64 `json:"maxConnectionsPerInstance,omitempty" tf:"max_connections_per_instance,omitempty"`

	// The max requests per second (RPS) of the group. Cannot be set
	// for INTERNAL backend services.
	// Can be used with either RATE or UTILIZATION balancing modes,
	// but required if RATE mode. Either maxRate or one
	// of maxRatePerInstance or maxRatePerEndpoint, as appropriate for
	// group type, must be set.
	MaxRate *float64 `json:"maxRate,omitempty" tf:"max_rate,omitempty"`

	// The max requests per second (RPS) that a single backend network
	// endpoint can handle. This is used to calculate the capacity of
	// the group. Can be used in either balancing mode. For RATE mode,
	// either maxRate or maxRatePerEndpoint must be set. Cannot be set
	// for INTERNAL backend services.
	MaxRatePerEndpoint *float64 `json:"maxRatePerEndpoint,omitempty" tf:"max_rate_per_endpoint,omitempty"`

	// The max requests per second (RPS) that a single backend
	// instance can handle. This is used to calculate the capacity of
	// the group. Can be used in either balancing mode. For RATE mode,
	// either maxRate or maxRatePerInstance must be set. Cannot be set
	// for INTERNAL backend services.
	MaxRatePerInstance *float64 `json:"maxRatePerInstance,omitempty" tf:"max_rate_per_instance,omitempty"`

	// Used when balancingMode is UTILIZATION. This ratio defines the
	// CPU utilization target for the group. Valid range is [0.0, 1.0].
	// Cannot be set for INTERNAL backend services.
	MaxUtilization *float64 `json:"maxUtilization,omitempty" tf:"max_utilization,omitempty"`
}

func (*RegionBackendServiceBackendObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceBackendObservation.

func (*RegionBackendServiceBackendObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceBackendParameters

type RegionBackendServiceBackendParameters struct {

	// Specifies the balancing mode for this backend.
	// See the Backend Services Overview
	// for an explanation of load balancing modes.
	// Default value is CONNECTION.
	// Possible values are: UTILIZATION, RATE, CONNECTION.
	// +kubebuilder:validation:Optional
	BalancingMode *string `json:"balancingMode,omitempty" tf:"balancing_mode,omitempty"`

	// A multiplier applied to the group's maximum servicing capacity
	// (based on UTILIZATION, RATE or CONNECTION).
	// ~>NOTE: This field cannot be set for
	// INTERNAL region backend services (default loadBalancingScheme),
	// but is required for non-INTERNAL backend service. The total
	// capacity_scaler for all backends must be non-zero.
	// A setting of 0 means the group is completely drained, offering
	// 0% of its available Capacity. Valid range is [0.0,1.0].
	// +kubebuilder:validation:Optional
	CapacityScaler *float64 `json:"capacityScaler,omitempty" tf:"capacity_scaler,omitempty"`

	// An optional description of this resource.
	// Provide this property when you create the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// This field designates whether this is a failover backend. More
	// than one failover backend can be configured for a given RegionBackendService.
	// +kubebuilder:validation:Optional
	Failover *bool `json:"failover,omitempty" tf:"failover,omitempty"`

	// The fully-qualified URL of an Instance Group or Network Endpoint
	// Group resource. In case of instance group this defines the list
	// of instances that serve traffic. Member virtual machine
	// instances from each instance group must live in the same zone as
	// the instance group itself. No two backends in a backend service
	// are allowed to use same Instance Group resource.
	// For Network Endpoint Groups this defines list of endpoints. All
	// endpoints of Network Endpoint Group must be hosted on instances
	// located in the same zone as the Network Endpoint Group.
	// Backend services cannot mix Instance Group and
	// Network Endpoint Group backends.
	// When the load_balancing_scheme is INTERNAL, only instance groups
	// are supported.
	// Note that you must specify an Instance Group or Network Endpoint
	// Group resource using the fully-qualified URL, rather than a
	// partial URL.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionInstanceGroupManager
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/compute.InstanceGroupExtractor()
	// +kubebuilder:validation:Optional
	Group *string `json:"group,omitempty" tf:"group,omitempty"`

	// Reference to a RegionInstanceGroupManager in compute to populate group.
	// +kubebuilder:validation:Optional
	GroupRef *v1.Reference `json:"groupRef,omitempty" tf:"-"`

	// Selector for a RegionInstanceGroupManager in compute to populate group.
	// +kubebuilder:validation:Optional
	GroupSelector *v1.Selector `json:"groupSelector,omitempty" tf:"-"`

	// The max number of simultaneous connections for the group. Can
	// be used with either CONNECTION or UTILIZATION balancing modes.
	// Cannot be set for INTERNAL backend services.
	// For CONNECTION mode, either maxConnections or one
	// of maxConnectionsPerInstance or maxConnectionsPerEndpoint,
	// as appropriate for group type, must be set.
	// +kubebuilder:validation:Optional
	MaxConnections *float64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"`

	// The max number of simultaneous connections that a single backend
	// network endpoint can handle. Cannot be set
	// for INTERNAL backend services.
	// This is used to calculate the capacity of the group. Can be
	// used in either CONNECTION or UTILIZATION balancing modes. For
	// CONNECTION mode, either maxConnections or
	// maxConnectionsPerEndpoint must be set.
	// +kubebuilder:validation:Optional
	MaxConnectionsPerEndpoint *float64 `json:"maxConnectionsPerEndpoint,omitempty" tf:"max_connections_per_endpoint,omitempty"`

	// The max number of simultaneous connections that a single
	// backend instance can handle. Cannot be set for INTERNAL backend
	// services.
	// This is used to calculate the capacity of the group.
	// Can be used in either CONNECTION or UTILIZATION balancing modes.
	// For CONNECTION mode, either maxConnections or
	// maxConnectionsPerInstance must be set.
	// +kubebuilder:validation:Optional
	MaxConnectionsPerInstance *float64 `json:"maxConnectionsPerInstance,omitempty" tf:"max_connections_per_instance,omitempty"`

	// The max requests per second (RPS) of the group. Cannot be set
	// for INTERNAL backend services.
	// Can be used with either RATE or UTILIZATION balancing modes,
	// but required if RATE mode. Either maxRate or one
	// of maxRatePerInstance or maxRatePerEndpoint, as appropriate for
	// group type, must be set.
	// +kubebuilder:validation:Optional
	MaxRate *float64 `json:"maxRate,omitempty" tf:"max_rate,omitempty"`

	// The max requests per second (RPS) that a single backend network
	// endpoint can handle. This is used to calculate the capacity of
	// the group. Can be used in either balancing mode. For RATE mode,
	// either maxRate or maxRatePerEndpoint must be set. Cannot be set
	// for INTERNAL backend services.
	// +kubebuilder:validation:Optional
	MaxRatePerEndpoint *float64 `json:"maxRatePerEndpoint,omitempty" tf:"max_rate_per_endpoint,omitempty"`

	// The max requests per second (RPS) that a single backend
	// instance can handle. This is used to calculate the capacity of
	// the group. Can be used in either balancing mode. For RATE mode,
	// either maxRate or maxRatePerInstance must be set. Cannot be set
	// for INTERNAL backend services.
	// +kubebuilder:validation:Optional
	MaxRatePerInstance *float64 `json:"maxRatePerInstance,omitempty" tf:"max_rate_per_instance,omitempty"`

	// Used when balancingMode is UTILIZATION. This ratio defines the
	// CPU utilization target for the group. Valid range is [0.0, 1.0].
	// Cannot be set for INTERNAL backend services.
	// +kubebuilder:validation:Optional
	MaxUtilization *float64 `json:"maxUtilization,omitempty" tf:"max_utilization,omitempty"`
}

func (*RegionBackendServiceBackendParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceBackendParameters.

func (*RegionBackendServiceBackendParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceCdnPolicyCacheKeyPolicyInitParameters

type RegionBackendServiceCdnPolicyCacheKeyPolicyInitParameters struct {

	// If true requests to different hosts will be cached separately.
	IncludeHost *bool `json:"includeHost,omitempty" tf:"include_host,omitempty"`

	// Names of cookies to include in cache keys.
	IncludeNamedCookies []*string `json:"includeNamedCookies,omitempty" tf:"include_named_cookies,omitempty"`

	// If true, http and https requests will be cached separately.
	IncludeProtocol *bool `json:"includeProtocol,omitempty" tf:"include_protocol,omitempty"`

	// If true, include query string parameters in the cache key
	// according to query_string_whitelist and
	// query_string_blacklist. If neither is set, the entire query
	// string will be included.
	// If false, the query string will be excluded from the cache
	// key entirely.
	IncludeQueryString *bool `json:"includeQueryString,omitempty" tf:"include_query_string,omitempty"`

	// Names of query string parameters to exclude in cache keys.
	// All other parameters will be included. Either specify
	// query_string_whitelist or query_string_blacklist, not both.
	// '&' and '=' will be percent encoded and not treated as
	// delimiters.
	// +listType=set
	QueryStringBlacklist []*string `json:"queryStringBlacklist,omitempty" tf:"query_string_blacklist,omitempty"`

	// Names of query string parameters to include in cache keys.
	// All other parameters will be excluded. Either specify
	// query_string_whitelist or query_string_blacklist, not both.
	// '&' and '=' will be percent encoded and not treated as
	// delimiters.
	// +listType=set
	QueryStringWhitelist []*string `json:"queryStringWhitelist,omitempty" tf:"query_string_whitelist,omitempty"`
}

func (*RegionBackendServiceCdnPolicyCacheKeyPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCdnPolicyCacheKeyPolicyInitParameters.

func (*RegionBackendServiceCdnPolicyCacheKeyPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceCdnPolicyCacheKeyPolicyObservation

type RegionBackendServiceCdnPolicyCacheKeyPolicyObservation struct {

	// If true requests to different hosts will be cached separately.
	IncludeHost *bool `json:"includeHost,omitempty" tf:"include_host,omitempty"`

	// Names of cookies to include in cache keys.
	IncludeNamedCookies []*string `json:"includeNamedCookies,omitempty" tf:"include_named_cookies,omitempty"`

	// If true, http and https requests will be cached separately.
	IncludeProtocol *bool `json:"includeProtocol,omitempty" tf:"include_protocol,omitempty"`

	// If true, include query string parameters in the cache key
	// according to query_string_whitelist and
	// query_string_blacklist. If neither is set, the entire query
	// string will be included.
	// If false, the query string will be excluded from the cache
	// key entirely.
	IncludeQueryString *bool `json:"includeQueryString,omitempty" tf:"include_query_string,omitempty"`

	// Names of query string parameters to exclude in cache keys.
	// All other parameters will be included. Either specify
	// query_string_whitelist or query_string_blacklist, not both.
	// '&' and '=' will be percent encoded and not treated as
	// delimiters.
	// +listType=set
	QueryStringBlacklist []*string `json:"queryStringBlacklist,omitempty" tf:"query_string_blacklist,omitempty"`

	// Names of query string parameters to include in cache keys.
	// All other parameters will be excluded. Either specify
	// query_string_whitelist or query_string_blacklist, not both.
	// '&' and '=' will be percent encoded and not treated as
	// delimiters.
	// +listType=set
	QueryStringWhitelist []*string `json:"queryStringWhitelist,omitempty" tf:"query_string_whitelist,omitempty"`
}

func (*RegionBackendServiceCdnPolicyCacheKeyPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCdnPolicyCacheKeyPolicyObservation.

func (*RegionBackendServiceCdnPolicyCacheKeyPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceCdnPolicyCacheKeyPolicyParameters

type RegionBackendServiceCdnPolicyCacheKeyPolicyParameters struct {

	// If true requests to different hosts will be cached separately.
	// +kubebuilder:validation:Optional
	IncludeHost *bool `json:"includeHost,omitempty" tf:"include_host,omitempty"`

	// Names of cookies to include in cache keys.
	// +kubebuilder:validation:Optional
	IncludeNamedCookies []*string `json:"includeNamedCookies,omitempty" tf:"include_named_cookies,omitempty"`

	// If true, http and https requests will be cached separately.
	// +kubebuilder:validation:Optional
	IncludeProtocol *bool `json:"includeProtocol,omitempty" tf:"include_protocol,omitempty"`

	// If true, include query string parameters in the cache key
	// according to query_string_whitelist and
	// query_string_blacklist. If neither is set, the entire query
	// string will be included.
	// If false, the query string will be excluded from the cache
	// key entirely.
	// +kubebuilder:validation:Optional
	IncludeQueryString *bool `json:"includeQueryString,omitempty" tf:"include_query_string,omitempty"`

	// Names of query string parameters to exclude in cache keys.
	// All other parameters will be included. Either specify
	// query_string_whitelist or query_string_blacklist, not both.
	// '&' and '=' will be percent encoded and not treated as
	// delimiters.
	// +kubebuilder:validation:Optional
	// +listType=set
	QueryStringBlacklist []*string `json:"queryStringBlacklist,omitempty" tf:"query_string_blacklist,omitempty"`

	// Names of query string parameters to include in cache keys.
	// All other parameters will be excluded. Either specify
	// query_string_whitelist or query_string_blacklist, not both.
	// '&' and '=' will be percent encoded and not treated as
	// delimiters.
	// +kubebuilder:validation:Optional
	// +listType=set
	QueryStringWhitelist []*string `json:"queryStringWhitelist,omitempty" tf:"query_string_whitelist,omitempty"`
}

func (*RegionBackendServiceCdnPolicyCacheKeyPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCdnPolicyCacheKeyPolicyParameters.

func (*RegionBackendServiceCdnPolicyCacheKeyPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceCdnPolicyInitParameters

type RegionBackendServiceCdnPolicyInitParameters struct {

	// The CacheKeyPolicy for this CdnPolicy.
	// Structure is documented below.
	CacheKeyPolicy *RegionBackendServiceCdnPolicyCacheKeyPolicyInitParameters `json:"cacheKeyPolicy,omitempty" tf:"cache_key_policy,omitempty"`

	// Specifies the cache setting for all responses from this backend.
	// The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC
	// Possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL, CACHE_ALL_STATIC.
	CacheMode *string `json:"cacheMode,omitempty" tf:"cache_mode,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	ClientTTL *float64 `json:"clientTtl,omitempty" tf:"client_ttl,omitempty"`

	// Specifies the default TTL for cached content served by this origin for responses
	// that do not have an existing valid TTL (max-age or s-max-age).
	DefaultTTL *float64 `json:"defaultTtl,omitempty" tf:"default_ttl,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	MaxTTL *float64 `json:"maxTtl,omitempty" tf:"max_ttl,omitempty"`

	// Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.
	NegativeCaching *bool `json:"negativeCaching,omitempty" tf:"negative_caching,omitempty"`

	// Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.
	// Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs.
	// Structure is documented below.
	NegativeCachingPolicy []RegionBackendServiceCdnPolicyNegativeCachingPolicyInitParameters `json:"negativeCachingPolicy,omitempty" tf:"negative_caching_policy,omitempty"`

	// Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.
	ServeWhileStale *float64 `json:"serveWhileStale,omitempty" tf:"serve_while_stale,omitempty"`

	// Maximum number of seconds the response to a signed URL request
	// will be considered fresh, defaults to 1hr (3600s). After this
	// time period, the response will be revalidated before
	// being served.
	// When serving responses to signed URL requests, Cloud CDN will
	// internally behave as though all responses from this backend had a
	// "Cache-Control: public, max-age=[TTL]" header, regardless of any
	// existing Cache-Control header. The actual headers served in
	// responses will not be altered.
	SignedURLCacheMaxAgeSec *float64 `json:"signedUrlCacheMaxAgeSec,omitempty" tf:"signed_url_cache_max_age_sec,omitempty"`
}

func (*RegionBackendServiceCdnPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCdnPolicyInitParameters.

func (*RegionBackendServiceCdnPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceCdnPolicyNegativeCachingPolicyInitParameters

type RegionBackendServiceCdnPolicyNegativeCachingPolicyInitParameters struct {

	// The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
	// can be specified as values, and you cannot specify a status code more than once.
	Code *float64 `json:"code,omitempty" tf:"code,omitempty"`
}

func (*RegionBackendServiceCdnPolicyNegativeCachingPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCdnPolicyNegativeCachingPolicyInitParameters.

func (*RegionBackendServiceCdnPolicyNegativeCachingPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceCdnPolicyNegativeCachingPolicyObservation

type RegionBackendServiceCdnPolicyNegativeCachingPolicyObservation struct {

	// The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
	// can be specified as values, and you cannot specify a status code more than once.
	Code *float64 `json:"code,omitempty" tf:"code,omitempty"`
}

func (*RegionBackendServiceCdnPolicyNegativeCachingPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCdnPolicyNegativeCachingPolicyObservation.

func (*RegionBackendServiceCdnPolicyNegativeCachingPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceCdnPolicyNegativeCachingPolicyParameters

type RegionBackendServiceCdnPolicyNegativeCachingPolicyParameters struct {

	// The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
	// can be specified as values, and you cannot specify a status code more than once.
	// +kubebuilder:validation:Optional
	Code *float64 `json:"code,omitempty" tf:"code,omitempty"`
}

func (*RegionBackendServiceCdnPolicyNegativeCachingPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCdnPolicyNegativeCachingPolicyParameters.

func (*RegionBackendServiceCdnPolicyNegativeCachingPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceCdnPolicyObservation

type RegionBackendServiceCdnPolicyObservation struct {

	// The CacheKeyPolicy for this CdnPolicy.
	// Structure is documented below.
	CacheKeyPolicy *RegionBackendServiceCdnPolicyCacheKeyPolicyObservation `json:"cacheKeyPolicy,omitempty" tf:"cache_key_policy,omitempty"`

	// Specifies the cache setting for all responses from this backend.
	// The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC
	// Possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL, CACHE_ALL_STATIC.
	CacheMode *string `json:"cacheMode,omitempty" tf:"cache_mode,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	ClientTTL *float64 `json:"clientTtl,omitempty" tf:"client_ttl,omitempty"`

	// Specifies the default TTL for cached content served by this origin for responses
	// that do not have an existing valid TTL (max-age or s-max-age).
	DefaultTTL *float64 `json:"defaultTtl,omitempty" tf:"default_ttl,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	MaxTTL *float64 `json:"maxTtl,omitempty" tf:"max_ttl,omitempty"`

	// Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.
	NegativeCaching *bool `json:"negativeCaching,omitempty" tf:"negative_caching,omitempty"`

	// Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.
	// Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs.
	// Structure is documented below.
	NegativeCachingPolicy []RegionBackendServiceCdnPolicyNegativeCachingPolicyObservation `json:"negativeCachingPolicy,omitempty" tf:"negative_caching_policy,omitempty"`

	// Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.
	ServeWhileStale *float64 `json:"serveWhileStale,omitempty" tf:"serve_while_stale,omitempty"`

	// Maximum number of seconds the response to a signed URL request
	// will be considered fresh, defaults to 1hr (3600s). After this
	// time period, the response will be revalidated before
	// being served.
	// When serving responses to signed URL requests, Cloud CDN will
	// internally behave as though all responses from this backend had a
	// "Cache-Control: public, max-age=[TTL]" header, regardless of any
	// existing Cache-Control header. The actual headers served in
	// responses will not be altered.
	SignedURLCacheMaxAgeSec *float64 `json:"signedUrlCacheMaxAgeSec,omitempty" tf:"signed_url_cache_max_age_sec,omitempty"`
}

func (*RegionBackendServiceCdnPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCdnPolicyObservation.

func (*RegionBackendServiceCdnPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceCdnPolicyParameters

type RegionBackendServiceCdnPolicyParameters struct {

	// The CacheKeyPolicy for this CdnPolicy.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CacheKeyPolicy *RegionBackendServiceCdnPolicyCacheKeyPolicyParameters `json:"cacheKeyPolicy,omitempty" tf:"cache_key_policy,omitempty"`

	// Specifies the cache setting for all responses from this backend.
	// The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC
	// Possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL, CACHE_ALL_STATIC.
	// +kubebuilder:validation:Optional
	CacheMode *string `json:"cacheMode,omitempty" tf:"cache_mode,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	// +kubebuilder:validation:Optional
	ClientTTL *float64 `json:"clientTtl,omitempty" tf:"client_ttl,omitempty"`

	// Specifies the default TTL for cached content served by this origin for responses
	// that do not have an existing valid TTL (max-age or s-max-age).
	// +kubebuilder:validation:Optional
	DefaultTTL *float64 `json:"defaultTtl,omitempty" tf:"default_ttl,omitempty"`

	// Specifies the maximum allowed TTL for cached content served by this origin.
	// +kubebuilder:validation:Optional
	MaxTTL *float64 `json:"maxTtl,omitempty" tf:"max_ttl,omitempty"`

	// Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.
	// +kubebuilder:validation:Optional
	NegativeCaching *bool `json:"negativeCaching,omitempty" tf:"negative_caching,omitempty"`

	// Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.
	// Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	NegativeCachingPolicy []RegionBackendServiceCdnPolicyNegativeCachingPolicyParameters `json:"negativeCachingPolicy,omitempty" tf:"negative_caching_policy,omitempty"`

	// Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.
	// +kubebuilder:validation:Optional
	ServeWhileStale *float64 `json:"serveWhileStale,omitempty" tf:"serve_while_stale,omitempty"`

	// Maximum number of seconds the response to a signed URL request
	// will be considered fresh, defaults to 1hr (3600s). After this
	// time period, the response will be revalidated before
	// being served.
	// When serving responses to signed URL requests, Cloud CDN will
	// internally behave as though all responses from this backend had a
	// "Cache-Control: public, max-age=[TTL]" header, regardless of any
	// existing Cache-Control header. The actual headers served in
	// responses will not be altered.
	// +kubebuilder:validation:Optional
	SignedURLCacheMaxAgeSec *float64 `json:"signedUrlCacheMaxAgeSec,omitempty" tf:"signed_url_cache_max_age_sec,omitempty"`
}

func (*RegionBackendServiceCdnPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCdnPolicyParameters.

func (*RegionBackendServiceCdnPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceCircuitBreakersInitParameters

type RegionBackendServiceCircuitBreakersInitParameters struct {

	// The maximum number of connections to the backend cluster.
	// Defaults to 1024.
	MaxConnections *float64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"`

	// The maximum number of pending requests to the backend cluster.
	// Defaults to 1024.
	MaxPendingRequests *float64 `json:"maxPendingRequests,omitempty" tf:"max_pending_requests,omitempty"`

	// The maximum number of parallel requests to the backend cluster.
	// Defaults to 1024.
	MaxRequests *float64 `json:"maxRequests,omitempty" tf:"max_requests,omitempty"`

	// Maximum requests for a single backend connection. This parameter
	// is respected by both the HTTP/1.1 and HTTP/2 implementations. If
	// not specified, there is no limit. Setting this parameter to 1
	// will effectively disable keep alive.
	MaxRequestsPerConnection *float64 `json:"maxRequestsPerConnection,omitempty" tf:"max_requests_per_connection,omitempty"`

	// The maximum number of parallel retries to the backend cluster.
	// Defaults to 3.
	MaxRetries *float64 `json:"maxRetries,omitempty" tf:"max_retries,omitempty"`
}

func (*RegionBackendServiceCircuitBreakersInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCircuitBreakersInitParameters.

func (*RegionBackendServiceCircuitBreakersInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceCircuitBreakersObservation

type RegionBackendServiceCircuitBreakersObservation struct {

	// The maximum number of connections to the backend cluster.
	// Defaults to 1024.
	MaxConnections *float64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"`

	// The maximum number of pending requests to the backend cluster.
	// Defaults to 1024.
	MaxPendingRequests *float64 `json:"maxPendingRequests,omitempty" tf:"max_pending_requests,omitempty"`

	// The maximum number of parallel requests to the backend cluster.
	// Defaults to 1024.
	MaxRequests *float64 `json:"maxRequests,omitempty" tf:"max_requests,omitempty"`

	// Maximum requests for a single backend connection. This parameter
	// is respected by both the HTTP/1.1 and HTTP/2 implementations. If
	// not specified, there is no limit. Setting this parameter to 1
	// will effectively disable keep alive.
	MaxRequestsPerConnection *float64 `json:"maxRequestsPerConnection,omitempty" tf:"max_requests_per_connection,omitempty"`

	// The maximum number of parallel retries to the backend cluster.
	// Defaults to 3.
	MaxRetries *float64 `json:"maxRetries,omitempty" tf:"max_retries,omitempty"`
}

func (*RegionBackendServiceCircuitBreakersObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCircuitBreakersObservation.

func (*RegionBackendServiceCircuitBreakersObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceCircuitBreakersParameters

type RegionBackendServiceCircuitBreakersParameters struct {

	// The maximum number of connections to the backend cluster.
	// Defaults to 1024.
	// +kubebuilder:validation:Optional
	MaxConnections *float64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"`

	// The maximum number of pending requests to the backend cluster.
	// Defaults to 1024.
	// +kubebuilder:validation:Optional
	MaxPendingRequests *float64 `json:"maxPendingRequests,omitempty" tf:"max_pending_requests,omitempty"`

	// The maximum number of parallel requests to the backend cluster.
	// Defaults to 1024.
	// +kubebuilder:validation:Optional
	MaxRequests *float64 `json:"maxRequests,omitempty" tf:"max_requests,omitempty"`

	// Maximum requests for a single backend connection. This parameter
	// is respected by both the HTTP/1.1 and HTTP/2 implementations. If
	// not specified, there is no limit. Setting this parameter to 1
	// will effectively disable keep alive.
	// +kubebuilder:validation:Optional
	MaxRequestsPerConnection *float64 `json:"maxRequestsPerConnection,omitempty" tf:"max_requests_per_connection,omitempty"`

	// The maximum number of parallel retries to the backend cluster.
	// Defaults to 3.
	// +kubebuilder:validation:Optional
	MaxRetries *float64 `json:"maxRetries,omitempty" tf:"max_retries,omitempty"`
}

func (*RegionBackendServiceCircuitBreakersParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCircuitBreakersParameters.

func (*RegionBackendServiceCircuitBreakersParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceConsistentHashInitParameters

type RegionBackendServiceConsistentHashInitParameters struct {

	// Hash is based on HTTP Cookie. This field describes a HTTP cookie
	// that will be used as the hash key for the consistent hash load
	// balancer. If the cookie is not present, it will be generated.
	// This field is applicable if the sessionAffinity is set to HTTP_COOKIE.
	// Structure is documented below.
	HTTPCookie *ConsistentHashHTTPCookieInitParameters `json:"httpCookie,omitempty" tf:"http_cookie,omitempty"`

	// The hash based on the value of the specified header field.
	// This field is applicable if the sessionAffinity is set to HEADER_FIELD.
	HTTPHeaderName *string `json:"httpHeaderName,omitempty" tf:"http_header_name,omitempty"`

	// The minimum number of virtual nodes to use for the hash ring.
	// Larger ring sizes result in more granular load
	// distributions. If the number of hosts in the load balancing pool
	// is larger than the ring size, each host will be assigned a single
	// virtual node.
	// Defaults to 1024.
	MinimumRingSize *float64 `json:"minimumRingSize,omitempty" tf:"minimum_ring_size,omitempty"`
}

func (*RegionBackendServiceConsistentHashInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceConsistentHashInitParameters.

func (*RegionBackendServiceConsistentHashInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceConsistentHashObservation

type RegionBackendServiceConsistentHashObservation struct {

	// Hash is based on HTTP Cookie. This field describes a HTTP cookie
	// that will be used as the hash key for the consistent hash load
	// balancer. If the cookie is not present, it will be generated.
	// This field is applicable if the sessionAffinity is set to HTTP_COOKIE.
	// Structure is documented below.
	HTTPCookie *ConsistentHashHTTPCookieObservation `json:"httpCookie,omitempty" tf:"http_cookie,omitempty"`

	// The hash based on the value of the specified header field.
	// This field is applicable if the sessionAffinity is set to HEADER_FIELD.
	HTTPHeaderName *string `json:"httpHeaderName,omitempty" tf:"http_header_name,omitempty"`

	// The minimum number of virtual nodes to use for the hash ring.
	// Larger ring sizes result in more granular load
	// distributions. If the number of hosts in the load balancing pool
	// is larger than the ring size, each host will be assigned a single
	// virtual node.
	// Defaults to 1024.
	MinimumRingSize *float64 `json:"minimumRingSize,omitempty" tf:"minimum_ring_size,omitempty"`
}

func (*RegionBackendServiceConsistentHashObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceConsistentHashObservation.

func (*RegionBackendServiceConsistentHashObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceConsistentHashParameters

type RegionBackendServiceConsistentHashParameters struct {

	// Hash is based on HTTP Cookie. This field describes a HTTP cookie
	// that will be used as the hash key for the consistent hash load
	// balancer. If the cookie is not present, it will be generated.
	// This field is applicable if the sessionAffinity is set to HTTP_COOKIE.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HTTPCookie *ConsistentHashHTTPCookieParameters `json:"httpCookie,omitempty" tf:"http_cookie,omitempty"`

	// The hash based on the value of the specified header field.
	// This field is applicable if the sessionAffinity is set to HEADER_FIELD.
	// +kubebuilder:validation:Optional
	HTTPHeaderName *string `json:"httpHeaderName,omitempty" tf:"http_header_name,omitempty"`

	// The minimum number of virtual nodes to use for the hash ring.
	// Larger ring sizes result in more granular load
	// distributions. If the number of hosts in the load balancing pool
	// is larger than the ring size, each host will be assigned a single
	// virtual node.
	// Defaults to 1024.
	// +kubebuilder:validation:Optional
	MinimumRingSize *float64 `json:"minimumRingSize,omitempty" tf:"minimum_ring_size,omitempty"`
}

func (*RegionBackendServiceConsistentHashParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceConsistentHashParameters.

func (*RegionBackendServiceConsistentHashParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceIapInitParameters

type RegionBackendServiceIapInitParameters struct {

	// OAuth2 Client ID for IAP
	Oauth2ClientID *string `json:"oauth2ClientId,omitempty" tf:"oauth2_client_id,omitempty"`
}

func (*RegionBackendServiceIapInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceIapInitParameters.

func (*RegionBackendServiceIapInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceIapObservation

type RegionBackendServiceIapObservation struct {

	// OAuth2 Client ID for IAP
	Oauth2ClientID *string `json:"oauth2ClientId,omitempty" tf:"oauth2_client_id,omitempty"`
}

func (*RegionBackendServiceIapObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceIapObservation.

func (*RegionBackendServiceIapObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceIapParameters

type RegionBackendServiceIapParameters struct {

	// OAuth2 Client ID for IAP
	// +kubebuilder:validation:Optional
	Oauth2ClientID *string `json:"oauth2ClientId" tf:"oauth2_client_id,omitempty"`

	// OAuth2 Client Secret for IAP
	// Note: This property is sensitive and will not be displayed in the plan.
	// +kubebuilder:validation:Required
	Oauth2ClientSecretSecretRef v1.SecretKeySelector `json:"oauth2ClientSecretSecretRef" tf:"-"`
}

func (*RegionBackendServiceIapParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceIapParameters.

func (*RegionBackendServiceIapParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceInitParameters

type RegionBackendServiceInitParameters struct {

	// Lifetime of cookies in seconds if session_affinity is
	// GENERATED_COOKIE. If set to 0, the cookie is non-persistent and lasts
	// only until the end of the browser session (or equivalent). The
	// maximum allowed value for TTL is one day.
	// When the load balancing scheme is INTERNAL, this field is not used.
	AffinityCookieTTLSec *float64 `json:"affinityCookieTtlSec,omitempty" tf:"affinity_cookie_ttl_sec,omitempty"`

	// The set of backends that serve this RegionBackendService.
	// Structure is documented below.
	Backend []RegionBackendServiceBackendInitParameters `json:"backend,omitempty" tf:"backend,omitempty"`

	// Cloud CDN configuration for this BackendService.
	// Structure is documented below.
	CdnPolicy *RegionBackendServiceCdnPolicyInitParameters `json:"cdnPolicy,omitempty" tf:"cdn_policy,omitempty"`

	// Settings controlling the volume of connections to a backend service. This field
	// is applicable only when the load_balancing_scheme is set to INTERNAL_MANAGED
	// and the protocol is set to HTTP, HTTPS, or HTTP2.
	// Structure is documented below.
	CircuitBreakers *RegionBackendServiceCircuitBreakersInitParameters `json:"circuitBreakers,omitempty" tf:"circuit_breakers,omitempty"`

	// Time for which instance will be drained (not accept new
	// connections, but still work to finish started).
	ConnectionDrainingTimeoutSec *float64 `json:"connectionDrainingTimeoutSec,omitempty" tf:"connection_draining_timeout_sec,omitempty"`

	// Consistent Hash-based load balancing can be used to provide soft session
	// affinity based on HTTP headers, cookies or other properties. This load balancing
	// policy is applicable only for HTTP connections. The affinity to a particular
	// destination host will be lost when one or more hosts are added/removed from the
	// destination service. This field specifies parameters that control consistent
	// hashing.
	// This field only applies when all of the following are true -
	ConsistentHash *RegionBackendServiceConsistentHashInitParameters `json:"consistentHash,omitempty" tf:"consistent_hash,omitempty"`

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// If true, enable Cloud CDN for this RegionBackendService.
	EnableCdn *bool `json:"enableCdn,omitempty" tf:"enable_cdn,omitempty"`

	// Policy for failovers.
	// Structure is documented below.
	FailoverPolicy *FailoverPolicyInitParameters `json:"failoverPolicy,omitempty" tf:"failover_policy,omitempty"`

	// The set of URLs to HealthCheck resources for health checking
	// this RegionBackendService. Currently at most one health
	// check can be specified.
	// A health check must be specified unless the backend service uses an internet
	// or serverless NEG as a backend.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionHealthCheck
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +listType=set
	HealthChecks []*string `json:"healthChecks,omitempty" tf:"health_checks,omitempty"`

	// References to RegionHealthCheck in compute to populate healthChecks.
	// +kubebuilder:validation:Optional
	HealthChecksRefs []v1.Reference `json:"healthChecksRefs,omitempty" tf:"-"`

	// Selector for a list of RegionHealthCheck in compute to populate healthChecks.
	// +kubebuilder:validation:Optional
	HealthChecksSelector *v1.Selector `json:"healthChecksSelector,omitempty" tf:"-"`

	// Settings for enabling Cloud Identity Aware Proxy
	// Structure is documented below.
	Iap *RegionBackendServiceIapInitParameters `json:"iap,omitempty" tf:"iap,omitempty"`

	// is set to INTERNAL_MANAGED
	LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"`

	// is set to MAGLEV or RING_HASH
	// Structure is documented below.
	LocalityLBPolicy *string `json:"localityLbPolicy,omitempty" tf:"locality_lb_policy,omitempty"`

	// This field denotes the logging options for the load balancer traffic served by this backend service.
	// If logging is enabled, logs will be exported to Stackdriver.
	// Structure is documented below.
	LogConfig *RegionBackendServiceLogConfigInitParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// The URL of the network to which this backend service belongs.
	// This field can only be specified when the load balancing scheme is set to INTERNAL.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Settings controlling eviction of unhealthy hosts from the load balancing pool.
	// This field is applicable only when the load_balancing_scheme is set
	// to INTERNAL_MANAGED and the protocol is set to HTTP, HTTPS, or HTTP2.
	// Structure is documented below.
	OutlierDetection *RegionBackendServiceOutlierDetectionInitParameters `json:"outlierDetection,omitempty" tf:"outlier_detection,omitempty"`

	// A named port on a backend instance group representing the port for
	// communication to the backend VMs in that group. Required when the
	// loadBalancingScheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED
	// and the backends are instance groups. The named port must be defined on each
	// backend instance group. This parameter has no meaning if the backends are NEGs. API sets a
	// default of "http" if not given.
	// Must be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP Load Balancing).
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// is set to HTTP, HTTPS, or HTTP2
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`

	// Type of session affinity to use. The default is NONE. Session affinity is
	// not applicable if the protocol is UDP.
	// Possible values are: NONE, CLIENT_IP, CLIENT_IP_PORT_PROTO, CLIENT_IP_PROTO, GENERATED_COOKIE, HEADER_FIELD, HTTP_COOKIE, CLIENT_IP_NO_DESTINATION.
	SessionAffinity *string `json:"sessionAffinity,omitempty" tf:"session_affinity,omitempty"`

	// How many seconds to wait for the backend before considering it a
	// failed request. Default is 30 seconds. Valid range is [1, 86400].
	TimeoutSec *float64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"`
}

func (*RegionBackendServiceInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceInitParameters.

func (*RegionBackendServiceInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceList

type RegionBackendServiceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RegionBackendService `json:"items"`
}

RegionBackendServiceList contains a list of RegionBackendServices

func (*RegionBackendServiceList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceList.

func (*RegionBackendServiceList) DeepCopyInto

func (in *RegionBackendServiceList) DeepCopyInto(out *RegionBackendServiceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionBackendServiceList) DeepCopyObject

func (in *RegionBackendServiceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionBackendServiceList) GetItems

func (l *RegionBackendServiceList) GetItems() []resource.Managed

GetItems of this RegionBackendServiceList.

type RegionBackendServiceLogConfigInitParameters

type RegionBackendServiceLogConfigInitParameters struct {

	// Whether to enable logging for the load balancer traffic served by this backend service.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// This field can only be specified if logging is enabled for this backend service. The value of
	// the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer
	// where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported.
	// The default value is 1.0.
	SampleRate *float64 `json:"sampleRate,omitempty" tf:"sample_rate,omitempty"`
}

func (*RegionBackendServiceLogConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceLogConfigInitParameters.

func (*RegionBackendServiceLogConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceLogConfigObservation

type RegionBackendServiceLogConfigObservation struct {

	// Whether to enable logging for the load balancer traffic served by this backend service.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// This field can only be specified if logging is enabled for this backend service. The value of
	// the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer
	// where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported.
	// The default value is 1.0.
	SampleRate *float64 `json:"sampleRate,omitempty" tf:"sample_rate,omitempty"`
}

func (*RegionBackendServiceLogConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceLogConfigObservation.

func (*RegionBackendServiceLogConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceLogConfigParameters

type RegionBackendServiceLogConfigParameters struct {

	// Whether to enable logging for the load balancer traffic served by this backend service.
	// +kubebuilder:validation:Optional
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// This field can only be specified if logging is enabled for this backend service. The value of
	// the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer
	// where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported.
	// The default value is 1.0.
	// +kubebuilder:validation:Optional
	SampleRate *float64 `json:"sampleRate,omitempty" tf:"sample_rate,omitempty"`
}

func (*RegionBackendServiceLogConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceLogConfigParameters.

func (*RegionBackendServiceLogConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceObservation

type RegionBackendServiceObservation struct {

	// Lifetime of cookies in seconds if session_affinity is
	// GENERATED_COOKIE. If set to 0, the cookie is non-persistent and lasts
	// only until the end of the browser session (or equivalent). The
	// maximum allowed value for TTL is one day.
	// When the load balancing scheme is INTERNAL, this field is not used.
	AffinityCookieTTLSec *float64 `json:"affinityCookieTtlSec,omitempty" tf:"affinity_cookie_ttl_sec,omitempty"`

	// The set of backends that serve this RegionBackendService.
	// Structure is documented below.
	Backend []RegionBackendServiceBackendObservation `json:"backend,omitempty" tf:"backend,omitempty"`

	// Cloud CDN configuration for this BackendService.
	// Structure is documented below.
	CdnPolicy *RegionBackendServiceCdnPolicyObservation `json:"cdnPolicy,omitempty" tf:"cdn_policy,omitempty"`

	// Settings controlling the volume of connections to a backend service. This field
	// is applicable only when the load_balancing_scheme is set to INTERNAL_MANAGED
	// and the protocol is set to HTTP, HTTPS, or HTTP2.
	// Structure is documented below.
	CircuitBreakers *RegionBackendServiceCircuitBreakersObservation `json:"circuitBreakers,omitempty" tf:"circuit_breakers,omitempty"`

	// Time for which instance will be drained (not accept new
	// connections, but still work to finish started).
	ConnectionDrainingTimeoutSec *float64 `json:"connectionDrainingTimeoutSec,omitempty" tf:"connection_draining_timeout_sec,omitempty"`

	// Consistent Hash-based load balancing can be used to provide soft session
	// affinity based on HTTP headers, cookies or other properties. This load balancing
	// policy is applicable only for HTTP connections. The affinity to a particular
	// destination host will be lost when one or more hosts are added/removed from the
	// destination service. This field specifies parameters that control consistent
	// hashing.
	// This field only applies when all of the following are true -
	ConsistentHash *RegionBackendServiceConsistentHashObservation `json:"consistentHash,omitempty" tf:"consistent_hash,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// If true, enable Cloud CDN for this RegionBackendService.
	EnableCdn *bool `json:"enableCdn,omitempty" tf:"enable_cdn,omitempty"`

	// Policy for failovers.
	// Structure is documented below.
	FailoverPolicy *FailoverPolicyObservation `json:"failoverPolicy,omitempty" tf:"failover_policy,omitempty"`

	// Fingerprint of this resource. A hash of the contents stored in this
	// object. This field is used in optimistic locking.
	Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"`

	// The set of URLs to HealthCheck resources for health checking
	// this RegionBackendService. Currently at most one health
	// check can be specified.
	// A health check must be specified unless the backend service uses an internet
	// or serverless NEG as a backend.
	// +listType=set
	HealthChecks []*string `json:"healthChecks,omitempty" tf:"health_checks,omitempty"`

	// an identifier for the resource with format projects/{{project}}/regions/{{region}}/backendServices/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Settings for enabling Cloud Identity Aware Proxy
	// Structure is documented below.
	Iap *RegionBackendServiceIapObservation `json:"iap,omitempty" tf:"iap,omitempty"`

	// is set to INTERNAL_MANAGED
	LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"`

	// is set to MAGLEV or RING_HASH
	// Structure is documented below.
	LocalityLBPolicy *string `json:"localityLbPolicy,omitempty" tf:"locality_lb_policy,omitempty"`

	// This field denotes the logging options for the load balancer traffic served by this backend service.
	// If logging is enabled, logs will be exported to Stackdriver.
	// Structure is documented below.
	LogConfig *RegionBackendServiceLogConfigObservation `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// The URL of the network to which this backend service belongs.
	// This field can only be specified when the load balancing scheme is set to INTERNAL.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Settings controlling eviction of unhealthy hosts from the load balancing pool.
	// This field is applicable only when the load_balancing_scheme is set
	// to INTERNAL_MANAGED and the protocol is set to HTTP, HTTPS, or HTTP2.
	// Structure is documented below.
	OutlierDetection *RegionBackendServiceOutlierDetectionObservation `json:"outlierDetection,omitempty" tf:"outlier_detection,omitempty"`

	// A named port on a backend instance group representing the port for
	// communication to the backend VMs in that group. Required when the
	// loadBalancingScheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED
	// and the backends are instance groups. The named port must be defined on each
	// backend instance group. This parameter has no meaning if the backends are NEGs. API sets a
	// default of "http" if not given.
	// Must be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP Load Balancing).
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// is set to HTTP, HTTPS, or HTTP2
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`

	// The Region in which the created backend service should reside.
	// If it is not provided, the provider region is used.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// Type of session affinity to use. The default is NONE. Session affinity is
	// not applicable if the protocol is UDP.
	// Possible values are: NONE, CLIENT_IP, CLIENT_IP_PORT_PROTO, CLIENT_IP_PROTO, GENERATED_COOKIE, HEADER_FIELD, HTTP_COOKIE, CLIENT_IP_NO_DESTINATION.
	SessionAffinity *string `json:"sessionAffinity,omitempty" tf:"session_affinity,omitempty"`

	// How many seconds to wait for the backend before considering it a
	// failed request. Default is 30 seconds. Valid range is [1, 86400].
	TimeoutSec *float64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"`
}

func (*RegionBackendServiceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceObservation.

func (*RegionBackendServiceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceOutlierDetectionInitParameters

type RegionBackendServiceOutlierDetectionInitParameters struct {

	// The base time that a host is ejected for. The real time is equal to the base
	// time multiplied by the number of times the host has been ejected. Defaults to
	// 30000ms or 30s.
	// Structure is documented below.
	BaseEjectionTime *OutlierDetectionBaseEjectionTimeInitParameters `json:"baseEjectionTime,omitempty" tf:"base_ejection_time,omitempty"`

	// Number of errors before a host is ejected from the connection pool. When the
	// backend host is accessed over HTTP, a 5xx return code qualifies as an error.
	// Defaults to 5.
	ConsecutiveErrors *float64 `json:"consecutiveErrors,omitempty" tf:"consecutive_errors,omitempty"`

	// The number of consecutive gateway failures (502, 503, 504 status or connection
	// errors that are mapped to one of those status codes) before a consecutive
	// gateway failure ejection occurs. Defaults to 5.
	ConsecutiveGatewayFailure *float64 `json:"consecutiveGatewayFailure,omitempty" tf:"consecutive_gateway_failure,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through consecutive 5xx. This setting can be used to disable
	// ejection or to ramp it up slowly. Defaults to 100.
	EnforcingConsecutiveErrors *float64 `json:"enforcingConsecutiveErrors,omitempty" tf:"enforcing_consecutive_errors,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through consecutive gateway failures. This setting can be
	// used to disable ejection or to ramp it up slowly. Defaults to 0.
	EnforcingConsecutiveGatewayFailure *float64 `json:"enforcingConsecutiveGatewayFailure,omitempty" tf:"enforcing_consecutive_gateway_failure,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through success rate statistics. This setting can be used to
	// disable ejection or to ramp it up slowly. Defaults to 100.
	EnforcingSuccessRate *float64 `json:"enforcingSuccessRate,omitempty" tf:"enforcing_success_rate,omitempty"`

	// Time interval between ejection sweep analysis. This can result in both new
	// ejections as well as hosts being returned to service. Defaults to 10 seconds.
	// Structure is documented below.
	Interval *OutlierDetectionIntervalInitParameters `json:"interval,omitempty" tf:"interval,omitempty"`

	// Maximum percentage of hosts in the load balancing pool for the backend service
	// that can be ejected. Defaults to 10%.
	MaxEjectionPercent *float64 `json:"maxEjectionPercent,omitempty" tf:"max_ejection_percent,omitempty"`

	// The number of hosts in a cluster that must have enough request volume to detect
	// success rate outliers. If the number of hosts is less than this setting, outlier
	// detection via success rate statistics is not performed for any host in the
	// cluster. Defaults to 5.
	SuccessRateMinimumHosts *float64 `json:"successRateMinimumHosts,omitempty" tf:"success_rate_minimum_hosts,omitempty"`

	// The minimum number of total requests that must be collected in one interval (as
	// defined by the interval duration above) to include this host in success rate
	// based outlier detection. If the volume is lower than this setting, outlier
	// detection via success rate statistics is not performed for that host. Defaults
	// to 100.
	SuccessRateRequestVolume *float64 `json:"successRateRequestVolume,omitempty" tf:"success_rate_request_volume,omitempty"`

	// This factor is used to determine the ejection threshold for success rate outlier
	// ejection. The ejection threshold is the difference between the mean success
	// rate, and the product of this factor and the standard deviation of the mean
	// success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided
	// by a thousand to get a double. That is, if the desired factor is 1.9, the
	// runtime value should be 1900. Defaults to 1900.
	SuccessRateStdevFactor *float64 `json:"successRateStdevFactor,omitempty" tf:"success_rate_stdev_factor,omitempty"`
}

func (*RegionBackendServiceOutlierDetectionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceOutlierDetectionInitParameters.

func (*RegionBackendServiceOutlierDetectionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceOutlierDetectionObservation

type RegionBackendServiceOutlierDetectionObservation struct {

	// The base time that a host is ejected for. The real time is equal to the base
	// time multiplied by the number of times the host has been ejected. Defaults to
	// 30000ms or 30s.
	// Structure is documented below.
	BaseEjectionTime *OutlierDetectionBaseEjectionTimeObservation `json:"baseEjectionTime,omitempty" tf:"base_ejection_time,omitempty"`

	// Number of errors before a host is ejected from the connection pool. When the
	// backend host is accessed over HTTP, a 5xx return code qualifies as an error.
	// Defaults to 5.
	ConsecutiveErrors *float64 `json:"consecutiveErrors,omitempty" tf:"consecutive_errors,omitempty"`

	// The number of consecutive gateway failures (502, 503, 504 status or connection
	// errors that are mapped to one of those status codes) before a consecutive
	// gateway failure ejection occurs. Defaults to 5.
	ConsecutiveGatewayFailure *float64 `json:"consecutiveGatewayFailure,omitempty" tf:"consecutive_gateway_failure,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through consecutive 5xx. This setting can be used to disable
	// ejection or to ramp it up slowly. Defaults to 100.
	EnforcingConsecutiveErrors *float64 `json:"enforcingConsecutiveErrors,omitempty" tf:"enforcing_consecutive_errors,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through consecutive gateway failures. This setting can be
	// used to disable ejection or to ramp it up slowly. Defaults to 0.
	EnforcingConsecutiveGatewayFailure *float64 `json:"enforcingConsecutiveGatewayFailure,omitempty" tf:"enforcing_consecutive_gateway_failure,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through success rate statistics. This setting can be used to
	// disable ejection or to ramp it up slowly. Defaults to 100.
	EnforcingSuccessRate *float64 `json:"enforcingSuccessRate,omitempty" tf:"enforcing_success_rate,omitempty"`

	// Time interval between ejection sweep analysis. This can result in both new
	// ejections as well as hosts being returned to service. Defaults to 10 seconds.
	// Structure is documented below.
	Interval *OutlierDetectionIntervalObservation `json:"interval,omitempty" tf:"interval,omitempty"`

	// Maximum percentage of hosts in the load balancing pool for the backend service
	// that can be ejected. Defaults to 10%.
	MaxEjectionPercent *float64 `json:"maxEjectionPercent,omitempty" tf:"max_ejection_percent,omitempty"`

	// The number of hosts in a cluster that must have enough request volume to detect
	// success rate outliers. If the number of hosts is less than this setting, outlier
	// detection via success rate statistics is not performed for any host in the
	// cluster. Defaults to 5.
	SuccessRateMinimumHosts *float64 `json:"successRateMinimumHosts,omitempty" tf:"success_rate_minimum_hosts,omitempty"`

	// The minimum number of total requests that must be collected in one interval (as
	// defined by the interval duration above) to include this host in success rate
	// based outlier detection. If the volume is lower than this setting, outlier
	// detection via success rate statistics is not performed for that host. Defaults
	// to 100.
	SuccessRateRequestVolume *float64 `json:"successRateRequestVolume,omitempty" tf:"success_rate_request_volume,omitempty"`

	// This factor is used to determine the ejection threshold for success rate outlier
	// ejection. The ejection threshold is the difference between the mean success
	// rate, and the product of this factor and the standard deviation of the mean
	// success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided
	// by a thousand to get a double. That is, if the desired factor is 1.9, the
	// runtime value should be 1900. Defaults to 1900.
	SuccessRateStdevFactor *float64 `json:"successRateStdevFactor,omitempty" tf:"success_rate_stdev_factor,omitempty"`
}

func (*RegionBackendServiceOutlierDetectionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceOutlierDetectionObservation.

func (*RegionBackendServiceOutlierDetectionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceOutlierDetectionParameters

type RegionBackendServiceOutlierDetectionParameters struct {

	// The base time that a host is ejected for. The real time is equal to the base
	// time multiplied by the number of times the host has been ejected. Defaults to
	// 30000ms or 30s.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	BaseEjectionTime *OutlierDetectionBaseEjectionTimeParameters `json:"baseEjectionTime,omitempty" tf:"base_ejection_time,omitempty"`

	// Number of errors before a host is ejected from the connection pool. When the
	// backend host is accessed over HTTP, a 5xx return code qualifies as an error.
	// Defaults to 5.
	// +kubebuilder:validation:Optional
	ConsecutiveErrors *float64 `json:"consecutiveErrors,omitempty" tf:"consecutive_errors,omitempty"`

	// The number of consecutive gateway failures (502, 503, 504 status or connection
	// errors that are mapped to one of those status codes) before a consecutive
	// gateway failure ejection occurs. Defaults to 5.
	// +kubebuilder:validation:Optional
	ConsecutiveGatewayFailure *float64 `json:"consecutiveGatewayFailure,omitempty" tf:"consecutive_gateway_failure,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through consecutive 5xx. This setting can be used to disable
	// ejection or to ramp it up slowly. Defaults to 100.
	// +kubebuilder:validation:Optional
	EnforcingConsecutiveErrors *float64 `json:"enforcingConsecutiveErrors,omitempty" tf:"enforcing_consecutive_errors,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through consecutive gateway failures. This setting can be
	// used to disable ejection or to ramp it up slowly. Defaults to 0.
	// +kubebuilder:validation:Optional
	EnforcingConsecutiveGatewayFailure *float64 `json:"enforcingConsecutiveGatewayFailure,omitempty" tf:"enforcing_consecutive_gateway_failure,omitempty"`

	// The percentage chance that a host will be actually ejected when an outlier
	// status is detected through success rate statistics. This setting can be used to
	// disable ejection or to ramp it up slowly. Defaults to 100.
	// +kubebuilder:validation:Optional
	EnforcingSuccessRate *float64 `json:"enforcingSuccessRate,omitempty" tf:"enforcing_success_rate,omitempty"`

	// Time interval between ejection sweep analysis. This can result in both new
	// ejections as well as hosts being returned to service. Defaults to 10 seconds.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Interval *OutlierDetectionIntervalParameters `json:"interval,omitempty" tf:"interval,omitempty"`

	// Maximum percentage of hosts in the load balancing pool for the backend service
	// that can be ejected. Defaults to 10%.
	// +kubebuilder:validation:Optional
	MaxEjectionPercent *float64 `json:"maxEjectionPercent,omitempty" tf:"max_ejection_percent,omitempty"`

	// The number of hosts in a cluster that must have enough request volume to detect
	// success rate outliers. If the number of hosts is less than this setting, outlier
	// detection via success rate statistics is not performed for any host in the
	// cluster. Defaults to 5.
	// +kubebuilder:validation:Optional
	SuccessRateMinimumHosts *float64 `json:"successRateMinimumHosts,omitempty" tf:"success_rate_minimum_hosts,omitempty"`

	// The minimum number of total requests that must be collected in one interval (as
	// defined by the interval duration above) to include this host in success rate
	// based outlier detection. If the volume is lower than this setting, outlier
	// detection via success rate statistics is not performed for that host. Defaults
	// to 100.
	// +kubebuilder:validation:Optional
	SuccessRateRequestVolume *float64 `json:"successRateRequestVolume,omitempty" tf:"success_rate_request_volume,omitempty"`

	// This factor is used to determine the ejection threshold for success rate outlier
	// ejection. The ejection threshold is the difference between the mean success
	// rate, and the product of this factor and the standard deviation of the mean
	// success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided
	// by a thousand to get a double. That is, if the desired factor is 1.9, the
	// runtime value should be 1900. Defaults to 1900.
	// +kubebuilder:validation:Optional
	SuccessRateStdevFactor *float64 `json:"successRateStdevFactor,omitempty" tf:"success_rate_stdev_factor,omitempty"`
}

func (*RegionBackendServiceOutlierDetectionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceOutlierDetectionParameters.

func (*RegionBackendServiceOutlierDetectionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceParameters

type RegionBackendServiceParameters struct {

	// Lifetime of cookies in seconds if session_affinity is
	// GENERATED_COOKIE. If set to 0, the cookie is non-persistent and lasts
	// only until the end of the browser session (or equivalent). The
	// maximum allowed value for TTL is one day.
	// When the load balancing scheme is INTERNAL, this field is not used.
	// +kubebuilder:validation:Optional
	AffinityCookieTTLSec *float64 `json:"affinityCookieTtlSec,omitempty" tf:"affinity_cookie_ttl_sec,omitempty"`

	// The set of backends that serve this RegionBackendService.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Backend []RegionBackendServiceBackendParameters `json:"backend,omitempty" tf:"backend,omitempty"`

	// Cloud CDN configuration for this BackendService.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CdnPolicy *RegionBackendServiceCdnPolicyParameters `json:"cdnPolicy,omitempty" tf:"cdn_policy,omitempty"`

	// Settings controlling the volume of connections to a backend service. This field
	// is applicable only when the load_balancing_scheme is set to INTERNAL_MANAGED
	// and the protocol is set to HTTP, HTTPS, or HTTP2.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CircuitBreakers *RegionBackendServiceCircuitBreakersParameters `json:"circuitBreakers,omitempty" tf:"circuit_breakers,omitempty"`

	// Time for which instance will be drained (not accept new
	// connections, but still work to finish started).
	// +kubebuilder:validation:Optional
	ConnectionDrainingTimeoutSec *float64 `json:"connectionDrainingTimeoutSec,omitempty" tf:"connection_draining_timeout_sec,omitempty"`

	// Consistent Hash-based load balancing can be used to provide soft session
	// affinity based on HTTP headers, cookies or other properties. This load balancing
	// policy is applicable only for HTTP connections. The affinity to a particular
	// destination host will be lost when one or more hosts are added/removed from the
	// destination service. This field specifies parameters that control consistent
	// hashing.
	// This field only applies when all of the following are true -
	// +kubebuilder:validation:Optional
	ConsistentHash *RegionBackendServiceConsistentHashParameters `json:"consistentHash,omitempty" tf:"consistent_hash,omitempty"`

	// An optional description of this resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// If true, enable Cloud CDN for this RegionBackendService.
	// +kubebuilder:validation:Optional
	EnableCdn *bool `json:"enableCdn,omitempty" tf:"enable_cdn,omitempty"`

	// Policy for failovers.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FailoverPolicy *FailoverPolicyParameters `json:"failoverPolicy,omitempty" tf:"failover_policy,omitempty"`

	// The set of URLs to HealthCheck resources for health checking
	// this RegionBackendService. Currently at most one health
	// check can be specified.
	// A health check must be specified unless the backend service uses an internet
	// or serverless NEG as a backend.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionHealthCheck
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +kubebuilder:validation:Optional
	// +listType=set
	HealthChecks []*string `json:"healthChecks,omitempty" tf:"health_checks,omitempty"`

	// References to RegionHealthCheck in compute to populate healthChecks.
	// +kubebuilder:validation:Optional
	HealthChecksRefs []v1.Reference `json:"healthChecksRefs,omitempty" tf:"-"`

	// Selector for a list of RegionHealthCheck in compute to populate healthChecks.
	// +kubebuilder:validation:Optional
	HealthChecksSelector *v1.Selector `json:"healthChecksSelector,omitempty" tf:"-"`

	// Settings for enabling Cloud Identity Aware Proxy
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Iap *RegionBackendServiceIapParameters `json:"iap,omitempty" tf:"iap,omitempty"`

	// is set to INTERNAL_MANAGED
	// +kubebuilder:validation:Optional
	LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"`

	// is set to MAGLEV or RING_HASH
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	LocalityLBPolicy *string `json:"localityLbPolicy,omitempty" tf:"locality_lb_policy,omitempty"`

	// This field denotes the logging options for the load balancer traffic served by this backend service.
	// If logging is enabled, logs will be exported to Stackdriver.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	LogConfig *RegionBackendServiceLogConfigParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// The URL of the network to which this backend service belongs.
	// This field can only be specified when the load balancing scheme is set to INTERNAL.
	// +kubebuilder:validation:Optional
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Settings controlling eviction of unhealthy hosts from the load balancing pool.
	// This field is applicable only when the load_balancing_scheme is set
	// to INTERNAL_MANAGED and the protocol is set to HTTP, HTTPS, or HTTP2.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	OutlierDetection *RegionBackendServiceOutlierDetectionParameters `json:"outlierDetection,omitempty" tf:"outlier_detection,omitempty"`

	// A named port on a backend instance group representing the port for
	// communication to the backend VMs in that group. Required when the
	// loadBalancingScheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED
	// and the backends are instance groups. The named port must be defined on each
	// backend instance group. This parameter has no meaning if the backends are NEGs. API sets a
	// default of "http" if not given.
	// Must be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP Load Balancing).
	// +kubebuilder:validation:Optional
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// is set to HTTP, HTTPS, or HTTP2
	// +kubebuilder:validation:Optional
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`

	// The Region in which the created backend service should reside.
	// If it is not provided, the provider region is used.
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"region,omitempty"`

	// Type of session affinity to use. The default is NONE. Session affinity is
	// not applicable if the protocol is UDP.
	// Possible values are: NONE, CLIENT_IP, CLIENT_IP_PORT_PROTO, CLIENT_IP_PROTO, GENERATED_COOKIE, HEADER_FIELD, HTTP_COOKIE, CLIENT_IP_NO_DESTINATION.
	// +kubebuilder:validation:Optional
	SessionAffinity *string `json:"sessionAffinity,omitempty" tf:"session_affinity,omitempty"`

	// How many seconds to wait for the backend before considering it a
	// failed request. Default is 30 seconds. Valid range is [1, 86400].
	// +kubebuilder:validation:Optional
	TimeoutSec *float64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"`
}

func (*RegionBackendServiceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceParameters.

func (*RegionBackendServiceParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceSpec

type RegionBackendServiceSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RegionBackendServiceParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RegionBackendServiceInitParameters `json:"initProvider,omitempty"`
}

RegionBackendServiceSpec defines the desired state of RegionBackendService

func (*RegionBackendServiceSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceSpec.

func (*RegionBackendServiceSpec) DeepCopyInto

func (in *RegionBackendServiceSpec) DeepCopyInto(out *RegionBackendServiceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionBackendServiceStatus

type RegionBackendServiceStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RegionBackendServiceObservation `json:"atProvider,omitempty"`
}

RegionBackendServiceStatus defines the observed state of RegionBackendService.

func (*RegionBackendServiceStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceStatus.

func (*RegionBackendServiceStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDisk

type RegionDisk struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.replicaZones) || (has(self.initProvider) && has(self.initProvider.replicaZones))",message="spec.forProvider.replicaZones is a required parameter"
	Spec   RegionDiskSpec   `json:"spec"`
	Status RegionDiskStatus `json:"status,omitempty"`
}

RegionDisk is the Schema for the RegionDisks API. Persistent disks are durable storage devices that function similarly to the physical disks in a desktop or a server. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*RegionDisk) DeepCopy

func (in *RegionDisk) DeepCopy() *RegionDisk

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDisk.

func (*RegionDisk) DeepCopyInto

func (in *RegionDisk) DeepCopyInto(out *RegionDisk)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionDisk) DeepCopyObject

func (in *RegionDisk) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionDisk) GetCondition

func (mg *RegionDisk) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this RegionDisk.

func (*RegionDisk) GetConnectionDetailsMapping

func (tr *RegionDisk) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this RegionDisk

func (*RegionDisk) GetDeletionPolicy

func (mg *RegionDisk) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this RegionDisk.

func (*RegionDisk) GetID

func (tr *RegionDisk) GetID() string

GetID returns ID of underlying Terraform resource of this RegionDisk

func (*RegionDisk) GetInitParameters

func (tr *RegionDisk) GetInitParameters() (map[string]any, error)

GetInitParameters of this RegionDisk

func (*RegionDisk) GetManagementPolicies

func (mg *RegionDisk) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this RegionDisk.

func (*RegionDisk) GetMergedParameters

func (tr *RegionDisk) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this RegionDisk

func (*RegionDisk) GetObservation

func (tr *RegionDisk) GetObservation() (map[string]any, error)

GetObservation of this RegionDisk

func (*RegionDisk) GetParameters

func (tr *RegionDisk) GetParameters() (map[string]any, error)

GetParameters of this RegionDisk

func (*RegionDisk) GetProviderConfigReference

func (mg *RegionDisk) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this RegionDisk.

func (*RegionDisk) GetPublishConnectionDetailsTo

func (mg *RegionDisk) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this RegionDisk.

func (*RegionDisk) GetTerraformResourceType

func (mg *RegionDisk) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this RegionDisk

func (*RegionDisk) GetTerraformSchemaVersion

func (tr *RegionDisk) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*RegionDisk) GetWriteConnectionSecretToReference

func (mg *RegionDisk) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this RegionDisk.

func (*RegionDisk) Hub

func (tr *RegionDisk) Hub()

Hub marks this type as a conversion hub.

func (*RegionDisk) LateInitialize

func (tr *RegionDisk) LateInitialize(attrs []byte) (bool, error)

LateInitialize this RegionDisk using its observed tfState. returns True if there are any spec changes for the resource.

func (*RegionDisk) ResolveReferences

func (mg *RegionDisk) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this RegionDisk.

func (*RegionDisk) SetConditions

func (mg *RegionDisk) SetConditions(c ...xpv1.Condition)

SetConditions of this RegionDisk.

func (*RegionDisk) SetDeletionPolicy

func (mg *RegionDisk) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this RegionDisk.

func (*RegionDisk) SetManagementPolicies

func (mg *RegionDisk) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this RegionDisk.

func (*RegionDisk) SetObservation

func (tr *RegionDisk) SetObservation(obs map[string]any) error

SetObservation for this RegionDisk

func (*RegionDisk) SetParameters

func (tr *RegionDisk) SetParameters(params map[string]any) error

SetParameters for this RegionDisk

func (*RegionDisk) SetProviderConfigReference

func (mg *RegionDisk) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this RegionDisk.

func (*RegionDisk) SetPublishConnectionDetailsTo

func (mg *RegionDisk) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this RegionDisk.

func (*RegionDisk) SetWriteConnectionSecretToReference

func (mg *RegionDisk) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this RegionDisk.

type RegionDiskAsyncPrimaryDiskInitParameters

type RegionDiskAsyncPrimaryDiskInitParameters struct {

	// Primary disk for asynchronous disk replication.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionDisk
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Disk *string `json:"disk,omitempty" tf:"disk,omitempty"`

	// Reference to a RegionDisk in compute to populate disk.
	// +kubebuilder:validation:Optional
	DiskRef *v1.Reference `json:"diskRef,omitempty" tf:"-"`

	// Selector for a RegionDisk in compute to populate disk.
	// +kubebuilder:validation:Optional
	DiskSelector *v1.Selector `json:"diskSelector,omitempty" tf:"-"`
}

func (*RegionDiskAsyncPrimaryDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskAsyncPrimaryDiskInitParameters.

func (*RegionDiskAsyncPrimaryDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskAsyncPrimaryDiskObservation

type RegionDiskAsyncPrimaryDiskObservation struct {

	// Primary disk for asynchronous disk replication.
	Disk *string `json:"disk,omitempty" tf:"disk,omitempty"`
}

func (*RegionDiskAsyncPrimaryDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskAsyncPrimaryDiskObservation.

func (*RegionDiskAsyncPrimaryDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskAsyncPrimaryDiskParameters

type RegionDiskAsyncPrimaryDiskParameters struct {

	// Primary disk for asynchronous disk replication.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionDisk
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Disk *string `json:"disk,omitempty" tf:"disk,omitempty"`

	// Reference to a RegionDisk in compute to populate disk.
	// +kubebuilder:validation:Optional
	DiskRef *v1.Reference `json:"diskRef,omitempty" tf:"-"`

	// Selector for a RegionDisk in compute to populate disk.
	// +kubebuilder:validation:Optional
	DiskSelector *v1.Selector `json:"diskSelector,omitempty" tf:"-"`
}

func (*RegionDiskAsyncPrimaryDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskAsyncPrimaryDiskParameters.

func (*RegionDiskAsyncPrimaryDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskDiskEncryptionKeyInitParameters

type RegionDiskDiskEncryptionKeyInitParameters struct {

	// The name of the encryption key that is stored in Google Cloud KMS.
	KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"`
}

func (*RegionDiskDiskEncryptionKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskDiskEncryptionKeyInitParameters.

func (*RegionDiskDiskEncryptionKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskDiskEncryptionKeyObservation

type RegionDiskDiskEncryptionKeyObservation struct {

	// The name of the encryption key that is stored in Google Cloud KMS.
	KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"`

	// (Output)
	// The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
	// encryption key that protects this resource.
	Sha256 *string `json:"sha256,omitempty" tf:"sha256,omitempty"`
}

func (*RegionDiskDiskEncryptionKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskDiskEncryptionKeyObservation.

func (*RegionDiskDiskEncryptionKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskDiskEncryptionKeyParameters

type RegionDiskDiskEncryptionKeyParameters struct {

	// The name of the encryption key that is stored in Google Cloud KMS.
	// +kubebuilder:validation:Optional
	KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"`

	// Specifies a 256-bit customer-supplied encryption key, encoded in
	// RFC 4648 base64 to either encrypt or decrypt this resource.
	// Note: This property is sensitive and will not be displayed in the plan.
	// +kubebuilder:validation:Optional
	RawKeySecretRef *v1.SecretKeySelector `json:"rawKeySecretRef,omitempty" tf:"-"`
}

func (*RegionDiskDiskEncryptionKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskDiskEncryptionKeyParameters.

func (*RegionDiskDiskEncryptionKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskGuestOsFeaturesInitParameters

type RegionDiskGuestOsFeaturesInitParameters struct {

	// The type of supported feature. Read Enabling guest operating system features to see a list of available options.
	// Possible values are: MULTI_IP_SUBNET, SECURE_BOOT, SEV_CAPABLE, UEFI_COMPATIBLE, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, GVNIC, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, SUSPEND_RESUME_COMPATIBLE, TDX_CAPABLE.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*RegionDiskGuestOsFeaturesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskGuestOsFeaturesInitParameters.

func (*RegionDiskGuestOsFeaturesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskGuestOsFeaturesObservation

type RegionDiskGuestOsFeaturesObservation struct {

	// The type of supported feature. Read Enabling guest operating system features to see a list of available options.
	// Possible values are: MULTI_IP_SUBNET, SECURE_BOOT, SEV_CAPABLE, UEFI_COMPATIBLE, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, GVNIC, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, SUSPEND_RESUME_COMPATIBLE, TDX_CAPABLE.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*RegionDiskGuestOsFeaturesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskGuestOsFeaturesObservation.

func (*RegionDiskGuestOsFeaturesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskGuestOsFeaturesParameters

type RegionDiskGuestOsFeaturesParameters struct {

	// The type of supported feature. Read Enabling guest operating system features to see a list of available options.
	// Possible values are: MULTI_IP_SUBNET, SECURE_BOOT, SEV_CAPABLE, UEFI_COMPATIBLE, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, GVNIC, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, SUSPEND_RESUME_COMPATIBLE, TDX_CAPABLE.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*RegionDiskGuestOsFeaturesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskGuestOsFeaturesParameters.

func (*RegionDiskGuestOsFeaturesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskIAMMember

type RegionDiskIAMMember struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.member) || (has(self.initProvider) && has(self.initProvider.member))",message="spec.forProvider.member is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.role) || (has(self.initProvider) && has(self.initProvider.role))",message="spec.forProvider.role is a required parameter"
	Spec   RegionDiskIAMMemberSpec   `json:"spec"`
	Status RegionDiskIAMMemberStatus `json:"status,omitempty"`
}

RegionDiskIAMMember is the Schema for the RegionDiskIAMMembers API. <no value> +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*RegionDiskIAMMember) DeepCopy

func (in *RegionDiskIAMMember) DeepCopy() *RegionDiskIAMMember

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMember.

func (*RegionDiskIAMMember) DeepCopyInto

func (in *RegionDiskIAMMember) DeepCopyInto(out *RegionDiskIAMMember)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionDiskIAMMember) DeepCopyObject

func (in *RegionDiskIAMMember) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionDiskIAMMember) GetCondition

func (mg *RegionDiskIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this RegionDiskIAMMember.

func (*RegionDiskIAMMember) GetConnectionDetailsMapping

func (tr *RegionDiskIAMMember) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this RegionDiskIAMMember

func (*RegionDiskIAMMember) GetDeletionPolicy

func (mg *RegionDiskIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this RegionDiskIAMMember.

func (*RegionDiskIAMMember) GetID

func (tr *RegionDiskIAMMember) GetID() string

GetID returns ID of underlying Terraform resource of this RegionDiskIAMMember

func (*RegionDiskIAMMember) GetInitParameters

func (tr *RegionDiskIAMMember) GetInitParameters() (map[string]any, error)

GetInitParameters of this RegionDiskIAMMember

func (*RegionDiskIAMMember) GetManagementPolicies

func (mg *RegionDiskIAMMember) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this RegionDiskIAMMember.

func (*RegionDiskIAMMember) GetMergedParameters

func (tr *RegionDiskIAMMember) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this RegionDiskIAMMember

func (*RegionDiskIAMMember) GetObservation

func (tr *RegionDiskIAMMember) GetObservation() (map[string]any, error)

GetObservation of this RegionDiskIAMMember

func (*RegionDiskIAMMember) GetParameters

func (tr *RegionDiskIAMMember) GetParameters() (map[string]any, error)

GetParameters of this RegionDiskIAMMember

func (*RegionDiskIAMMember) GetProviderConfigReference

func (mg *RegionDiskIAMMember) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this RegionDiskIAMMember.

func (*RegionDiskIAMMember) GetPublishConnectionDetailsTo

func (mg *RegionDiskIAMMember) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this RegionDiskIAMMember.

func (*RegionDiskIAMMember) GetTerraformResourceType

func (mg *RegionDiskIAMMember) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this RegionDiskIAMMember

func (*RegionDiskIAMMember) GetTerraformSchemaVersion

func (tr *RegionDiskIAMMember) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*RegionDiskIAMMember) GetWriteConnectionSecretToReference

func (mg *RegionDiskIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this RegionDiskIAMMember.

func (*RegionDiskIAMMember) Hub

func (tr *RegionDiskIAMMember) Hub()

Hub marks this type as a conversion hub.

func (*RegionDiskIAMMember) LateInitialize

func (tr *RegionDiskIAMMember) LateInitialize(attrs []byte) (bool, error)

LateInitialize this RegionDiskIAMMember using its observed tfState. returns True if there are any spec changes for the resource.

func (*RegionDiskIAMMember) ResolveReferences

func (mg *RegionDiskIAMMember) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this RegionDiskIAMMember.

func (*RegionDiskIAMMember) SetConditions

func (mg *RegionDiskIAMMember) SetConditions(c ...xpv1.Condition)

SetConditions of this RegionDiskIAMMember.

func (*RegionDiskIAMMember) SetDeletionPolicy

func (mg *RegionDiskIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this RegionDiskIAMMember.

func (*RegionDiskIAMMember) SetManagementPolicies

func (mg *RegionDiskIAMMember) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this RegionDiskIAMMember.

func (*RegionDiskIAMMember) SetObservation

func (tr *RegionDiskIAMMember) SetObservation(obs map[string]any) error

SetObservation for this RegionDiskIAMMember

func (*RegionDiskIAMMember) SetParameters

func (tr *RegionDiskIAMMember) SetParameters(params map[string]any) error

SetParameters for this RegionDiskIAMMember

func (*RegionDiskIAMMember) SetProviderConfigReference

func (mg *RegionDiskIAMMember) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this RegionDiskIAMMember.

func (*RegionDiskIAMMember) SetPublishConnectionDetailsTo

func (mg *RegionDiskIAMMember) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this RegionDiskIAMMember.

func (*RegionDiskIAMMember) SetWriteConnectionSecretToReference

func (mg *RegionDiskIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this RegionDiskIAMMember.

type RegionDiskIAMMemberConditionInitParameters

type RegionDiskIAMMemberConditionInitParameters struct {
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*RegionDiskIAMMemberConditionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberConditionInitParameters.

func (*RegionDiskIAMMemberConditionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskIAMMemberConditionObservation

type RegionDiskIAMMemberConditionObservation struct {
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*RegionDiskIAMMemberConditionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberConditionObservation.

func (*RegionDiskIAMMemberConditionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskIAMMemberConditionParameters

type RegionDiskIAMMemberConditionParameters struct {

	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// +kubebuilder:validation:Optional
	Expression *string `json:"expression" tf:"expression,omitempty"`

	// +kubebuilder:validation:Optional
	Title *string `json:"title" tf:"title,omitempty"`
}

func (*RegionDiskIAMMemberConditionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberConditionParameters.

func (*RegionDiskIAMMemberConditionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskIAMMemberInitParameters

type RegionDiskIAMMemberInitParameters struct {
	Condition *RegionDiskIAMMemberConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"`

	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionDisk
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Reference to a RegionDisk in compute to populate name.
	// +kubebuilder:validation:Optional
	NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"`

	// Selector for a RegionDisk in compute to populate name.
	// +kubebuilder:validation:Optional
	NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"`

	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`
}

func (*RegionDiskIAMMemberInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberInitParameters.

func (*RegionDiskIAMMemberInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskIAMMemberList

type RegionDiskIAMMemberList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RegionDiskIAMMember `json:"items"`
}

RegionDiskIAMMemberList contains a list of RegionDiskIAMMembers

func (*RegionDiskIAMMemberList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberList.

func (*RegionDiskIAMMemberList) DeepCopyInto

func (in *RegionDiskIAMMemberList) DeepCopyInto(out *RegionDiskIAMMemberList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionDiskIAMMemberList) DeepCopyObject

func (in *RegionDiskIAMMemberList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionDiskIAMMemberList) GetItems

func (l *RegionDiskIAMMemberList) GetItems() []resource.Managed

GetItems of this RegionDiskIAMMemberList.

type RegionDiskIAMMemberObservation

type RegionDiskIAMMemberObservation struct {
	Condition *RegionDiskIAMMemberConditionObservation `json:"condition,omitempty" tf:"condition,omitempty"`

	Etag *string `json:"etag,omitempty" tf:"etag,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`
}

func (*RegionDiskIAMMemberObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberObservation.

func (*RegionDiskIAMMemberObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskIAMMemberParameters

type RegionDiskIAMMemberParameters struct {

	// +kubebuilder:validation:Optional
	Condition *RegionDiskIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"`

	// +kubebuilder:validation:Optional
	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionDisk
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Reference to a RegionDisk in compute to populate name.
	// +kubebuilder:validation:Optional
	NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"`

	// Selector for a RegionDisk in compute to populate name.
	// +kubebuilder:validation:Optional
	NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"`

	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// +kubebuilder:validation:Optional
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// +kubebuilder:validation:Optional
	Role *string `json:"role,omitempty" tf:"role,omitempty"`
}

func (*RegionDiskIAMMemberParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberParameters.

func (*RegionDiskIAMMemberParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskIAMMemberSpec

type RegionDiskIAMMemberSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RegionDiskIAMMemberParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RegionDiskIAMMemberInitParameters `json:"initProvider,omitempty"`
}

RegionDiskIAMMemberSpec defines the desired state of RegionDiskIAMMember

func (*RegionDiskIAMMemberSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberSpec.

func (*RegionDiskIAMMemberSpec) DeepCopyInto

func (in *RegionDiskIAMMemberSpec) DeepCopyInto(out *RegionDiskIAMMemberSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskIAMMemberStatus

type RegionDiskIAMMemberStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RegionDiskIAMMemberObservation `json:"atProvider,omitempty"`
}

RegionDiskIAMMemberStatus defines the observed state of RegionDiskIAMMember.

func (*RegionDiskIAMMemberStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberStatus.

func (*RegionDiskIAMMemberStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskInitParameters

type RegionDiskInitParameters struct {

	// A nested object resource
	// Structure is documented below.
	AsyncPrimaryDisk *RegionDiskAsyncPrimaryDiskInitParameters `json:"asyncPrimaryDisk,omitempty" tf:"async_primary_disk,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Encrypts the disk using a customer-supplied encryption key.
	// After you encrypt a disk with a customer-supplied key, you must
	// provide the same key if you use the disk later (e.g. to create a disk
	// snapshot or an image, or to attach the disk to a virtual machine).
	// Customer-supplied encryption keys do not protect access to metadata of
	// the disk.
	// If you do not provide an encryption key when creating the disk, then
	// the disk will be encrypted using an automatically generated key and
	// you do not need to provide a key to use the disk later.
	// Structure is documented below.
	DiskEncryptionKey *RegionDiskDiskEncryptionKeyInitParameters `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"`

	// A list of features to enable on the guest operating system.
	// Applicable only for bootable disks.
	// Structure is documented below.
	GuestOsFeatures []RegionDiskGuestOsFeaturesInitParameters `json:"guestOsFeatures,omitempty" tf:"guest_os_features,omitempty"`

	// Labels to apply to this disk.  A list of key->value pairs.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Any applicable license URI.
	Licenses []*string `json:"licenses,omitempty" tf:"licenses,omitempty"`

	// Physical block size of the persistent disk, in bytes. If not present
	// in a request, a default value is used. Currently supported sizes
	// are 4096 and 16384, other sizes may be added in the future.
	// If an unsupported value is requested, the error message will list
	// the supported values for the caller's project.
	PhysicalBlockSizeBytes *float64 `json:"physicalBlockSizeBytes,omitempty" tf:"physical_block_size_bytes,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// URLs of the zones where the disk should be replicated to.
	ReplicaZones []*string `json:"replicaZones,omitempty" tf:"replica_zones,omitempty"`

	// Size of the persistent disk, specified in GB. You can specify this
	// field when creating a persistent disk using the sourceImage or
	// sourceSnapshot parameter, or specify it alone to create an empty
	// persistent disk.
	// If you specify this field along with sourceImage or sourceSnapshot,
	// the value of sizeGb must not be less than the size of the sourceImage
	// or the size of the snapshot.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The source snapshot used to create this disk. You can provide this as
	// a partial or full URL to the resource. For example, the following are
	// valid values:
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Snapshot
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Snapshot *string `json:"snapshot,omitempty" tf:"snapshot,omitempty"`

	// Reference to a Snapshot in compute to populate snapshot.
	// +kubebuilder:validation:Optional
	SnapshotRef *v1.Reference `json:"snapshotRef,omitempty" tf:"-"`

	// Selector for a Snapshot in compute to populate snapshot.
	// +kubebuilder:validation:Optional
	SnapshotSelector *v1.Selector `json:"snapshotSelector,omitempty" tf:"-"`

	// The source disk used to create this disk. You can provide this as a partial or full URL to the resource.
	// For example, the following are valid values:
	SourceDisk *string `json:"sourceDisk,omitempty" tf:"source_disk,omitempty"`

	// The customer-supplied encryption key of the source snapshot. Required
	// if the source snapshot is protected by a customer-supplied encryption
	// key.
	// Structure is documented below.
	SourceSnapshotEncryptionKey *RegionDiskSourceSnapshotEncryptionKeyInitParameters `json:"sourceSnapshotEncryptionKey,omitempty" tf:"source_snapshot_encryption_key,omitempty"`

	// URL of the disk type resource describing which disk type to use to
	// create the disk. Provide this when creating the disk.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*RegionDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskInitParameters.

func (*RegionDiskInitParameters) DeepCopyInto

func (in *RegionDiskInitParameters) DeepCopyInto(out *RegionDiskInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskList

type RegionDiskList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RegionDisk `json:"items"`
}

RegionDiskList contains a list of RegionDisks

func (*RegionDiskList) DeepCopy

func (in *RegionDiskList) DeepCopy() *RegionDiskList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskList.

func (*RegionDiskList) DeepCopyInto

func (in *RegionDiskList) DeepCopyInto(out *RegionDiskList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionDiskList) DeepCopyObject

func (in *RegionDiskList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionDiskList) GetItems

func (l *RegionDiskList) GetItems() []resource.Managed

GetItems of this RegionDiskList.

type RegionDiskObservation

type RegionDiskObservation struct {

	// A nested object resource
	// Structure is documented below.
	AsyncPrimaryDisk *RegionDiskAsyncPrimaryDiskObservation `json:"asyncPrimaryDisk,omitempty" tf:"async_primary_disk,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Encrypts the disk using a customer-supplied encryption key.
	// After you encrypt a disk with a customer-supplied key, you must
	// provide the same key if you use the disk later (e.g. to create a disk
	// snapshot or an image, or to attach the disk to a virtual machine).
	// Customer-supplied encryption keys do not protect access to metadata of
	// the disk.
	// If you do not provide an encryption key when creating the disk, then
	// the disk will be encrypted using an automatically generated key and
	// you do not need to provide a key to use the disk later.
	// Structure is documented below.
	DiskEncryptionKey *RegionDiskDiskEncryptionKeyObservation `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"`

	// for all of the labels present on the resource.
	// +mapType=granular
	EffectiveLabels map[string]*string `json:"effectiveLabels,omitempty" tf:"effective_labels,omitempty"`

	// A list of features to enable on the guest operating system.
	// Applicable only for bootable disks.
	// Structure is documented below.
	GuestOsFeatures []RegionDiskGuestOsFeaturesObservation `json:"guestOsFeatures,omitempty" tf:"guest_os_features,omitempty"`

	// an identifier for the resource with format projects/{{project}}/regions/{{region}}/disks/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The fingerprint used for optimistic locking of this resource.  Used
	// internally during updates.
	LabelFingerprint *string `json:"labelFingerprint,omitempty" tf:"label_fingerprint,omitempty"`

	// Labels to apply to this disk.  A list of key->value pairs.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Last attach timestamp in RFC3339 text format.
	LastAttachTimestamp *string `json:"lastAttachTimestamp,omitempty" tf:"last_attach_timestamp,omitempty"`

	// Last detach timestamp in RFC3339 text format.
	LastDetachTimestamp *string `json:"lastDetachTimestamp,omitempty" tf:"last_detach_timestamp,omitempty"`

	// Any applicable license URI.
	Licenses []*string `json:"licenses,omitempty" tf:"licenses,omitempty"`

	// Physical block size of the persistent disk, in bytes. If not present
	// in a request, a default value is used. Currently supported sizes
	// are 4096 and 16384, other sizes may be added in the future.
	// If an unsupported value is requested, the error message will list
	// the supported values for the caller's project.
	PhysicalBlockSizeBytes *float64 `json:"physicalBlockSizeBytes,omitempty" tf:"physical_block_size_bytes,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// A reference to the region where the disk resides.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// URLs of the zones where the disk should be replicated to.
	ReplicaZones []*string `json:"replicaZones,omitempty" tf:"replica_zones,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// Size of the persistent disk, specified in GB. You can specify this
	// field when creating a persistent disk using the sourceImage or
	// sourceSnapshot parameter, or specify it alone to create an empty
	// persistent disk.
	// If you specify this field along with sourceImage or sourceSnapshot,
	// the value of sizeGb must not be less than the size of the sourceImage
	// or the size of the snapshot.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The source snapshot used to create this disk. You can provide this as
	// a partial or full URL to the resource. For example, the following are
	// valid values:
	Snapshot *string `json:"snapshot,omitempty" tf:"snapshot,omitempty"`

	// The source disk used to create this disk. You can provide this as a partial or full URL to the resource.
	// For example, the following are valid values:
	SourceDisk *string `json:"sourceDisk,omitempty" tf:"source_disk,omitempty"`

	// The ID value of the disk used to create this image. This value may
	// be used to determine whether the image was taken from the current
	// or a previous instance of a given disk name.
	SourceDiskID *string `json:"sourceDiskId,omitempty" tf:"source_disk_id,omitempty"`

	// The customer-supplied encryption key of the source snapshot. Required
	// if the source snapshot is protected by a customer-supplied encryption
	// key.
	// Structure is documented below.
	SourceSnapshotEncryptionKey *RegionDiskSourceSnapshotEncryptionKeyObservation `json:"sourceSnapshotEncryptionKey,omitempty" tf:"source_snapshot_encryption_key,omitempty"`

	// The unique ID of the snapshot used to create this disk. This value
	// identifies the exact snapshot that was used to create this persistent
	// disk. For example, if you created the persistent disk from a snapshot
	// that was later deleted and recreated under the same name, the source
	// snapshot ID would identify the exact version of the snapshot that was
	// used.
	SourceSnapshotID *string `json:"sourceSnapshotId,omitempty" tf:"source_snapshot_id,omitempty"`

	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	// +mapType=granular
	TerraformLabels map[string]*string `json:"terraformLabels,omitempty" tf:"terraform_labels,omitempty"`

	// URL of the disk type resource describing which disk type to use to
	// create the disk. Provide this when creating the disk.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Links to the users of the disk (attached instances) in form:
	// project/zones/zone/instances/instance
	Users []*string `json:"users,omitempty" tf:"users,omitempty"`
}

func (*RegionDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskObservation.

func (*RegionDiskObservation) DeepCopyInto

func (in *RegionDiskObservation) DeepCopyInto(out *RegionDiskObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskParameters

type RegionDiskParameters struct {

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	AsyncPrimaryDisk *RegionDiskAsyncPrimaryDiskParameters `json:"asyncPrimaryDisk,omitempty" tf:"async_primary_disk,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Encrypts the disk using a customer-supplied encryption key.
	// After you encrypt a disk with a customer-supplied key, you must
	// provide the same key if you use the disk later (e.g. to create a disk
	// snapshot or an image, or to attach the disk to a virtual machine).
	// Customer-supplied encryption keys do not protect access to metadata of
	// the disk.
	// If you do not provide an encryption key when creating the disk, then
	// the disk will be encrypted using an automatically generated key and
	// you do not need to provide a key to use the disk later.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	DiskEncryptionKey *RegionDiskDiskEncryptionKeyParameters `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"`

	// A list of features to enable on the guest operating system.
	// Applicable only for bootable disks.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	GuestOsFeatures []RegionDiskGuestOsFeaturesParameters `json:"guestOsFeatures,omitempty" tf:"guest_os_features,omitempty"`

	// Labels to apply to this disk.  A list of key->value pairs.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Any applicable license URI.
	// +kubebuilder:validation:Optional
	Licenses []*string `json:"licenses,omitempty" tf:"licenses,omitempty"`

	// Physical block size of the persistent disk, in bytes. If not present
	// in a request, a default value is used. Currently supported sizes
	// are 4096 and 16384, other sizes may be added in the future.
	// If an unsupported value is requested, the error message will list
	// the supported values for the caller's project.
	// +kubebuilder:validation:Optional
	PhysicalBlockSizeBytes *float64 `json:"physicalBlockSizeBytes,omitempty" tf:"physical_block_size_bytes,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// A reference to the region where the disk resides.
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"region,omitempty"`

	// URLs of the zones where the disk should be replicated to.
	// +kubebuilder:validation:Optional
	ReplicaZones []*string `json:"replicaZones,omitempty" tf:"replica_zones,omitempty"`

	// Size of the persistent disk, specified in GB. You can specify this
	// field when creating a persistent disk using the sourceImage or
	// sourceSnapshot parameter, or specify it alone to create an empty
	// persistent disk.
	// If you specify this field along with sourceImage or sourceSnapshot,
	// the value of sizeGb must not be less than the size of the sourceImage
	// or the size of the snapshot.
	// +kubebuilder:validation:Optional
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The source snapshot used to create this disk. You can provide this as
	// a partial or full URL to the resource. For example, the following are
	// valid values:
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Snapshot
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Snapshot *string `json:"snapshot,omitempty" tf:"snapshot,omitempty"`

	// Reference to a Snapshot in compute to populate snapshot.
	// +kubebuilder:validation:Optional
	SnapshotRef *v1.Reference `json:"snapshotRef,omitempty" tf:"-"`

	// Selector for a Snapshot in compute to populate snapshot.
	// +kubebuilder:validation:Optional
	SnapshotSelector *v1.Selector `json:"snapshotSelector,omitempty" tf:"-"`

	// The source disk used to create this disk. You can provide this as a partial or full URL to the resource.
	// For example, the following are valid values:
	// +kubebuilder:validation:Optional
	SourceDisk *string `json:"sourceDisk,omitempty" tf:"source_disk,omitempty"`

	// The customer-supplied encryption key of the source snapshot. Required
	// if the source snapshot is protected by a customer-supplied encryption
	// key.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	SourceSnapshotEncryptionKey *RegionDiskSourceSnapshotEncryptionKeyParameters `json:"sourceSnapshotEncryptionKey,omitempty" tf:"source_snapshot_encryption_key,omitempty"`

	// URL of the disk type resource describing which disk type to use to
	// create the disk. Provide this when creating the disk.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*RegionDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskParameters.

func (*RegionDiskParameters) DeepCopyInto

func (in *RegionDiskParameters) DeepCopyInto(out *RegionDiskParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskSourceSnapshotEncryptionKeyInitParameters

type RegionDiskSourceSnapshotEncryptionKeyInitParameters struct {

	// Specifies a 256-bit customer-supplied encryption key, encoded in
	// RFC 4648 base64 to either encrypt or decrypt this resource.
	RawKey *string `json:"rawKey,omitempty" tf:"raw_key,omitempty"`
}

func (*RegionDiskSourceSnapshotEncryptionKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskSourceSnapshotEncryptionKeyInitParameters.

func (*RegionDiskSourceSnapshotEncryptionKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskSourceSnapshotEncryptionKeyObservation

type RegionDiskSourceSnapshotEncryptionKeyObservation struct {

	// Specifies a 256-bit customer-supplied encryption key, encoded in
	// RFC 4648 base64 to either encrypt or decrypt this resource.
	RawKey *string `json:"rawKey,omitempty" tf:"raw_key,omitempty"`

	// (Output)
	// The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
	// encryption key that protects this resource.
	Sha256 *string `json:"sha256,omitempty" tf:"sha256,omitempty"`
}

func (*RegionDiskSourceSnapshotEncryptionKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskSourceSnapshotEncryptionKeyObservation.

func (*RegionDiskSourceSnapshotEncryptionKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskSourceSnapshotEncryptionKeyParameters

type RegionDiskSourceSnapshotEncryptionKeyParameters struct {

	// Specifies a 256-bit customer-supplied encryption key, encoded in
	// RFC 4648 base64 to either encrypt or decrypt this resource.
	// +kubebuilder:validation:Optional
	RawKey *string `json:"rawKey,omitempty" tf:"raw_key,omitempty"`
}

func (*RegionDiskSourceSnapshotEncryptionKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskSourceSnapshotEncryptionKeyParameters.

func (*RegionDiskSourceSnapshotEncryptionKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskSpec

type RegionDiskSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RegionDiskParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RegionDiskInitParameters `json:"initProvider,omitempty"`
}

RegionDiskSpec defines the desired state of RegionDisk

func (*RegionDiskSpec) DeepCopy

func (in *RegionDiskSpec) DeepCopy() *RegionDiskSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskSpec.

func (*RegionDiskSpec) DeepCopyInto

func (in *RegionDiskSpec) DeepCopyInto(out *RegionDiskSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionDiskStatus

type RegionDiskStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RegionDiskObservation `json:"atProvider,omitempty"`
}

RegionDiskStatus defines the observed state of RegionDisk.

func (*RegionDiskStatus) DeepCopy

func (in *RegionDiskStatus) DeepCopy() *RegionDiskStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskStatus.

func (*RegionDiskStatus) DeepCopyInto

func (in *RegionDiskStatus) DeepCopyInto(out *RegionDiskStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheck

type RegionHealthCheck struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              RegionHealthCheckSpec   `json:"spec"`
	Status            RegionHealthCheckStatus `json:"status,omitempty"`
}

RegionHealthCheck is the Schema for the RegionHealthChecks API. Health Checks determine whether instances are responsive and able to do work. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*RegionHealthCheck) DeepCopy

func (in *RegionHealthCheck) DeepCopy() *RegionHealthCheck

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheck.

func (*RegionHealthCheck) DeepCopyInto

func (in *RegionHealthCheck) DeepCopyInto(out *RegionHealthCheck)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionHealthCheck) DeepCopyObject

func (in *RegionHealthCheck) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionHealthCheck) GetCondition

func (mg *RegionHealthCheck) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this RegionHealthCheck.

func (*RegionHealthCheck) GetConnectionDetailsMapping

func (tr *RegionHealthCheck) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this RegionHealthCheck

func (*RegionHealthCheck) GetDeletionPolicy

func (mg *RegionHealthCheck) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this RegionHealthCheck.

func (*RegionHealthCheck) GetID

func (tr *RegionHealthCheck) GetID() string

GetID returns ID of underlying Terraform resource of this RegionHealthCheck

func (*RegionHealthCheck) GetInitParameters

func (tr *RegionHealthCheck) GetInitParameters() (map[string]any, error)

GetInitParameters of this RegionHealthCheck

func (*RegionHealthCheck) GetManagementPolicies

func (mg *RegionHealthCheck) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this RegionHealthCheck.

func (*RegionHealthCheck) GetMergedParameters

func (tr *RegionHealthCheck) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this RegionHealthCheck

func (*RegionHealthCheck) GetObservation

func (tr *RegionHealthCheck) GetObservation() (map[string]any, error)

GetObservation of this RegionHealthCheck

func (*RegionHealthCheck) GetParameters

func (tr *RegionHealthCheck) GetParameters() (map[string]any, error)

GetParameters of this RegionHealthCheck

func (*RegionHealthCheck) GetProviderConfigReference

func (mg *RegionHealthCheck) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this RegionHealthCheck.

func (*RegionHealthCheck) GetPublishConnectionDetailsTo

func (mg *RegionHealthCheck) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this RegionHealthCheck.

func (*RegionHealthCheck) GetTerraformResourceType

func (mg *RegionHealthCheck) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this RegionHealthCheck

func (*RegionHealthCheck) GetTerraformSchemaVersion

func (tr *RegionHealthCheck) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*RegionHealthCheck) GetWriteConnectionSecretToReference

func (mg *RegionHealthCheck) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this RegionHealthCheck.

func (*RegionHealthCheck) Hub

func (tr *RegionHealthCheck) Hub()

Hub marks this type as a conversion hub.

func (*RegionHealthCheck) LateInitialize

func (tr *RegionHealthCheck) LateInitialize(attrs []byte) (bool, error)

LateInitialize this RegionHealthCheck using its observed tfState. returns True if there are any spec changes for the resource.

func (*RegionHealthCheck) SetConditions

func (mg *RegionHealthCheck) SetConditions(c ...xpv1.Condition)

SetConditions of this RegionHealthCheck.

func (*RegionHealthCheck) SetDeletionPolicy

func (mg *RegionHealthCheck) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this RegionHealthCheck.

func (*RegionHealthCheck) SetManagementPolicies

func (mg *RegionHealthCheck) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this RegionHealthCheck.

func (*RegionHealthCheck) SetObservation

func (tr *RegionHealthCheck) SetObservation(obs map[string]any) error

SetObservation for this RegionHealthCheck

func (*RegionHealthCheck) SetParameters

func (tr *RegionHealthCheck) SetParameters(params map[string]any) error

SetParameters for this RegionHealthCheck

func (*RegionHealthCheck) SetProviderConfigReference

func (mg *RegionHealthCheck) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this RegionHealthCheck.

func (*RegionHealthCheck) SetPublishConnectionDetailsTo

func (mg *RegionHealthCheck) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this RegionHealthCheck.

func (*RegionHealthCheck) SetWriteConnectionSecretToReference

func (mg *RegionHealthCheck) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this RegionHealthCheck.

type RegionHealthCheckGRPCHealthCheckInitParameters

type RegionHealthCheckGRPCHealthCheckInitParameters struct {

	// The gRPC service name for the health check.
	// The value of grpcServiceName has the following meanings by convention:
	GRPCServiceName *string `json:"grpcServiceName,omitempty" tf:"grpc_service_name,omitempty"`

	// The port number for the health check request.
	// Must be specified if portName and portSpecification are not set
	// or if port_specification is USE_FIXED_PORT. Valid values are 1 through 65535.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`
}

func (*RegionHealthCheckGRPCHealthCheckInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckGRPCHealthCheckInitParameters.

func (*RegionHealthCheckGRPCHealthCheckInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckGRPCHealthCheckObservation

type RegionHealthCheckGRPCHealthCheckObservation struct {

	// The gRPC service name for the health check.
	// The value of grpcServiceName has the following meanings by convention:
	GRPCServiceName *string `json:"grpcServiceName,omitempty" tf:"grpc_service_name,omitempty"`

	// The port number for the health check request.
	// Must be specified if portName and portSpecification are not set
	// or if port_specification is USE_FIXED_PORT. Valid values are 1 through 65535.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`
}

func (*RegionHealthCheckGRPCHealthCheckObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckGRPCHealthCheckObservation.

func (*RegionHealthCheckGRPCHealthCheckObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckGRPCHealthCheckParameters

type RegionHealthCheckGRPCHealthCheckParameters struct {

	// The gRPC service name for the health check.
	// The value of grpcServiceName has the following meanings by convention:
	// +kubebuilder:validation:Optional
	GRPCServiceName *string `json:"grpcServiceName,omitempty" tf:"grpc_service_name,omitempty"`

	// The port number for the health check request.
	// Must be specified if portName and portSpecification are not set
	// or if port_specification is USE_FIXED_PORT. Valid values are 1 through 65535.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	// +kubebuilder:validation:Optional
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	// +kubebuilder:validation:Optional
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`
}

func (*RegionHealthCheckGRPCHealthCheckParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckGRPCHealthCheckParameters.

func (*RegionHealthCheckGRPCHealthCheckParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckHTTPHealthCheckInitParameters

type RegionHealthCheckHTTPHealthCheckInitParameters struct {

	// The value of the host header in the HTTP health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTP health check request.
	// The default value is 80.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTP health check request.
	// The default value is /.
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*RegionHealthCheckHTTPHealthCheckInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckHTTPHealthCheckInitParameters.

func (*RegionHealthCheckHTTPHealthCheckInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckHTTPHealthCheckObservation

type RegionHealthCheckHTTPHealthCheckObservation struct {

	// The value of the host header in the HTTP health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTP health check request.
	// The default value is 80.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTP health check request.
	// The default value is /.
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*RegionHealthCheckHTTPHealthCheckObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckHTTPHealthCheckObservation.

func (*RegionHealthCheckHTTPHealthCheckObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckHTTPHealthCheckParameters

type RegionHealthCheckHTTPHealthCheckParameters struct {

	// The value of the host header in the HTTP health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	// +kubebuilder:validation:Optional
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTP health check request.
	// The default value is 80.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	// +kubebuilder:validation:Optional
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	// +kubebuilder:validation:Optional
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	// +kubebuilder:validation:Optional
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTP health check request.
	// The default value is /.
	// +kubebuilder:validation:Optional
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	// +kubebuilder:validation:Optional
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*RegionHealthCheckHTTPHealthCheckParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckHTTPHealthCheckParameters.

func (*RegionHealthCheckHTTPHealthCheckParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckHTTPSHealthCheckInitParameters

type RegionHealthCheckHTTPSHealthCheckInitParameters struct {

	// The value of the host header in the HTTPS health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTPS health check request.
	// The default value is 443.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTPS health check request.
	// The default value is /.
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*RegionHealthCheckHTTPSHealthCheckInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckHTTPSHealthCheckInitParameters.

func (*RegionHealthCheckHTTPSHealthCheckInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckHTTPSHealthCheckObservation

type RegionHealthCheckHTTPSHealthCheckObservation struct {

	// The value of the host header in the HTTPS health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTPS health check request.
	// The default value is 443.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTPS health check request.
	// The default value is /.
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*RegionHealthCheckHTTPSHealthCheckObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckHTTPSHealthCheckObservation.

func (*RegionHealthCheckHTTPSHealthCheckObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckHTTPSHealthCheckParameters

type RegionHealthCheckHTTPSHealthCheckParameters struct {

	// The value of the host header in the HTTPS health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	// +kubebuilder:validation:Optional
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTPS health check request.
	// The default value is 443.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	// +kubebuilder:validation:Optional
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	// +kubebuilder:validation:Optional
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	// +kubebuilder:validation:Optional
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTPS health check request.
	// The default value is /.
	// +kubebuilder:validation:Optional
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	// +kubebuilder:validation:Optional
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*RegionHealthCheckHTTPSHealthCheckParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckHTTPSHealthCheckParameters.

func (*RegionHealthCheckHTTPSHealthCheckParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckHttp2HealthCheckInitParameters

type RegionHealthCheckHttp2HealthCheckInitParameters struct {

	// The value of the host header in the HTTP2 health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTP2 health check request.
	// The default value is 443.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTP2 health check request.
	// The default value is /.
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*RegionHealthCheckHttp2HealthCheckInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckHttp2HealthCheckInitParameters.

func (*RegionHealthCheckHttp2HealthCheckInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckHttp2HealthCheckObservation

type RegionHealthCheckHttp2HealthCheckObservation struct {

	// The value of the host header in the HTTP2 health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTP2 health check request.
	// The default value is 443.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTP2 health check request.
	// The default value is /.
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*RegionHealthCheckHttp2HealthCheckObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckHttp2HealthCheckObservation.

func (*RegionHealthCheckHttp2HealthCheckObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckHttp2HealthCheckParameters

type RegionHealthCheckHttp2HealthCheckParameters struct {

	// The value of the host header in the HTTP2 health check request.
	// If left empty (default value), the public IP on behalf of which this health
	// check is performed will be used.
	// +kubebuilder:validation:Optional
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The TCP port number for the HTTP2 health check request.
	// The default value is 443.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	// +kubebuilder:validation:Optional
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	// +kubebuilder:validation:Optional
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	// +kubebuilder:validation:Optional
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The request path of the HTTP2 health check request.
	// The default value is /.
	// +kubebuilder:validation:Optional
	RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	// +kubebuilder:validation:Optional
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*RegionHealthCheckHttp2HealthCheckParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckHttp2HealthCheckParameters.

func (*RegionHealthCheckHttp2HealthCheckParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckInitParameters

type RegionHealthCheckInitParameters struct {

	// How often (in seconds) to send a health check. The default value is 5
	// seconds.
	CheckIntervalSec *float64 `json:"checkIntervalSec,omitempty" tf:"check_interval_sec,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A nested object resource
	// Structure is documented below.
	GRPCHealthCheck *RegionHealthCheckGRPCHealthCheckInitParameters `json:"grpcHealthCheck,omitempty" tf:"grpc_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	HTTPHealthCheck *RegionHealthCheckHTTPHealthCheckInitParameters `json:"httpHealthCheck,omitempty" tf:"http_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	HTTPSHealthCheck *RegionHealthCheckHTTPSHealthCheckInitParameters `json:"httpsHealthCheck,omitempty" tf:"https_health_check,omitempty"`

	// A so-far unhealthy instance will be marked healthy after this many
	// consecutive successes. The default value is 2.
	HealthyThreshold *float64 `json:"healthyThreshold,omitempty" tf:"healthy_threshold,omitempty"`

	// A nested object resource
	// Structure is documented below.
	Http2HealthCheck *RegionHealthCheckHttp2HealthCheckInitParameters `json:"http2HealthCheck,omitempty" tf:"http2_health_check,omitempty"`

	// Configure logging on this health check.
	// Structure is documented below.
	LogConfig *RegionHealthCheckLogConfigInitParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// A nested object resource
	// Structure is documented below.
	SSLHealthCheck *RegionHealthCheckSSLHealthCheckInitParameters `json:"sslHealthCheck,omitempty" tf:"ssl_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	TCPHealthCheck *RegionHealthCheckTCPHealthCheckInitParameters `json:"tcpHealthCheck,omitempty" tf:"tcp_health_check,omitempty"`

	// How long (in seconds) to wait before claiming failure.
	// The default value is 5 seconds.  It is invalid for timeoutSec to have
	// greater value than checkIntervalSec.
	TimeoutSec *float64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"`

	// A so-far healthy instance will be marked unhealthy after this many
	// consecutive failures. The default value is 2.
	UnhealthyThreshold *float64 `json:"unhealthyThreshold,omitempty" tf:"unhealthy_threshold,omitempty"`
}

func (*RegionHealthCheckInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckInitParameters.

func (*RegionHealthCheckInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckList

type RegionHealthCheckList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RegionHealthCheck `json:"items"`
}

RegionHealthCheckList contains a list of RegionHealthChecks

func (*RegionHealthCheckList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckList.

func (*RegionHealthCheckList) DeepCopyInto

func (in *RegionHealthCheckList) DeepCopyInto(out *RegionHealthCheckList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionHealthCheckList) DeepCopyObject

func (in *RegionHealthCheckList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionHealthCheckList) GetItems

func (l *RegionHealthCheckList) GetItems() []resource.Managed

GetItems of this RegionHealthCheckList.

type RegionHealthCheckLogConfigInitParameters

type RegionHealthCheckLogConfigInitParameters struct {

	// Indicates whether or not to export logs. This is false by default,
	// which means no health check logging will be done.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`
}

func (*RegionHealthCheckLogConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckLogConfigInitParameters.

func (*RegionHealthCheckLogConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckLogConfigObservation

type RegionHealthCheckLogConfigObservation struct {

	// Indicates whether or not to export logs. This is false by default,
	// which means no health check logging will be done.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`
}

func (*RegionHealthCheckLogConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckLogConfigObservation.

func (*RegionHealthCheckLogConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckLogConfigParameters

type RegionHealthCheckLogConfigParameters struct {

	// Indicates whether or not to export logs. This is false by default,
	// which means no health check logging will be done.
	// +kubebuilder:validation:Optional
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`
}

func (*RegionHealthCheckLogConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckLogConfigParameters.

func (*RegionHealthCheckLogConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckObservation

type RegionHealthCheckObservation struct {

	// How often (in seconds) to send a health check. The default value is 5
	// seconds.
	CheckIntervalSec *float64 `json:"checkIntervalSec,omitempty" tf:"check_interval_sec,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A nested object resource
	// Structure is documented below.
	GRPCHealthCheck *RegionHealthCheckGRPCHealthCheckObservation `json:"grpcHealthCheck,omitempty" tf:"grpc_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	HTTPHealthCheck *RegionHealthCheckHTTPHealthCheckObservation `json:"httpHealthCheck,omitempty" tf:"http_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	HTTPSHealthCheck *RegionHealthCheckHTTPSHealthCheckObservation `json:"httpsHealthCheck,omitempty" tf:"https_health_check,omitempty"`

	// A so-far unhealthy instance will be marked healthy after this many
	// consecutive successes. The default value is 2.
	HealthyThreshold *float64 `json:"healthyThreshold,omitempty" tf:"healthy_threshold,omitempty"`

	// A nested object resource
	// Structure is documented below.
	Http2HealthCheck *RegionHealthCheckHttp2HealthCheckObservation `json:"http2HealthCheck,omitempty" tf:"http2_health_check,omitempty"`

	// an identifier for the resource with format projects/{{project}}/regions/{{region}}/healthChecks/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Configure logging on this health check.
	// Structure is documented below.
	LogConfig *RegionHealthCheckLogConfigObservation `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The Region in which the created health check should reside.
	// If it is not provided, the provider region is used.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// A nested object resource
	// Structure is documented below.
	SSLHealthCheck *RegionHealthCheckSSLHealthCheckObservation `json:"sslHealthCheck,omitempty" tf:"ssl_health_check,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// A nested object resource
	// Structure is documented below.
	TCPHealthCheck *RegionHealthCheckTCPHealthCheckObservation `json:"tcpHealthCheck,omitempty" tf:"tcp_health_check,omitempty"`

	// How long (in seconds) to wait before claiming failure.
	// The default value is 5 seconds.  It is invalid for timeoutSec to have
	// greater value than checkIntervalSec.
	TimeoutSec *float64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"`

	// The type of the health check. One of HTTP, HTTP2, HTTPS, TCP, or SSL.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// A so-far healthy instance will be marked unhealthy after this many
	// consecutive failures. The default value is 2.
	UnhealthyThreshold *float64 `json:"unhealthyThreshold,omitempty" tf:"unhealthy_threshold,omitempty"`
}

func (*RegionHealthCheckObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckObservation.

func (*RegionHealthCheckObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckParameters

type RegionHealthCheckParameters struct {

	// How often (in seconds) to send a health check. The default value is 5
	// seconds.
	// +kubebuilder:validation:Optional
	CheckIntervalSec *float64 `json:"checkIntervalSec,omitempty" tf:"check_interval_sec,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	GRPCHealthCheck *RegionHealthCheckGRPCHealthCheckParameters `json:"grpcHealthCheck,omitempty" tf:"grpc_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HTTPHealthCheck *RegionHealthCheckHTTPHealthCheckParameters `json:"httpHealthCheck,omitempty" tf:"http_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HTTPSHealthCheck *RegionHealthCheckHTTPSHealthCheckParameters `json:"httpsHealthCheck,omitempty" tf:"https_health_check,omitempty"`

	// A so-far unhealthy instance will be marked healthy after this many
	// consecutive successes. The default value is 2.
	// +kubebuilder:validation:Optional
	HealthyThreshold *float64 `json:"healthyThreshold,omitempty" tf:"healthy_threshold,omitempty"`

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Http2HealthCheck *RegionHealthCheckHttp2HealthCheckParameters `json:"http2HealthCheck,omitempty" tf:"http2_health_check,omitempty"`

	// Configure logging on this health check.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	LogConfig *RegionHealthCheckLogConfigParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The Region in which the created health check should reside.
	// If it is not provided, the provider region is used.
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"region,omitempty"`

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	SSLHealthCheck *RegionHealthCheckSSLHealthCheckParameters `json:"sslHealthCheck,omitempty" tf:"ssl_health_check,omitempty"`

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	TCPHealthCheck *RegionHealthCheckTCPHealthCheckParameters `json:"tcpHealthCheck,omitempty" tf:"tcp_health_check,omitempty"`

	// How long (in seconds) to wait before claiming failure.
	// The default value is 5 seconds.  It is invalid for timeoutSec to have
	// greater value than checkIntervalSec.
	// +kubebuilder:validation:Optional
	TimeoutSec *float64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"`

	// A so-far healthy instance will be marked unhealthy after this many
	// consecutive failures. The default value is 2.
	// +kubebuilder:validation:Optional
	UnhealthyThreshold *float64 `json:"unhealthyThreshold,omitempty" tf:"unhealthy_threshold,omitempty"`
}

func (*RegionHealthCheckParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckParameters.

func (*RegionHealthCheckParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckSSLHealthCheckInitParameters

type RegionHealthCheckSSLHealthCheckInitParameters struct {

	// The TCP port number for the SSL health check request.
	// The default value is 443.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The application data to send once the SSL connection has been
	// established (default value is empty). If both request and response are
	// empty, the connection establishment alone will indicate health. The request
	// data can only be ASCII.
	Request *string `json:"request,omitempty" tf:"request,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*RegionHealthCheckSSLHealthCheckInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckSSLHealthCheckInitParameters.

func (*RegionHealthCheckSSLHealthCheckInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckSSLHealthCheckObservation

type RegionHealthCheckSSLHealthCheckObservation struct {

	// The TCP port number for the SSL health check request.
	// The default value is 443.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The application data to send once the SSL connection has been
	// established (default value is empty). If both request and response are
	// empty, the connection establishment alone will indicate health. The request
	// data can only be ASCII.
	Request *string `json:"request,omitempty" tf:"request,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*RegionHealthCheckSSLHealthCheckObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckSSLHealthCheckObservation.

func (*RegionHealthCheckSSLHealthCheckObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckSSLHealthCheckParameters

type RegionHealthCheckSSLHealthCheckParameters struct {

	// The TCP port number for the SSL health check request.
	// The default value is 443.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	// +kubebuilder:validation:Optional
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	// +kubebuilder:validation:Optional
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	// +kubebuilder:validation:Optional
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The application data to send once the SSL connection has been
	// established (default value is empty). If both request and response are
	// empty, the connection establishment alone will indicate health. The request
	// data can only be ASCII.
	// +kubebuilder:validation:Optional
	Request *string `json:"request,omitempty" tf:"request,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	// +kubebuilder:validation:Optional
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*RegionHealthCheckSSLHealthCheckParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckSSLHealthCheckParameters.

func (*RegionHealthCheckSSLHealthCheckParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckSpec

type RegionHealthCheckSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RegionHealthCheckParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RegionHealthCheckInitParameters `json:"initProvider,omitempty"`
}

RegionHealthCheckSpec defines the desired state of RegionHealthCheck

func (*RegionHealthCheckSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckSpec.

func (*RegionHealthCheckSpec) DeepCopyInto

func (in *RegionHealthCheckSpec) DeepCopyInto(out *RegionHealthCheckSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckStatus

type RegionHealthCheckStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RegionHealthCheckObservation `json:"atProvider,omitempty"`
}

RegionHealthCheckStatus defines the observed state of RegionHealthCheck.

func (*RegionHealthCheckStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckStatus.

func (*RegionHealthCheckStatus) DeepCopyInto

func (in *RegionHealthCheckStatus) DeepCopyInto(out *RegionHealthCheckStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckTCPHealthCheckInitParameters

type RegionHealthCheckTCPHealthCheckInitParameters struct {

	// The TCP port number for the TCP health check request.
	// The default value is 80.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The application data to send once the TCP connection has been
	// established (default value is empty). If both request and response are
	// empty, the connection establishment alone will indicate health. The request
	// data can only be ASCII.
	Request *string `json:"request,omitempty" tf:"request,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*RegionHealthCheckTCPHealthCheckInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckTCPHealthCheckInitParameters.

func (*RegionHealthCheckTCPHealthCheckInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckTCPHealthCheckObservation

type RegionHealthCheckTCPHealthCheckObservation struct {

	// The TCP port number for the TCP health check request.
	// The default value is 80.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The application data to send once the TCP connection has been
	// established (default value is empty). If both request and response are
	// empty, the connection establishment alone will indicate health. The request
	// data can only be ASCII.
	Request *string `json:"request,omitempty" tf:"request,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*RegionHealthCheckTCPHealthCheckObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckTCPHealthCheckObservation.

func (*RegionHealthCheckTCPHealthCheckObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionHealthCheckTCPHealthCheckParameters

type RegionHealthCheckTCPHealthCheckParameters struct {

	// The TCP port number for the TCP health check request.
	// The default value is 80.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	// +kubebuilder:validation:Optional
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	// +kubebuilder:validation:Optional
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	// +kubebuilder:validation:Optional
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The application data to send once the TCP connection has been
	// established (default value is empty). If both request and response are
	// empty, the connection establishment alone will indicate health. The request
	// data can only be ASCII.
	// +kubebuilder:validation:Optional
	Request *string `json:"request,omitempty" tf:"request,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	// +kubebuilder:validation:Optional
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*RegionHealthCheckTCPHealthCheckParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckTCPHealthCheckParameters.

func (*RegionHealthCheckTCPHealthCheckParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManager

type RegionInstanceGroupManager struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.baseInstanceName) || (has(self.initProvider) && has(self.initProvider.baseInstanceName))",message="spec.forProvider.baseInstanceName is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.region) || (has(self.initProvider) && has(self.initProvider.region))",message="spec.forProvider.region is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.version) || (has(self.initProvider) && has(self.initProvider.version))",message="spec.forProvider.version is a required parameter"
	Spec   RegionInstanceGroupManagerSpec   `json:"spec"`
	Status RegionInstanceGroupManagerStatus `json:"status,omitempty"`
}

RegionInstanceGroupManager is the Schema for the RegionInstanceGroupManagers API. Manages an Regional Instance Group within GCE. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*RegionInstanceGroupManager) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManager.

func (*RegionInstanceGroupManager) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionInstanceGroupManager) DeepCopyObject

func (in *RegionInstanceGroupManager) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionInstanceGroupManager) GetCondition

GetCondition of this RegionInstanceGroupManager.

func (*RegionInstanceGroupManager) GetConnectionDetailsMapping

func (tr *RegionInstanceGroupManager) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this RegionInstanceGroupManager

func (*RegionInstanceGroupManager) GetDeletionPolicy

func (mg *RegionInstanceGroupManager) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this RegionInstanceGroupManager.

func (*RegionInstanceGroupManager) GetID

func (tr *RegionInstanceGroupManager) GetID() string

GetID returns ID of underlying Terraform resource of this RegionInstanceGroupManager

func (*RegionInstanceGroupManager) GetInitParameters

func (tr *RegionInstanceGroupManager) GetInitParameters() (map[string]any, error)

GetInitParameters of this RegionInstanceGroupManager

func (*RegionInstanceGroupManager) GetManagementPolicies

func (mg *RegionInstanceGroupManager) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this RegionInstanceGroupManager.

func (*RegionInstanceGroupManager) GetMergedParameters

func (tr *RegionInstanceGroupManager) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this RegionInstanceGroupManager

func (*RegionInstanceGroupManager) GetObservation

func (tr *RegionInstanceGroupManager) GetObservation() (map[string]any, error)

GetObservation of this RegionInstanceGroupManager

func (*RegionInstanceGroupManager) GetParameters

func (tr *RegionInstanceGroupManager) GetParameters() (map[string]any, error)

GetParameters of this RegionInstanceGroupManager

func (*RegionInstanceGroupManager) GetProviderConfigReference

func (mg *RegionInstanceGroupManager) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this RegionInstanceGroupManager.

func (*RegionInstanceGroupManager) GetPublishConnectionDetailsTo

func (mg *RegionInstanceGroupManager) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this RegionInstanceGroupManager.

func (*RegionInstanceGroupManager) GetTerraformResourceType

func (mg *RegionInstanceGroupManager) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this RegionInstanceGroupManager

func (*RegionInstanceGroupManager) GetTerraformSchemaVersion

func (tr *RegionInstanceGroupManager) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*RegionInstanceGroupManager) GetWriteConnectionSecretToReference

func (mg *RegionInstanceGroupManager) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this RegionInstanceGroupManager.

func (*RegionInstanceGroupManager) Hub

func (tr *RegionInstanceGroupManager) Hub()

Hub marks this type as a conversion hub.

func (*RegionInstanceGroupManager) LateInitialize

func (tr *RegionInstanceGroupManager) LateInitialize(attrs []byte) (bool, error)

LateInitialize this RegionInstanceGroupManager using its observed tfState. returns True if there are any spec changes for the resource.

func (*RegionInstanceGroupManager) ResolveReferences

func (mg *RegionInstanceGroupManager) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this RegionInstanceGroupManager.

func (*RegionInstanceGroupManager) SetConditions

func (mg *RegionInstanceGroupManager) SetConditions(c ...xpv1.Condition)

SetConditions of this RegionInstanceGroupManager.

func (*RegionInstanceGroupManager) SetDeletionPolicy

func (mg *RegionInstanceGroupManager) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this RegionInstanceGroupManager.

func (*RegionInstanceGroupManager) SetManagementPolicies

func (mg *RegionInstanceGroupManager) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this RegionInstanceGroupManager.

func (*RegionInstanceGroupManager) SetObservation

func (tr *RegionInstanceGroupManager) SetObservation(obs map[string]any) error

SetObservation for this RegionInstanceGroupManager

func (*RegionInstanceGroupManager) SetParameters

func (tr *RegionInstanceGroupManager) SetParameters(params map[string]any) error

SetParameters for this RegionInstanceGroupManager

func (*RegionInstanceGroupManager) SetProviderConfigReference

func (mg *RegionInstanceGroupManager) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this RegionInstanceGroupManager.

func (*RegionInstanceGroupManager) SetPublishConnectionDetailsTo

func (mg *RegionInstanceGroupManager) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this RegionInstanceGroupManager.

func (*RegionInstanceGroupManager) SetWriteConnectionSecretToReference

func (mg *RegionInstanceGroupManager) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this RegionInstanceGroupManager.

type RegionInstanceGroupManagerAllInstancesConfigInitParameters

type RegionInstanceGroupManagerAllInstancesConfigInitParameters struct {

	// , The label key-value pairs that you want to patch onto the instance.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// , The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
	// +mapType=granular
	Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"`
}

func (*RegionInstanceGroupManagerAllInstancesConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerAllInstancesConfigInitParameters.

func (*RegionInstanceGroupManagerAllInstancesConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerAllInstancesConfigObservation

type RegionInstanceGroupManagerAllInstancesConfigObservation struct {

	// , The label key-value pairs that you want to patch onto the instance.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// , The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
	// +mapType=granular
	Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"`
}

func (*RegionInstanceGroupManagerAllInstancesConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerAllInstancesConfigObservation.

func (*RegionInstanceGroupManagerAllInstancesConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerAllInstancesConfigParameters

type RegionInstanceGroupManagerAllInstancesConfigParameters struct {

	// , The label key-value pairs that you want to patch onto the instance.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// , The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"`
}

func (*RegionInstanceGroupManagerAllInstancesConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerAllInstancesConfigParameters.

func (*RegionInstanceGroupManagerAllInstancesConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerAutoHealingPoliciesInitParameters

type RegionInstanceGroupManagerAutoHealingPoliciesInitParameters struct {

	// The health check resource that signals autohealing.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.HealthCheck
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID()
	HealthCheck *string `json:"healthCheck,omitempty" tf:"health_check,omitempty"`

	// Reference to a HealthCheck in compute to populate healthCheck.
	// +kubebuilder:validation:Optional
	HealthCheckRef *v1.Reference `json:"healthCheckRef,omitempty" tf:"-"`

	// Selector for a HealthCheck in compute to populate healthCheck.
	// +kubebuilder:validation:Optional
	HealthCheckSelector *v1.Selector `json:"healthCheckSelector,omitempty" tf:"-"`

	// The number of seconds that the managed instance group waits before
	// it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
	InitialDelaySec *float64 `json:"initialDelaySec,omitempty" tf:"initial_delay_sec,omitempty"`
}

func (*RegionInstanceGroupManagerAutoHealingPoliciesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerAutoHealingPoliciesInitParameters.

func (*RegionInstanceGroupManagerAutoHealingPoliciesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerAutoHealingPoliciesObservation

type RegionInstanceGroupManagerAutoHealingPoliciesObservation struct {

	// The health check resource that signals autohealing.
	HealthCheck *string `json:"healthCheck,omitempty" tf:"health_check,omitempty"`

	// The number of seconds that the managed instance group waits before
	// it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
	InitialDelaySec *float64 `json:"initialDelaySec,omitempty" tf:"initial_delay_sec,omitempty"`
}

func (*RegionInstanceGroupManagerAutoHealingPoliciesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerAutoHealingPoliciesObservation.

func (*RegionInstanceGroupManagerAutoHealingPoliciesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerAutoHealingPoliciesParameters

type RegionInstanceGroupManagerAutoHealingPoliciesParameters struct {

	// The health check resource that signals autohealing.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.HealthCheck
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID()
	// +kubebuilder:validation:Optional
	HealthCheck *string `json:"healthCheck,omitempty" tf:"health_check,omitempty"`

	// Reference to a HealthCheck in compute to populate healthCheck.
	// +kubebuilder:validation:Optional
	HealthCheckRef *v1.Reference `json:"healthCheckRef,omitempty" tf:"-"`

	// Selector for a HealthCheck in compute to populate healthCheck.
	// +kubebuilder:validation:Optional
	HealthCheckSelector *v1.Selector `json:"healthCheckSelector,omitempty" tf:"-"`

	// The number of seconds that the managed instance group waits before
	// it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
	// +kubebuilder:validation:Optional
	InitialDelaySec *float64 `json:"initialDelaySec" tf:"initial_delay_sec,omitempty"`
}

func (*RegionInstanceGroupManagerAutoHealingPoliciesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerAutoHealingPoliciesParameters.

func (*RegionInstanceGroupManagerAutoHealingPoliciesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerInitParameters

type RegionInstanceGroupManagerInitParameters struct {

	// Properties to set on all instances in the group. After setting
	// allInstancesConfig on the group, you must update the group's instances to
	// apply the configuration.
	AllInstancesConfig *RegionInstanceGroupManagerAllInstancesConfigInitParameters `json:"allInstancesConfig,omitempty" tf:"all_instances_config,omitempty"`

	// The autohealing policies for this managed instance
	// group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
	AutoHealingPolicies *RegionInstanceGroupManagerAutoHealingPoliciesInitParameters `json:"autoHealingPolicies,omitempty" tf:"auto_healing_policies,omitempty"`

	// The base instance name to use for
	// instances in this group. The value must be a valid
	// RFC1035 name. Supported characters
	// are lowercase letters, numbers, and hyphens (-). Instances are named by
	// appending a hyphen and a random four-character string to the base instance
	// name.
	BaseInstanceName *string `json:"baseInstanceName,omitempty" tf:"base_instance_name,omitempty"`

	// An optional textual description of the instance
	// group manager.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the official documentation.
	DistributionPolicyTargetShape *string `json:"distributionPolicyTargetShape,omitempty" tf:"distribution_policy_target_shape,omitempty"`

	// The distribution policy for this managed instance
	// group. You can specify one or more values. For more information, see the official documentation.
	// +listType=set
	DistributionPolicyZones []*string `json:"distributionPolicyZones,omitempty" tf:"distribution_policy_zones,omitempty"`

	InstanceLifecyclePolicy *RegionInstanceGroupManagerInstanceLifecyclePolicyInitParameters `json:"instanceLifecyclePolicy,omitempty" tf:"instance_lifecycle_policy,omitempty"`

	// Pagination behavior of the listManagedInstances API
	// method for this managed instance group. Valid values are: PAGELESS, PAGINATED.
	// If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method.
	// maxResults and pageToken query parameters are ignored and all instances are returned in a single
	// response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are
	// respected.
	ListManagedInstancesResults *string `json:"listManagedInstancesResults,omitempty" tf:"list_managed_instances_results,omitempty"`

	// The name of the instance group manager. Must be 1-63
	// characters long and comply with
	// RFC1035. Supported characters
	// include lowercase letters, numbers, and hyphens.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The named port configuration. See the section below
	// for details on configuration.
	NamedPort []RegionInstanceGroupManagerNamedPortInitParameters `json:"namedPort,omitempty" tf:"named_port,omitempty"`

	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The region where the managed instance group resides. If not provided, the provider region is used.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.
	StatefulDisk []RegionInstanceGroupManagerStatefulDiskInitParameters `json:"statefulDisk,omitempty" tf:"stateful_disk,omitempty"`

	// External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
	StatefulExternalIP []RegionInstanceGroupManagerStatefulExternalIPInitParameters `json:"statefulExternalIp,omitempty" tf:"stateful_external_ip,omitempty"`

	// Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
	StatefulInternalIP []RegionInstanceGroupManagerStatefulInternalIPInitParameters `json:"statefulInternalIp,omitempty" tf:"stateful_internal_ip,omitempty"`

	// The full URL of all target pools to which new
	// instances in the group are added. Updating the target pools attribute does
	// not affect existing instances.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.TargetPool
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +listType=set
	TargetPools []*string `json:"targetPools,omitempty" tf:"target_pools,omitempty"`

	// References to TargetPool in compute to populate targetPools.
	// +kubebuilder:validation:Optional
	TargetPoolsRefs []v1.Reference `json:"targetPoolsRefs,omitempty" tf:"-"`

	// Selector for a list of TargetPool in compute to populate targetPools.
	// +kubebuilder:validation:Optional
	TargetPoolsSelector *v1.Selector `json:"targetPoolsSelector,omitempty" tf:"-"`

	// The target number of running instances for this managed
	// instance group. This value will fight with autoscaler settings when set, and generally shouldn't be set
	// when using one. If a value is required, such as to specify a creation-time target size for the MIG,
	// lifecycle. Defaults to 0.
	TargetSize *float64 `json:"targetSize,omitempty" tf:"target_size,omitempty"`

	// The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API
	UpdatePolicy *RegionInstanceGroupManagerUpdatePolicyInitParameters `json:"updatePolicy,omitempty" tf:"update_policy,omitempty"`

	// Application versions managed by this instance group. Each
	// version deals with a specific instance template, allowing canary release scenarios.
	// Structure is documented below.
	Version []RegionInstanceGroupManagerVersionInitParameters `json:"version,omitempty" tf:"version,omitempty"`

	// Whether to wait for all instances to be created/updated before
	// returning.
	WaitForInstances *bool `json:"waitForInstances,omitempty" tf:"wait_for_instances,omitempty"`

	// When used with wait_for_instances it specifies the status to wait for.
	// When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is
	// set, it will wait for the version target to be reached and any per instance configs to be effective as well as all
	// instances to be stable before returning. The possible values are STABLE and UPDATED
	WaitForInstancesStatus *string `json:"waitForInstancesStatus,omitempty" tf:"wait_for_instances_status,omitempty"`
}

func (*RegionInstanceGroupManagerInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerInitParameters.

func (*RegionInstanceGroupManagerInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerInstanceLifecyclePolicyInitParameters

type RegionInstanceGroupManagerInstanceLifecyclePolicyInitParameters struct {

	// ), Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
	ForceUpdateOnRepair *string `json:"forceUpdateOnRepair,omitempty" tf:"force_update_on_repair,omitempty"`
}

func (*RegionInstanceGroupManagerInstanceLifecyclePolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerInstanceLifecyclePolicyInitParameters.

func (*RegionInstanceGroupManagerInstanceLifecyclePolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerInstanceLifecyclePolicyObservation

type RegionInstanceGroupManagerInstanceLifecyclePolicyObservation struct {

	// ), Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
	ForceUpdateOnRepair *string `json:"forceUpdateOnRepair,omitempty" tf:"force_update_on_repair,omitempty"`
}

func (*RegionInstanceGroupManagerInstanceLifecyclePolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerInstanceLifecyclePolicyObservation.

func (*RegionInstanceGroupManagerInstanceLifecyclePolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerInstanceLifecyclePolicyParameters

type RegionInstanceGroupManagerInstanceLifecyclePolicyParameters struct {

	// ), Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
	// +kubebuilder:validation:Optional
	ForceUpdateOnRepair *string `json:"forceUpdateOnRepair,omitempty" tf:"force_update_on_repair,omitempty"`
}

func (*RegionInstanceGroupManagerInstanceLifecyclePolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerInstanceLifecyclePolicyParameters.

func (*RegionInstanceGroupManagerInstanceLifecyclePolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerList

type RegionInstanceGroupManagerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RegionInstanceGroupManager `json:"items"`
}

RegionInstanceGroupManagerList contains a list of RegionInstanceGroupManagers

func (*RegionInstanceGroupManagerList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerList.

func (*RegionInstanceGroupManagerList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionInstanceGroupManagerList) DeepCopyObject

func (in *RegionInstanceGroupManagerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionInstanceGroupManagerList) GetItems

GetItems of this RegionInstanceGroupManagerList.

type RegionInstanceGroupManagerNamedPortInitParameters

type RegionInstanceGroupManagerNamedPortInitParameters struct {

	// The name of the port.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The port number.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`
}

func (*RegionInstanceGroupManagerNamedPortInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerNamedPortInitParameters.

func (*RegionInstanceGroupManagerNamedPortInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerNamedPortObservation

type RegionInstanceGroupManagerNamedPortObservation struct {

	// The name of the port.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The port number.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`
}

func (*RegionInstanceGroupManagerNamedPortObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerNamedPortObservation.

func (*RegionInstanceGroupManagerNamedPortObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerNamedPortParameters

type RegionInstanceGroupManagerNamedPortParameters struct {

	// The name of the port.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The port number.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port" tf:"port,omitempty"`
}

func (*RegionInstanceGroupManagerNamedPortParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerNamedPortParameters.

func (*RegionInstanceGroupManagerNamedPortParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerObservation

type RegionInstanceGroupManagerObservation struct {

	// Properties to set on all instances in the group. After setting
	// allInstancesConfig on the group, you must update the group's instances to
	// apply the configuration.
	AllInstancesConfig *RegionInstanceGroupManagerAllInstancesConfigObservation `json:"allInstancesConfig,omitempty" tf:"all_instances_config,omitempty"`

	// The autohealing policies for this managed instance
	// group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
	AutoHealingPolicies *RegionInstanceGroupManagerAutoHealingPoliciesObservation `json:"autoHealingPolicies,omitempty" tf:"auto_healing_policies,omitempty"`

	// The base instance name to use for
	// instances in this group. The value must be a valid
	// RFC1035 name. Supported characters
	// are lowercase letters, numbers, and hyphens (-). Instances are named by
	// appending a hyphen and a random four-character string to the base instance
	// name.
	BaseInstanceName *string `json:"baseInstanceName,omitempty" tf:"base_instance_name,omitempty"`

	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional textual description of the instance
	// group manager.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the official documentation.
	DistributionPolicyTargetShape *string `json:"distributionPolicyTargetShape,omitempty" tf:"distribution_policy_target_shape,omitempty"`

	// The distribution policy for this managed instance
	// group. You can specify one or more values. For more information, see the official documentation.
	// +listType=set
	DistributionPolicyZones []*string `json:"distributionPolicyZones,omitempty" tf:"distribution_policy_zones,omitempty"`

	// The fingerprint of the instance group manager.
	Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"`

	// an identifier for the resource with format projects/{{project}}/regions/{{region}}/instanceGroupManagers/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The full URL of the instance group created by the manager.
	InstanceGroup *string `json:"instanceGroup,omitempty" tf:"instance_group,omitempty"`

	InstanceLifecyclePolicy *RegionInstanceGroupManagerInstanceLifecyclePolicyObservation `json:"instanceLifecyclePolicy,omitempty" tf:"instance_lifecycle_policy,omitempty"`

	// Pagination behavior of the listManagedInstances API
	// method for this managed instance group. Valid values are: PAGELESS, PAGINATED.
	// If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method.
	// maxResults and pageToken query parameters are ignored and all instances are returned in a single
	// response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are
	// respected.
	ListManagedInstancesResults *string `json:"listManagedInstancesResults,omitempty" tf:"list_managed_instances_results,omitempty"`

	// The name of the instance group manager. Must be 1-63
	// characters long and comply with
	// RFC1035. Supported characters
	// include lowercase letters, numbers, and hyphens.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The named port configuration. See the section below
	// for details on configuration.
	NamedPort []RegionInstanceGroupManagerNamedPortObservation `json:"namedPort,omitempty" tf:"named_port,omitempty"`

	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The region where the managed instance group resides. If not provided, the provider region is used.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The URL of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.
	StatefulDisk []RegionInstanceGroupManagerStatefulDiskObservation `json:"statefulDisk,omitempty" tf:"stateful_disk,omitempty"`

	// External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
	StatefulExternalIP []RegionInstanceGroupManagerStatefulExternalIPObservation `json:"statefulExternalIp,omitempty" tf:"stateful_external_ip,omitempty"`

	// Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
	StatefulInternalIP []RegionInstanceGroupManagerStatefulInternalIPObservation `json:"statefulInternalIp,omitempty" tf:"stateful_internal_ip,omitempty"`

	Status []RegionInstanceGroupManagerStatusObservation `json:"status,omitempty" tf:"status,omitempty"`

	// The full URL of all target pools to which new
	// instances in the group are added. Updating the target pools attribute does
	// not affect existing instances.
	// +listType=set
	TargetPools []*string `json:"targetPools,omitempty" tf:"target_pools,omitempty"`

	// The target number of running instances for this managed
	// instance group. This value will fight with autoscaler settings when set, and generally shouldn't be set
	// when using one. If a value is required, such as to specify a creation-time target size for the MIG,
	// lifecycle. Defaults to 0.
	TargetSize *float64 `json:"targetSize,omitempty" tf:"target_size,omitempty"`

	// The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API
	UpdatePolicy *RegionInstanceGroupManagerUpdatePolicyObservation `json:"updatePolicy,omitempty" tf:"update_policy,omitempty"`

	// Application versions managed by this instance group. Each
	// version deals with a specific instance template, allowing canary release scenarios.
	// Structure is documented below.
	Version []RegionInstanceGroupManagerVersionObservation `json:"version,omitempty" tf:"version,omitempty"`

	// Whether to wait for all instances to be created/updated before
	// returning.
	WaitForInstances *bool `json:"waitForInstances,omitempty" tf:"wait_for_instances,omitempty"`

	// When used with wait_for_instances it specifies the status to wait for.
	// When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is
	// set, it will wait for the version target to be reached and any per instance configs to be effective as well as all
	// instances to be stable before returning. The possible values are STABLE and UPDATED
	WaitForInstancesStatus *string `json:"waitForInstancesStatus,omitempty" tf:"wait_for_instances_status,omitempty"`
}

func (*RegionInstanceGroupManagerObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerObservation.

func (*RegionInstanceGroupManagerObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerParameters

type RegionInstanceGroupManagerParameters struct {

	// Properties to set on all instances in the group. After setting
	// allInstancesConfig on the group, you must update the group's instances to
	// apply the configuration.
	// +kubebuilder:validation:Optional
	AllInstancesConfig *RegionInstanceGroupManagerAllInstancesConfigParameters `json:"allInstancesConfig,omitempty" tf:"all_instances_config,omitempty"`

	// The autohealing policies for this managed instance
	// group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
	// +kubebuilder:validation:Optional
	AutoHealingPolicies *RegionInstanceGroupManagerAutoHealingPoliciesParameters `json:"autoHealingPolicies,omitempty" tf:"auto_healing_policies,omitempty"`

	// The base instance name to use for
	// instances in this group. The value must be a valid
	// RFC1035 name. Supported characters
	// are lowercase letters, numbers, and hyphens (-). Instances are named by
	// appending a hyphen and a random four-character string to the base instance
	// name.
	// +kubebuilder:validation:Optional
	BaseInstanceName *string `json:"baseInstanceName,omitempty" tf:"base_instance_name,omitempty"`

	// An optional textual description of the instance
	// group manager.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the official documentation.
	// +kubebuilder:validation:Optional
	DistributionPolicyTargetShape *string `json:"distributionPolicyTargetShape,omitempty" tf:"distribution_policy_target_shape,omitempty"`

	// The distribution policy for this managed instance
	// group. You can specify one or more values. For more information, see the official documentation.
	// +kubebuilder:validation:Optional
	// +listType=set
	DistributionPolicyZones []*string `json:"distributionPolicyZones,omitempty" tf:"distribution_policy_zones,omitempty"`

	// +kubebuilder:validation:Optional
	InstanceLifecyclePolicy *RegionInstanceGroupManagerInstanceLifecyclePolicyParameters `json:"instanceLifecyclePolicy,omitempty" tf:"instance_lifecycle_policy,omitempty"`

	// Pagination behavior of the listManagedInstances API
	// method for this managed instance group. Valid values are: PAGELESS, PAGINATED.
	// If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method.
	// maxResults and pageToken query parameters are ignored and all instances are returned in a single
	// response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are
	// respected.
	// +kubebuilder:validation:Optional
	ListManagedInstancesResults *string `json:"listManagedInstancesResults,omitempty" tf:"list_managed_instances_results,omitempty"`

	// The name of the instance group manager. Must be 1-63
	// characters long and comply with
	// RFC1035. Supported characters
	// include lowercase letters, numbers, and hyphens.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The named port configuration. See the section below
	// for details on configuration.
	// +kubebuilder:validation:Optional
	NamedPort []RegionInstanceGroupManagerNamedPortParameters `json:"namedPort,omitempty" tf:"named_port,omitempty"`

	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The region where the managed instance group resides. If not provided, the provider region is used.
	// +kubebuilder:validation:Optional
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.
	// +kubebuilder:validation:Optional
	StatefulDisk []RegionInstanceGroupManagerStatefulDiskParameters `json:"statefulDisk,omitempty" tf:"stateful_disk,omitempty"`

	// External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
	// +kubebuilder:validation:Optional
	StatefulExternalIP []RegionInstanceGroupManagerStatefulExternalIPParameters `json:"statefulExternalIp,omitempty" tf:"stateful_external_ip,omitempty"`

	// Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
	// +kubebuilder:validation:Optional
	StatefulInternalIP []RegionInstanceGroupManagerStatefulInternalIPParameters `json:"statefulInternalIp,omitempty" tf:"stateful_internal_ip,omitempty"`

	// The full URL of all target pools to which new
	// instances in the group are added. Updating the target pools attribute does
	// not affect existing instances.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.TargetPool
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +kubebuilder:validation:Optional
	// +listType=set
	TargetPools []*string `json:"targetPools,omitempty" tf:"target_pools,omitempty"`

	// References to TargetPool in compute to populate targetPools.
	// +kubebuilder:validation:Optional
	TargetPoolsRefs []v1.Reference `json:"targetPoolsRefs,omitempty" tf:"-"`

	// Selector for a list of TargetPool in compute to populate targetPools.
	// +kubebuilder:validation:Optional
	TargetPoolsSelector *v1.Selector `json:"targetPoolsSelector,omitempty" tf:"-"`

	// The target number of running instances for this managed
	// instance group. This value will fight with autoscaler settings when set, and generally shouldn't be set
	// when using one. If a value is required, such as to specify a creation-time target size for the MIG,
	// lifecycle. Defaults to 0.
	// +kubebuilder:validation:Optional
	TargetSize *float64 `json:"targetSize,omitempty" tf:"target_size,omitempty"`

	// The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API
	// +kubebuilder:validation:Optional
	UpdatePolicy *RegionInstanceGroupManagerUpdatePolicyParameters `json:"updatePolicy,omitempty" tf:"update_policy,omitempty"`

	// Application versions managed by this instance group. Each
	// version deals with a specific instance template, allowing canary release scenarios.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Version []RegionInstanceGroupManagerVersionParameters `json:"version,omitempty" tf:"version,omitempty"`

	// Whether to wait for all instances to be created/updated before
	// returning.
	// +kubebuilder:validation:Optional
	WaitForInstances *bool `json:"waitForInstances,omitempty" tf:"wait_for_instances,omitempty"`

	// When used with wait_for_instances it specifies the status to wait for.
	// When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is
	// set, it will wait for the version target to be reached and any per instance configs to be effective as well as all
	// instances to be stable before returning. The possible values are STABLE and UPDATED
	// +kubebuilder:validation:Optional
	WaitForInstancesStatus *string `json:"waitForInstancesStatus,omitempty" tf:"wait_for_instances_status,omitempty"`
}

func (*RegionInstanceGroupManagerParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerParameters.

func (*RegionInstanceGroupManagerParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerSpec

type RegionInstanceGroupManagerSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RegionInstanceGroupManagerParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RegionInstanceGroupManagerInitParameters `json:"initProvider,omitempty"`
}

RegionInstanceGroupManagerSpec defines the desired state of RegionInstanceGroupManager

func (*RegionInstanceGroupManagerSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerSpec.

func (*RegionInstanceGroupManagerSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatefulDiskInitParameters

type RegionInstanceGroupManagerStatefulDiskInitParameters struct {

	// , A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The device name of the disk to be attached.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`
}

func (*RegionInstanceGroupManagerStatefulDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatefulDiskInitParameters.

func (*RegionInstanceGroupManagerStatefulDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatefulDiskObservation

type RegionInstanceGroupManagerStatefulDiskObservation struct {

	// , A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The device name of the disk to be attached.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`
}

func (*RegionInstanceGroupManagerStatefulDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatefulDiskObservation.

func (*RegionInstanceGroupManagerStatefulDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatefulDiskParameters

type RegionInstanceGroupManagerStatefulDiskParameters struct {

	// , A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER.
	// +kubebuilder:validation:Optional
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The device name of the disk to be attached.
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName" tf:"device_name,omitempty"`
}

func (*RegionInstanceGroupManagerStatefulDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatefulDiskParameters.

func (*RegionInstanceGroupManagerStatefulDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatefulExternalIPInitParameters

type RegionInstanceGroupManagerStatefulExternalIPInitParameters struct {

	// , A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the external ip when the VM is permanently deleted from the instance group.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The network interface name of the external Ip. Possible value: nic0.
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*RegionInstanceGroupManagerStatefulExternalIPInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatefulExternalIPInitParameters.

func (*RegionInstanceGroupManagerStatefulExternalIPInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatefulExternalIPObservation

type RegionInstanceGroupManagerStatefulExternalIPObservation struct {

	// , A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the external ip when the VM is permanently deleted from the instance group.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The network interface name of the external Ip. Possible value: nic0.
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*RegionInstanceGroupManagerStatefulExternalIPObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatefulExternalIPObservation.

func (*RegionInstanceGroupManagerStatefulExternalIPObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatefulExternalIPParameters

type RegionInstanceGroupManagerStatefulExternalIPParameters struct {

	// , A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the external ip when the VM is permanently deleted from the instance group.
	// +kubebuilder:validation:Optional
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The network interface name of the external Ip. Possible value: nic0.
	// +kubebuilder:validation:Optional
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*RegionInstanceGroupManagerStatefulExternalIPParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatefulExternalIPParameters.

func (*RegionInstanceGroupManagerStatefulExternalIPParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatefulInternalIPInitParameters

type RegionInstanceGroupManagerStatefulInternalIPInitParameters struct {

	// , A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the internal ip when the VM is permanently deleted from the instance group.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The network interface name of the internal Ip. Possible value: nic0.
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*RegionInstanceGroupManagerStatefulInternalIPInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatefulInternalIPInitParameters.

func (*RegionInstanceGroupManagerStatefulInternalIPInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatefulInternalIPObservation

type RegionInstanceGroupManagerStatefulInternalIPObservation struct {

	// , A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the internal ip when the VM is permanently deleted from the instance group.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The network interface name of the internal Ip. Possible value: nic0.
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*RegionInstanceGroupManagerStatefulInternalIPObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatefulInternalIPObservation.

func (*RegionInstanceGroupManagerStatefulInternalIPObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatefulInternalIPParameters

type RegionInstanceGroupManagerStatefulInternalIPParameters struct {

	// , A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the internal ip when the VM is permanently deleted from the instance group.
	// +kubebuilder:validation:Optional
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The network interface name of the internal Ip. Possible value: nic0.
	// +kubebuilder:validation:Optional
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*RegionInstanceGroupManagerStatefulInternalIPParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatefulInternalIPParameters.

func (*RegionInstanceGroupManagerStatefulInternalIPParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatus

type RegionInstanceGroupManagerStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RegionInstanceGroupManagerObservation `json:"atProvider,omitempty"`
}

RegionInstanceGroupManagerStatus defines the observed state of RegionInstanceGroupManager.

func (*RegionInstanceGroupManagerStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatus.

func (*RegionInstanceGroupManagerStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatusAllInstancesConfigInitParameters

type RegionInstanceGroupManagerStatusAllInstancesConfigInitParameters struct {
}

func (*RegionInstanceGroupManagerStatusAllInstancesConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatusAllInstancesConfigInitParameters.

func (*RegionInstanceGroupManagerStatusAllInstancesConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatusAllInstancesConfigObservation

type RegionInstanceGroupManagerStatusAllInstancesConfigObservation struct {
	Effective *bool `json:"effective,omitempty" tf:"effective,omitempty"`
}

func (*RegionInstanceGroupManagerStatusAllInstancesConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatusAllInstancesConfigObservation.

func (*RegionInstanceGroupManagerStatusAllInstancesConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatusAllInstancesConfigParameters

type RegionInstanceGroupManagerStatusAllInstancesConfigParameters struct {
}

func (*RegionInstanceGroupManagerStatusAllInstancesConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatusAllInstancesConfigParameters.

func (*RegionInstanceGroupManagerStatusAllInstancesConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatusInitParameters

type RegionInstanceGroupManagerStatusInitParameters struct {
}

func (*RegionInstanceGroupManagerStatusInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatusInitParameters.

func (*RegionInstanceGroupManagerStatusInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatusObservation

type RegionInstanceGroupManagerStatusObservation struct {

	// Properties to set on all instances in the group. After setting
	// allInstancesConfig on the group, you must update the group's instances to
	// apply the configuration.
	AllInstancesConfig []RegionInstanceGroupManagerStatusAllInstancesConfigObservation `json:"allInstancesConfig,omitempty" tf:"all_instances_config,omitempty"`

	// A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.
	IsStable *bool `json:"isStable,omitempty" tf:"is_stable,omitempty"`

	// Stateful status of the given Instance Group Manager.
	Stateful []StatusStatefulObservation `json:"stateful,omitempty" tf:"stateful,omitempty"`

	// A status of consistency of Instances' versions with their target version specified by version field on Instance Group Manager.
	VersionTarget []StatusVersionTargetObservation `json:"versionTarget,omitempty" tf:"version_target,omitempty"`
}

func (*RegionInstanceGroupManagerStatusObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatusObservation.

func (*RegionInstanceGroupManagerStatusObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerStatusParameters

type RegionInstanceGroupManagerStatusParameters struct {
}

func (*RegionInstanceGroupManagerStatusParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatusParameters.

func (*RegionInstanceGroupManagerStatusParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerUpdatePolicyInitParameters

type RegionInstanceGroupManagerUpdatePolicyInitParameters struct {

	// - The instance redistribution policy for regional managed instance groups. Valid values are: "PROACTIVE", "NONE". If PROACTIVE (default), the group attempts to maintain an even distribution of VM instances across zones in the region. If NONE, proactive redistribution is disabled.
	InstanceRedistributionType *string `json:"instanceRedistributionType,omitempty" tf:"instance_redistribution_type,omitempty"`

	// , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with max_surge_percent. It has to be either 0 or at least equal to the number of zones.  If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
	MaxSurgeFixed *float64 `json:"maxSurgeFixed,omitempty" tf:"max_surge_fixed,omitempty"`

	// , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with max_surge_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
	MaxSurgePercent *float64 `json:"maxSurgePercent,omitempty" tf:"max_surge_percent,omitempty"`

	// , The maximum number of instances that can be unavailable during the update process. Conflicts with max_unavailable_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
	MaxUnavailableFixed *float64 `json:"maxUnavailableFixed,omitempty" tf:"max_unavailable_fixed,omitempty"`

	// , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
	MaxUnavailablePercent *float64 `json:"maxUnavailablePercent,omitempty" tf:"max_unavailable_percent,omitempty"`

	// - Minimal action to be taken on an instance. You can specify either REFRESH to update without stopping instances, RESTART to restart existing instances or REPLACE to delete and create new instances from the target template. If you specify a REFRESH, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action.
	MinimalAction *string `json:"minimalAction,omitempty" tf:"minimal_action,omitempty"`

	// - Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
	MostDisruptiveAllowedAction *string `json:"mostDisruptiveAllowedAction,omitempty" tf:"most_disruptive_allowed_action,omitempty"`

	// , The instance replacement method for managed instance groups. Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved.  You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0.
	ReplacementMethod *string `json:"replacementMethod,omitempty" tf:"replacement_method,omitempty"`

	// - The type of update process. You can specify either PROACTIVE so that the instance group manager proactively executes actions in order to bring instances to their target versions or OPPORTUNISTIC so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*RegionInstanceGroupManagerUpdatePolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerUpdatePolicyInitParameters.

func (*RegionInstanceGroupManagerUpdatePolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerUpdatePolicyObservation

type RegionInstanceGroupManagerUpdatePolicyObservation struct {

	// - The instance redistribution policy for regional managed instance groups. Valid values are: "PROACTIVE", "NONE". If PROACTIVE (default), the group attempts to maintain an even distribution of VM instances across zones in the region. If NONE, proactive redistribution is disabled.
	InstanceRedistributionType *string `json:"instanceRedistributionType,omitempty" tf:"instance_redistribution_type,omitempty"`

	// , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with max_surge_percent. It has to be either 0 or at least equal to the number of zones.  If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
	MaxSurgeFixed *float64 `json:"maxSurgeFixed,omitempty" tf:"max_surge_fixed,omitempty"`

	// , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with max_surge_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
	MaxSurgePercent *float64 `json:"maxSurgePercent,omitempty" tf:"max_surge_percent,omitempty"`

	// , The maximum number of instances that can be unavailable during the update process. Conflicts with max_unavailable_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
	MaxUnavailableFixed *float64 `json:"maxUnavailableFixed,omitempty" tf:"max_unavailable_fixed,omitempty"`

	// , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
	MaxUnavailablePercent *float64 `json:"maxUnavailablePercent,omitempty" tf:"max_unavailable_percent,omitempty"`

	// - Minimal action to be taken on an instance. You can specify either REFRESH to update without stopping instances, RESTART to restart existing instances or REPLACE to delete and create new instances from the target template. If you specify a REFRESH, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action.
	MinimalAction *string `json:"minimalAction,omitempty" tf:"minimal_action,omitempty"`

	// - Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
	MostDisruptiveAllowedAction *string `json:"mostDisruptiveAllowedAction,omitempty" tf:"most_disruptive_allowed_action,omitempty"`

	// , The instance replacement method for managed instance groups. Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved.  You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0.
	ReplacementMethod *string `json:"replacementMethod,omitempty" tf:"replacement_method,omitempty"`

	// - The type of update process. You can specify either PROACTIVE so that the instance group manager proactively executes actions in order to bring instances to their target versions or OPPORTUNISTIC so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*RegionInstanceGroupManagerUpdatePolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerUpdatePolicyObservation.

func (*RegionInstanceGroupManagerUpdatePolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerUpdatePolicyParameters

type RegionInstanceGroupManagerUpdatePolicyParameters struct {

	// - The instance redistribution policy for regional managed instance groups. Valid values are: "PROACTIVE", "NONE". If PROACTIVE (default), the group attempts to maintain an even distribution of VM instances across zones in the region. If NONE, proactive redistribution is disabled.
	// +kubebuilder:validation:Optional
	InstanceRedistributionType *string `json:"instanceRedistributionType,omitempty" tf:"instance_redistribution_type,omitempty"`

	// , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with max_surge_percent. It has to be either 0 or at least equal to the number of zones.  If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
	// +kubebuilder:validation:Optional
	MaxSurgeFixed *float64 `json:"maxSurgeFixed,omitempty" tf:"max_surge_fixed,omitempty"`

	// , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with max_surge_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
	// +kubebuilder:validation:Optional
	MaxSurgePercent *float64 `json:"maxSurgePercent,omitempty" tf:"max_surge_percent,omitempty"`

	// , The maximum number of instances that can be unavailable during the update process. Conflicts with max_unavailable_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
	// +kubebuilder:validation:Optional
	MaxUnavailableFixed *float64 `json:"maxUnavailableFixed,omitempty" tf:"max_unavailable_fixed,omitempty"`

	// , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
	// +kubebuilder:validation:Optional
	MaxUnavailablePercent *float64 `json:"maxUnavailablePercent,omitempty" tf:"max_unavailable_percent,omitempty"`

	// - Minimal action to be taken on an instance. You can specify either REFRESH to update without stopping instances, RESTART to restart existing instances or REPLACE to delete and create new instances from the target template. If you specify a REFRESH, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action.
	// +kubebuilder:validation:Optional
	MinimalAction *string `json:"minimalAction" tf:"minimal_action,omitempty"`

	// - Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
	// +kubebuilder:validation:Optional
	MostDisruptiveAllowedAction *string `json:"mostDisruptiveAllowedAction,omitempty" tf:"most_disruptive_allowed_action,omitempty"`

	// , The instance replacement method for managed instance groups. Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved.  You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0.
	// +kubebuilder:validation:Optional
	ReplacementMethod *string `json:"replacementMethod,omitempty" tf:"replacement_method,omitempty"`

	// - The type of update process. You can specify either PROACTIVE so that the instance group manager proactively executes actions in order to bring instances to their target versions or OPPORTUNISTIC so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls).
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*RegionInstanceGroupManagerUpdatePolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerUpdatePolicyParameters.

func (*RegionInstanceGroupManagerUpdatePolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerVersionInitParameters

type RegionInstanceGroupManagerVersionInitParameters struct {

	// - The full URL to an instance template from which all new instances of this version will be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.InstanceTemplate
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID()
	InstanceTemplate *string `json:"instanceTemplate,omitempty" tf:"instance_template,omitempty"`

	// Reference to a InstanceTemplate in compute to populate instanceTemplate.
	// +kubebuilder:validation:Optional
	InstanceTemplateRef *v1.Reference `json:"instanceTemplateRef,omitempty" tf:"-"`

	// Selector for a InstanceTemplate in compute to populate instanceTemplate.
	// +kubebuilder:validation:Optional
	InstanceTemplateSelector *v1.Selector `json:"instanceTemplateSelector,omitempty" tf:"-"`

	// - Version name.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// - The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.
	TargetSize *VersionTargetSizeInitParameters `json:"targetSize,omitempty" tf:"target_size,omitempty"`
}

func (*RegionInstanceGroupManagerVersionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerVersionInitParameters.

func (*RegionInstanceGroupManagerVersionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerVersionObservation

type RegionInstanceGroupManagerVersionObservation struct {

	// - The full URL to an instance template from which all new instances of this version will be created.
	InstanceTemplate *string `json:"instanceTemplate,omitempty" tf:"instance_template,omitempty"`

	// - Version name.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// - The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.
	TargetSize *VersionTargetSizeObservation `json:"targetSize,omitempty" tf:"target_size,omitempty"`
}

func (*RegionInstanceGroupManagerVersionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerVersionObservation.

func (*RegionInstanceGroupManagerVersionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionInstanceGroupManagerVersionParameters

type RegionInstanceGroupManagerVersionParameters struct {

	// - The full URL to an instance template from which all new instances of this version will be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.InstanceTemplate
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID()
	// +kubebuilder:validation:Optional
	InstanceTemplate *string `json:"instanceTemplate,omitempty" tf:"instance_template,omitempty"`

	// Reference to a InstanceTemplate in compute to populate instanceTemplate.
	// +kubebuilder:validation:Optional
	InstanceTemplateRef *v1.Reference `json:"instanceTemplateRef,omitempty" tf:"-"`

	// Selector for a InstanceTemplate in compute to populate instanceTemplate.
	// +kubebuilder:validation:Optional
	InstanceTemplateSelector *v1.Selector `json:"instanceTemplateSelector,omitempty" tf:"-"`

	// - Version name.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// - The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.
	// +kubebuilder:validation:Optional
	TargetSize *VersionTargetSizeParameters `json:"targetSize,omitempty" tf:"target_size,omitempty"`
}

func (*RegionInstanceGroupManagerVersionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerVersionParameters.

func (*RegionInstanceGroupManagerVersionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionNetworkEndpointGroup

type RegionNetworkEndpointGroup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              RegionNetworkEndpointGroupSpec   `json:"spec"`
	Status            RegionNetworkEndpointGroupStatus `json:"status,omitempty"`
}

RegionNetworkEndpointGroup is the Schema for the RegionNetworkEndpointGroups API. A regional NEG that can support Serverless Products and proxying traffic to external backends. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*RegionNetworkEndpointGroup) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionNetworkEndpointGroup.

func (*RegionNetworkEndpointGroup) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionNetworkEndpointGroup) DeepCopyObject

func (in *RegionNetworkEndpointGroup) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionNetworkEndpointGroup) GetCondition

GetCondition of this RegionNetworkEndpointGroup.

func (*RegionNetworkEndpointGroup) GetConnectionDetailsMapping

func (tr *RegionNetworkEndpointGroup) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this RegionNetworkEndpointGroup

func (*RegionNetworkEndpointGroup) GetDeletionPolicy

func (mg *RegionNetworkEndpointGroup) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this RegionNetworkEndpointGroup.

func (*RegionNetworkEndpointGroup) GetID

func (tr *RegionNetworkEndpointGroup) GetID() string

GetID returns ID of underlying Terraform resource of this RegionNetworkEndpointGroup

func (*RegionNetworkEndpointGroup) GetInitParameters

func (tr *RegionNetworkEndpointGroup) GetInitParameters() (map[string]any, error)

GetInitParameters of this RegionNetworkEndpointGroup

func (*RegionNetworkEndpointGroup) GetManagementPolicies

func (mg *RegionNetworkEndpointGroup) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this RegionNetworkEndpointGroup.

func (*RegionNetworkEndpointGroup) GetMergedParameters

func (tr *RegionNetworkEndpointGroup) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this RegionNetworkEndpointGroup

func (*RegionNetworkEndpointGroup) GetObservation

func (tr *RegionNetworkEndpointGroup) GetObservation() (map[string]any, error)

GetObservation of this RegionNetworkEndpointGroup

func (*RegionNetworkEndpointGroup) GetParameters

func (tr *RegionNetworkEndpointGroup) GetParameters() (map[string]any, error)

GetParameters of this RegionNetworkEndpointGroup

func (*RegionNetworkEndpointGroup) GetProviderConfigReference

func (mg *RegionNetworkEndpointGroup) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this RegionNetworkEndpointGroup.

func (*RegionNetworkEndpointGroup) GetPublishConnectionDetailsTo

func (mg *RegionNetworkEndpointGroup) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this RegionNetworkEndpointGroup.

func (*RegionNetworkEndpointGroup) GetTerraformResourceType

func (mg *RegionNetworkEndpointGroup) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this RegionNetworkEndpointGroup

func (*RegionNetworkEndpointGroup) GetTerraformSchemaVersion

func (tr *RegionNetworkEndpointGroup) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*RegionNetworkEndpointGroup) GetWriteConnectionSecretToReference

func (mg *RegionNetworkEndpointGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this RegionNetworkEndpointGroup.

func (*RegionNetworkEndpointGroup) Hub

func (tr *RegionNetworkEndpointGroup) Hub()

Hub marks this type as a conversion hub.

func (*RegionNetworkEndpointGroup) LateInitialize

func (tr *RegionNetworkEndpointGroup) LateInitialize(attrs []byte) (bool, error)

LateInitialize this RegionNetworkEndpointGroup using its observed tfState. returns True if there are any spec changes for the resource.

func (*RegionNetworkEndpointGroup) ResolveReferences

func (mg *RegionNetworkEndpointGroup) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this RegionNetworkEndpointGroup.

func (*RegionNetworkEndpointGroup) SetConditions

func (mg *RegionNetworkEndpointGroup) SetConditions(c ...xpv1.Condition)

SetConditions of this RegionNetworkEndpointGroup.

func (*RegionNetworkEndpointGroup) SetDeletionPolicy

func (mg *RegionNetworkEndpointGroup) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this RegionNetworkEndpointGroup.

func (*RegionNetworkEndpointGroup) SetManagementPolicies

func (mg *RegionNetworkEndpointGroup) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this RegionNetworkEndpointGroup.

func (*RegionNetworkEndpointGroup) SetObservation

func (tr *RegionNetworkEndpointGroup) SetObservation(obs map[string]any) error

SetObservation for this RegionNetworkEndpointGroup

func (*RegionNetworkEndpointGroup) SetParameters

func (tr *RegionNetworkEndpointGroup) SetParameters(params map[string]any) error

SetParameters for this RegionNetworkEndpointGroup

func (*RegionNetworkEndpointGroup) SetProviderConfigReference

func (mg *RegionNetworkEndpointGroup) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this RegionNetworkEndpointGroup.

func (*RegionNetworkEndpointGroup) SetPublishConnectionDetailsTo

func (mg *RegionNetworkEndpointGroup) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this RegionNetworkEndpointGroup.

func (*RegionNetworkEndpointGroup) SetWriteConnectionSecretToReference

func (mg *RegionNetworkEndpointGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this RegionNetworkEndpointGroup.

type RegionNetworkEndpointGroupInitParameters

type RegionNetworkEndpointGroupInitParameters struct {

	// This field is only used for SERVERLESS NEGs.
	// Only one of cloud_run, app_engine, cloud_function or serverless_deployment may be set.
	// Structure is documented below.
	AppEngine *AppEngineInitParameters `json:"appEngine,omitempty" tf:"app_engine,omitempty"`

	// This field is only used for SERVERLESS NEGs.
	// Only one of cloud_run, app_engine, cloud_function or serverless_deployment may be set.
	// Structure is documented below.
	CloudFunction *CloudFunctionInitParameters `json:"cloudFunction,omitempty" tf:"cloud_function,omitempty"`

	// This field is only used for SERVERLESS NEGs.
	// Only one of cloud_run, app_engine, cloud_function or serverless_deployment may be set.
	// Structure is documented below.
	CloudRun *CloudRunInitParameters `json:"cloudRun,omitempty" tf:"cloud_run,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// This field is only used for PSC and INTERNET NEGs.
	// The URL of the network to which all network endpoints in the NEG belong. Uses
	// "default" project network if unspecified.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("self_link",true)
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Type of network endpoints in this network endpoint group. Defaults to SERVERLESS.
	// Default value is SERVERLESS.
	// Possible values are: SERVERLESS, PRIVATE_SERVICE_CONNECT, INTERNET_IP_PORT, INTERNET_FQDN_PORT.
	NetworkEndpointType *string `json:"networkEndpointType,omitempty" tf:"network_endpoint_type,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// This field is only used for PSC and INTERNET NEGs.
	// The target service url used to set up private service connection to
	// a Google API or a PSC Producer Service Attachment.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.ServiceAttachment
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("self_link",true)
	PscTargetService *string `json:"pscTargetService,omitempty" tf:"psc_target_service,omitempty"`

	// Reference to a ServiceAttachment in compute to populate pscTargetService.
	// +kubebuilder:validation:Optional
	PscTargetServiceRef *v1.Reference `json:"pscTargetServiceRef,omitempty" tf:"-"`

	// Selector for a ServiceAttachment in compute to populate pscTargetService.
	// +kubebuilder:validation:Optional
	PscTargetServiceSelector *v1.Selector `json:"pscTargetServiceSelector,omitempty" tf:"-"`

	// This field is only used for PSC NEGs.
	// Optional URL of the subnetwork to which all network endpoints in the NEG belong.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("self_link",true)
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// Reference to a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"`
}

func (*RegionNetworkEndpointGroupInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionNetworkEndpointGroupInitParameters.

func (*RegionNetworkEndpointGroupInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionNetworkEndpointGroupList

type RegionNetworkEndpointGroupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RegionNetworkEndpointGroup `json:"items"`
}

RegionNetworkEndpointGroupList contains a list of RegionNetworkEndpointGroups

func (*RegionNetworkEndpointGroupList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionNetworkEndpointGroupList.

func (*RegionNetworkEndpointGroupList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionNetworkEndpointGroupList) DeepCopyObject

func (in *RegionNetworkEndpointGroupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionNetworkEndpointGroupList) GetItems

GetItems of this RegionNetworkEndpointGroupList.

type RegionNetworkEndpointGroupObservation

type RegionNetworkEndpointGroupObservation struct {

	// This field is only used for SERVERLESS NEGs.
	// Only one of cloud_run, app_engine, cloud_function or serverless_deployment may be set.
	// Structure is documented below.
	AppEngine *AppEngineObservation `json:"appEngine,omitempty" tf:"app_engine,omitempty"`

	// This field is only used for SERVERLESS NEGs.
	// Only one of cloud_run, app_engine, cloud_function or serverless_deployment may be set.
	// Structure is documented below.
	CloudFunction *CloudFunctionObservation `json:"cloudFunction,omitempty" tf:"cloud_function,omitempty"`

	// This field is only used for SERVERLESS NEGs.
	// Only one of cloud_run, app_engine, cloud_function or serverless_deployment may be set.
	// Structure is documented below.
	CloudRun *CloudRunObservation `json:"cloudRun,omitempty" tf:"cloud_run,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// an identifier for the resource with format projects/{{project}}/regions/{{region}}/networkEndpointGroups/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// This field is only used for PSC and INTERNET NEGs.
	// The URL of the network to which all network endpoints in the NEG belong. Uses
	// "default" project network if unspecified.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Type of network endpoints in this network endpoint group. Defaults to SERVERLESS.
	// Default value is SERVERLESS.
	// Possible values are: SERVERLESS, PRIVATE_SERVICE_CONNECT, INTERNET_IP_PORT, INTERNET_FQDN_PORT.
	NetworkEndpointType *string `json:"networkEndpointType,omitempty" tf:"network_endpoint_type,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// This field is only used for PSC and INTERNET NEGs.
	// The target service url used to set up private service connection to
	// a Google API or a PSC Producer Service Attachment.
	PscTargetService *string `json:"pscTargetService,omitempty" tf:"psc_target_service,omitempty"`

	// A reference to the region where the regional NEGs reside.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// This field is only used for PSC NEGs.
	// Optional URL of the subnetwork to which all network endpoints in the NEG belong.
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`
}

func (*RegionNetworkEndpointGroupObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionNetworkEndpointGroupObservation.

func (*RegionNetworkEndpointGroupObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionNetworkEndpointGroupParameters

type RegionNetworkEndpointGroupParameters struct {

	// This field is only used for SERVERLESS NEGs.
	// Only one of cloud_run, app_engine, cloud_function or serverless_deployment may be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	AppEngine *AppEngineParameters `json:"appEngine,omitempty" tf:"app_engine,omitempty"`

	// This field is only used for SERVERLESS NEGs.
	// Only one of cloud_run, app_engine, cloud_function or serverless_deployment may be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CloudFunction *CloudFunctionParameters `json:"cloudFunction,omitempty" tf:"cloud_function,omitempty"`

	// This field is only used for SERVERLESS NEGs.
	// Only one of cloud_run, app_engine, cloud_function or serverless_deployment may be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CloudRun *CloudRunParameters `json:"cloudRun,omitempty" tf:"cloud_run,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// This field is only used for PSC and INTERNET NEGs.
	// The URL of the network to which all network endpoints in the NEG belong. Uses
	// "default" project network if unspecified.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("self_link",true)
	// +kubebuilder:validation:Optional
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Type of network endpoints in this network endpoint group. Defaults to SERVERLESS.
	// Default value is SERVERLESS.
	// Possible values are: SERVERLESS, PRIVATE_SERVICE_CONNECT, INTERNET_IP_PORT, INTERNET_FQDN_PORT.
	// +kubebuilder:validation:Optional
	NetworkEndpointType *string `json:"networkEndpointType,omitempty" tf:"network_endpoint_type,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// This field is only used for PSC and INTERNET NEGs.
	// The target service url used to set up private service connection to
	// a Google API or a PSC Producer Service Attachment.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.ServiceAttachment
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("self_link",true)
	// +kubebuilder:validation:Optional
	PscTargetService *string `json:"pscTargetService,omitempty" tf:"psc_target_service,omitempty"`

	// Reference to a ServiceAttachment in compute to populate pscTargetService.
	// +kubebuilder:validation:Optional
	PscTargetServiceRef *v1.Reference `json:"pscTargetServiceRef,omitempty" tf:"-"`

	// Selector for a ServiceAttachment in compute to populate pscTargetService.
	// +kubebuilder:validation:Optional
	PscTargetServiceSelector *v1.Selector `json:"pscTargetServiceSelector,omitempty" tf:"-"`

	// A reference to the region where the regional NEGs reside.
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"region,omitempty"`

	// This field is only used for PSC NEGs.
	// Optional URL of the subnetwork to which all network endpoints in the NEG belong.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("self_link",true)
	// +kubebuilder:validation:Optional
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// Reference to a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"`
}

func (*RegionNetworkEndpointGroupParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionNetworkEndpointGroupParameters.

func (*RegionNetworkEndpointGroupParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionNetworkEndpointGroupSpec

type RegionNetworkEndpointGroupSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RegionNetworkEndpointGroupParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RegionNetworkEndpointGroupInitParameters `json:"initProvider,omitempty"`
}

RegionNetworkEndpointGroupSpec defines the desired state of RegionNetworkEndpointGroup

func (*RegionNetworkEndpointGroupSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionNetworkEndpointGroupSpec.

func (*RegionNetworkEndpointGroupSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionNetworkEndpointGroupStatus

type RegionNetworkEndpointGroupStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RegionNetworkEndpointGroupObservation `json:"atProvider,omitempty"`
}

RegionNetworkEndpointGroupStatus defines the observed state of RegionNetworkEndpointGroup.

func (*RegionNetworkEndpointGroupStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionNetworkEndpointGroupStatus.

func (*RegionNetworkEndpointGroupStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionPerInstanceConfig

type RegionPerInstanceConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   RegionPerInstanceConfigSpec   `json:"spec"`
	Status RegionPerInstanceConfigStatus `json:"status,omitempty"`
}

RegionPerInstanceConfig is the Schema for the RegionPerInstanceConfigs API. A config defined for a single managed instance that belongs to an instance group manager. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*RegionPerInstanceConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfig.

func (*RegionPerInstanceConfig) DeepCopyInto

func (in *RegionPerInstanceConfig) DeepCopyInto(out *RegionPerInstanceConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionPerInstanceConfig) DeepCopyObject

func (in *RegionPerInstanceConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionPerInstanceConfig) GetCondition

GetCondition of this RegionPerInstanceConfig.

func (*RegionPerInstanceConfig) GetConnectionDetailsMapping

func (tr *RegionPerInstanceConfig) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this RegionPerInstanceConfig

func (*RegionPerInstanceConfig) GetDeletionPolicy

func (mg *RegionPerInstanceConfig) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this RegionPerInstanceConfig.

func (*RegionPerInstanceConfig) GetID

func (tr *RegionPerInstanceConfig) GetID() string

GetID returns ID of underlying Terraform resource of this RegionPerInstanceConfig

func (*RegionPerInstanceConfig) GetInitParameters

func (tr *RegionPerInstanceConfig) GetInitParameters() (map[string]any, error)

GetInitParameters of this RegionPerInstanceConfig

func (*RegionPerInstanceConfig) GetManagementPolicies

func (mg *RegionPerInstanceConfig) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this RegionPerInstanceConfig.

func (*RegionPerInstanceConfig) GetMergedParameters

func (tr *RegionPerInstanceConfig) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this RegionPerInstanceConfig

func (*RegionPerInstanceConfig) GetObservation

func (tr *RegionPerInstanceConfig) GetObservation() (map[string]any, error)

GetObservation of this RegionPerInstanceConfig

func (*RegionPerInstanceConfig) GetParameters

func (tr *RegionPerInstanceConfig) GetParameters() (map[string]any, error)

GetParameters of this RegionPerInstanceConfig

func (*RegionPerInstanceConfig) GetProviderConfigReference

func (mg *RegionPerInstanceConfig) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this RegionPerInstanceConfig.

func (*RegionPerInstanceConfig) GetPublishConnectionDetailsTo

func (mg *RegionPerInstanceConfig) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this RegionPerInstanceConfig.

func (*RegionPerInstanceConfig) GetTerraformResourceType

func (mg *RegionPerInstanceConfig) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this RegionPerInstanceConfig

func (*RegionPerInstanceConfig) GetTerraformSchemaVersion

func (tr *RegionPerInstanceConfig) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*RegionPerInstanceConfig) GetWriteConnectionSecretToReference

func (mg *RegionPerInstanceConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this RegionPerInstanceConfig.

func (*RegionPerInstanceConfig) Hub

func (tr *RegionPerInstanceConfig) Hub()

Hub marks this type as a conversion hub.

func (*RegionPerInstanceConfig) LateInitialize

func (tr *RegionPerInstanceConfig) LateInitialize(attrs []byte) (bool, error)

LateInitialize this RegionPerInstanceConfig using its observed tfState. returns True if there are any spec changes for the resource.

func (*RegionPerInstanceConfig) ResolveReferences

func (mg *RegionPerInstanceConfig) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this RegionPerInstanceConfig.

func (*RegionPerInstanceConfig) SetConditions

func (mg *RegionPerInstanceConfig) SetConditions(c ...xpv1.Condition)

SetConditions of this RegionPerInstanceConfig.

func (*RegionPerInstanceConfig) SetDeletionPolicy

func (mg *RegionPerInstanceConfig) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this RegionPerInstanceConfig.

func (*RegionPerInstanceConfig) SetManagementPolicies

func (mg *RegionPerInstanceConfig) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this RegionPerInstanceConfig.

func (*RegionPerInstanceConfig) SetObservation

func (tr *RegionPerInstanceConfig) SetObservation(obs map[string]any) error

SetObservation for this RegionPerInstanceConfig

func (*RegionPerInstanceConfig) SetParameters

func (tr *RegionPerInstanceConfig) SetParameters(params map[string]any) error

SetParameters for this RegionPerInstanceConfig

func (*RegionPerInstanceConfig) SetProviderConfigReference

func (mg *RegionPerInstanceConfig) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this RegionPerInstanceConfig.

func (*RegionPerInstanceConfig) SetPublishConnectionDetailsTo

func (mg *RegionPerInstanceConfig) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this RegionPerInstanceConfig.

func (*RegionPerInstanceConfig) SetWriteConnectionSecretToReference

func (mg *RegionPerInstanceConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this RegionPerInstanceConfig.

type RegionPerInstanceConfigInitParameters

type RegionPerInstanceConfigInitParameters struct {

	// The minimal action to perform on the instance during an update.
	// Default is NONE. Possible values are:
	MinimalAction *string `json:"minimalAction,omitempty" tf:"minimal_action,omitempty"`

	// The most disruptive action to perform on the instance during an update.
	// Default is REPLACE. Possible values are:
	MostDisruptiveAllowedAction *string `json:"mostDisruptiveAllowedAction,omitempty" tf:"most_disruptive_allowed_action,omitempty"`

	// The name for this per-instance config and its corresponding instance.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The preserved state for this instance.
	// Structure is documented below.
	PreservedState *RegionPerInstanceConfigPreservedStateInitParameters `json:"preservedState,omitempty" tf:"preserved_state,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Region where the containing instance group manager is located
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionInstanceGroupManager
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("region",false)
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The region instance group manager this instance config is part of.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionInstanceGroupManager
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false)
	RegionInstanceGroupManager *string `json:"regionInstanceGroupManager,omitempty" tf:"region_instance_group_manager,omitempty"`

	// Reference to a RegionInstanceGroupManager in compute to populate regionInstanceGroupManager.
	// +kubebuilder:validation:Optional
	RegionInstanceGroupManagerRef *v1.Reference `json:"regionInstanceGroupManagerRef,omitempty" tf:"-"`

	// Selector for a RegionInstanceGroupManager in compute to populate regionInstanceGroupManager.
	// +kubebuilder:validation:Optional
	RegionInstanceGroupManagerSelector *v1.Selector `json:"regionInstanceGroupManagerSelector,omitempty" tf:"-"`

	// Reference to a RegionInstanceGroupManager in compute to populate region.
	// +kubebuilder:validation:Optional
	RegionRef *v1.Reference `json:"regionRef,omitempty" tf:"-"`

	// Selector for a RegionInstanceGroupManager in compute to populate region.
	// +kubebuilder:validation:Optional
	RegionSelector *v1.Selector `json:"regionSelector,omitempty" tf:"-"`

	// When true, deleting this config will immediately remove the underlying instance.
	// When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
	RemoveInstanceOnDestroy *bool `json:"removeInstanceOnDestroy,omitempty" tf:"remove_instance_on_destroy,omitempty"`

	// When true, deleting this config will immediately remove any specified state from the underlying instance.
	// When false, deleting this config will not immediately remove any state from the underlying instance.
	// State will be removed on the next instance recreation or update.
	RemoveInstanceStateOnDestroy *bool `json:"removeInstanceStateOnDestroy,omitempty" tf:"remove_instance_state_on_destroy,omitempty"`
}

func (*RegionPerInstanceConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigInitParameters.

func (*RegionPerInstanceConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionPerInstanceConfigList

type RegionPerInstanceConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RegionPerInstanceConfig `json:"items"`
}

RegionPerInstanceConfigList contains a list of RegionPerInstanceConfigs

func (*RegionPerInstanceConfigList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigList.

func (*RegionPerInstanceConfigList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionPerInstanceConfigList) DeepCopyObject

func (in *RegionPerInstanceConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionPerInstanceConfigList) GetItems

GetItems of this RegionPerInstanceConfigList.

type RegionPerInstanceConfigObservation

type RegionPerInstanceConfigObservation struct {

	// an identifier for the resource with format {{project}}/{{region}}/{{region_instance_group_manager}}/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The minimal action to perform on the instance during an update.
	// Default is NONE. Possible values are:
	MinimalAction *string `json:"minimalAction,omitempty" tf:"minimal_action,omitempty"`

	// The most disruptive action to perform on the instance during an update.
	// Default is REPLACE. Possible values are:
	MostDisruptiveAllowedAction *string `json:"mostDisruptiveAllowedAction,omitempty" tf:"most_disruptive_allowed_action,omitempty"`

	// The name for this per-instance config and its corresponding instance.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The preserved state for this instance.
	// Structure is documented below.
	PreservedState *RegionPerInstanceConfigPreservedStateObservation `json:"preservedState,omitempty" tf:"preserved_state,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Region where the containing instance group manager is located
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The region instance group manager this instance config is part of.
	RegionInstanceGroupManager *string `json:"regionInstanceGroupManager,omitempty" tf:"region_instance_group_manager,omitempty"`

	// When true, deleting this config will immediately remove the underlying instance.
	// When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
	RemoveInstanceOnDestroy *bool `json:"removeInstanceOnDestroy,omitempty" tf:"remove_instance_on_destroy,omitempty"`

	// When true, deleting this config will immediately remove any specified state from the underlying instance.
	// When false, deleting this config will not immediately remove any state from the underlying instance.
	// State will be removed on the next instance recreation or update.
	RemoveInstanceStateOnDestroy *bool `json:"removeInstanceStateOnDestroy,omitempty" tf:"remove_instance_state_on_destroy,omitempty"`
}

func (*RegionPerInstanceConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigObservation.

func (*RegionPerInstanceConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionPerInstanceConfigParameters

type RegionPerInstanceConfigParameters struct {

	// The minimal action to perform on the instance during an update.
	// Default is NONE. Possible values are:
	// +kubebuilder:validation:Optional
	MinimalAction *string `json:"minimalAction,omitempty" tf:"minimal_action,omitempty"`

	// The most disruptive action to perform on the instance during an update.
	// Default is REPLACE. Possible values are:
	// +kubebuilder:validation:Optional
	MostDisruptiveAllowedAction *string `json:"mostDisruptiveAllowedAction,omitempty" tf:"most_disruptive_allowed_action,omitempty"`

	// The name for this per-instance config and its corresponding instance.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The preserved state for this instance.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	PreservedState *RegionPerInstanceConfigPreservedStateParameters `json:"preservedState,omitempty" tf:"preserved_state,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Region where the containing instance group manager is located
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionInstanceGroupManager
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("region",false)
	// +kubebuilder:validation:Optional
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The region instance group manager this instance config is part of.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionInstanceGroupManager
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false)
	// +kubebuilder:validation:Optional
	RegionInstanceGroupManager *string `json:"regionInstanceGroupManager,omitempty" tf:"region_instance_group_manager,omitempty"`

	// Reference to a RegionInstanceGroupManager in compute to populate regionInstanceGroupManager.
	// +kubebuilder:validation:Optional
	RegionInstanceGroupManagerRef *v1.Reference `json:"regionInstanceGroupManagerRef,omitempty" tf:"-"`

	// Selector for a RegionInstanceGroupManager in compute to populate regionInstanceGroupManager.
	// +kubebuilder:validation:Optional
	RegionInstanceGroupManagerSelector *v1.Selector `json:"regionInstanceGroupManagerSelector,omitempty" tf:"-"`

	// Reference to a RegionInstanceGroupManager in compute to populate region.
	// +kubebuilder:validation:Optional
	RegionRef *v1.Reference `json:"regionRef,omitempty" tf:"-"`

	// Selector for a RegionInstanceGroupManager in compute to populate region.
	// +kubebuilder:validation:Optional
	RegionSelector *v1.Selector `json:"regionSelector,omitempty" tf:"-"`

	// When true, deleting this config will immediately remove the underlying instance.
	// When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
	// +kubebuilder:validation:Optional
	RemoveInstanceOnDestroy *bool `json:"removeInstanceOnDestroy,omitempty" tf:"remove_instance_on_destroy,omitempty"`

	// When true, deleting this config will immediately remove any specified state from the underlying instance.
	// When false, deleting this config will not immediately remove any state from the underlying instance.
	// State will be removed on the next instance recreation or update.
	// +kubebuilder:validation:Optional
	RemoveInstanceStateOnDestroy *bool `json:"removeInstanceStateOnDestroy,omitempty" tf:"remove_instance_state_on_destroy,omitempty"`
}

func (*RegionPerInstanceConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigParameters.

func (*RegionPerInstanceConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionPerInstanceConfigPreservedStateDiskInitParameters

type RegionPerInstanceConfigPreservedStateDiskInitParameters struct {

	// A value that prescribes what should happen to the stateful disk when the VM instance is deleted.
	// The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION.
	// NEVER - detach the disk when the VM is deleted, but do not delete the disk.
	// ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently
	// deleted from the instance group.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// The mode of the disk.
	// Default value is READ_WRITE.
	// Possible values are: READ_ONLY, READ_WRITE.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The URI of an existing persistent disk to attach under the specified device-name in the format
	// projects/project-id/zones/zone/disks/disk-name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Disk
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Source *string `json:"source,omitempty" tf:"source,omitempty"`

	// Reference to a Disk in compute to populate source.
	// +kubebuilder:validation:Optional
	SourceRef *v1.Reference `json:"sourceRef,omitempty" tf:"-"`

	// Selector for a Disk in compute to populate source.
	// +kubebuilder:validation:Optional
	SourceSelector *v1.Selector `json:"sourceSelector,omitempty" tf:"-"`
}

func (*RegionPerInstanceConfigPreservedStateDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigPreservedStateDiskInitParameters.

func (*RegionPerInstanceConfigPreservedStateDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionPerInstanceConfigPreservedStateDiskObservation

type RegionPerInstanceConfigPreservedStateDiskObservation struct {

	// A value that prescribes what should happen to the stateful disk when the VM instance is deleted.
	// The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION.
	// NEVER - detach the disk when the VM is deleted, but do not delete the disk.
	// ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently
	// deleted from the instance group.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// The mode of the disk.
	// Default value is READ_WRITE.
	// Possible values are: READ_ONLY, READ_WRITE.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The URI of an existing persistent disk to attach under the specified device-name in the format
	// projects/project-id/zones/zone/disks/disk-name.
	Source *string `json:"source,omitempty" tf:"source,omitempty"`
}

func (*RegionPerInstanceConfigPreservedStateDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigPreservedStateDiskObservation.

func (*RegionPerInstanceConfigPreservedStateDiskObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionPerInstanceConfigPreservedStateDiskParameters

type RegionPerInstanceConfigPreservedStateDiskParameters struct {

	// A value that prescribes what should happen to the stateful disk when the VM instance is deleted.
	// The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION.
	// NEVER - detach the disk when the VM is deleted, but do not delete the disk.
	// ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently
	// deleted from the instance group.
	// Default value is NEVER.
	// Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
	// +kubebuilder:validation:Optional
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName" tf:"device_name,omitempty"`

	// The mode of the disk.
	// Default value is READ_WRITE.
	// Possible values are: READ_ONLY, READ_WRITE.
	// +kubebuilder:validation:Optional
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The URI of an existing persistent disk to attach under the specified device-name in the format
	// projects/project-id/zones/zone/disks/disk-name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Disk
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Source *string `json:"source,omitempty" tf:"source,omitempty"`

	// Reference to a Disk in compute to populate source.
	// +kubebuilder:validation:Optional
	SourceRef *v1.Reference `json:"sourceRef,omitempty" tf:"-"`

	// Selector for a Disk in compute to populate source.
	// +kubebuilder:validation:Optional
	SourceSelector *v1.Selector `json:"sourceSelector,omitempty" tf:"-"`
}

func (*RegionPerInstanceConfigPreservedStateDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigPreservedStateDiskParameters.

func (*RegionPerInstanceConfigPreservedStateDiskParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionPerInstanceConfigPreservedStateInitParameters

type RegionPerInstanceConfigPreservedStateInitParameters struct {

	// Stateful disks for the instance.
	// Structure is documented below.
	Disk []RegionPerInstanceConfigPreservedStateDiskInitParameters `json:"disk,omitempty" tf:"disk,omitempty"`

	// Preserved external IPs defined for this instance. This map is keyed with the name of the network interface.
	// Structure is documented below.
	ExternalIP []PreservedStateExternalIPInitParameters `json:"externalIp,omitempty" tf:"external_ip,omitempty"`

	// Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface.
	// Structure is documented below.
	InternalIP []PreservedStateInternalIPInitParameters `json:"internalIp,omitempty" tf:"internal_ip,omitempty"`

	// Preserved metadata defined for this instance. This is a list of key->value pairs.
	// +mapType=granular
	Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"`
}

func (*RegionPerInstanceConfigPreservedStateInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigPreservedStateInitParameters.

func (*RegionPerInstanceConfigPreservedStateInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionPerInstanceConfigPreservedStateObservation

type RegionPerInstanceConfigPreservedStateObservation struct {

	// Stateful disks for the instance.
	// Structure is documented below.
	Disk []RegionPerInstanceConfigPreservedStateDiskObservation `json:"disk,omitempty" tf:"disk,omitempty"`

	// Preserved external IPs defined for this instance. This map is keyed with the name of the network interface.
	// Structure is documented below.
	ExternalIP []PreservedStateExternalIPObservation `json:"externalIp,omitempty" tf:"external_ip,omitempty"`

	// Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface.
	// Structure is documented below.
	InternalIP []PreservedStateInternalIPObservation `json:"internalIp,omitempty" tf:"internal_ip,omitempty"`

	// Preserved metadata defined for this instance. This is a list of key->value pairs.
	// +mapType=granular
	Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"`
}

func (*RegionPerInstanceConfigPreservedStateObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigPreservedStateObservation.

func (*RegionPerInstanceConfigPreservedStateObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionPerInstanceConfigPreservedStateParameters

type RegionPerInstanceConfigPreservedStateParameters struct {

	// Stateful disks for the instance.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Disk []RegionPerInstanceConfigPreservedStateDiskParameters `json:"disk,omitempty" tf:"disk,omitempty"`

	// Preserved external IPs defined for this instance. This map is keyed with the name of the network interface.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ExternalIP []PreservedStateExternalIPParameters `json:"externalIp,omitempty" tf:"external_ip,omitempty"`

	// Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	InternalIP []PreservedStateInternalIPParameters `json:"internalIp,omitempty" tf:"internal_ip,omitempty"`

	// Preserved metadata defined for this instance. This is a list of key->value pairs.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"`
}

func (*RegionPerInstanceConfigPreservedStateParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigPreservedStateParameters.

func (*RegionPerInstanceConfigPreservedStateParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionPerInstanceConfigSpec

type RegionPerInstanceConfigSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RegionPerInstanceConfigParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RegionPerInstanceConfigInitParameters `json:"initProvider,omitempty"`
}

RegionPerInstanceConfigSpec defines the desired state of RegionPerInstanceConfig

func (*RegionPerInstanceConfigSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigSpec.

func (*RegionPerInstanceConfigSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionPerInstanceConfigStatus

type RegionPerInstanceConfigStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RegionPerInstanceConfigObservation `json:"atProvider,omitempty"`
}

RegionPerInstanceConfigStatus defines the observed state of RegionPerInstanceConfig.

func (*RegionPerInstanceConfigStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigStatus.

func (*RegionPerInstanceConfigStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionURLMap

type RegionURLMap struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              RegionURLMapSpec   `json:"spec"`
	Status            RegionURLMapStatus `json:"status,omitempty"`
}

RegionURLMap is the Schema for the RegionURLMaps API. UrlMaps are used to route requests to a backend service based on rules that you define for the host and path of an incoming URL. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*RegionURLMap) DeepCopy

func (in *RegionURLMap) DeepCopy() *RegionURLMap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionURLMap.

func (*RegionURLMap) DeepCopyInto

func (in *RegionURLMap) DeepCopyInto(out *RegionURLMap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionURLMap) DeepCopyObject

func (in *RegionURLMap) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionURLMap) GetCondition

func (mg *RegionURLMap) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this RegionURLMap.

func (*RegionURLMap) GetConnectionDetailsMapping

func (tr *RegionURLMap) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this RegionURLMap

func (*RegionURLMap) GetDeletionPolicy

func (mg *RegionURLMap) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this RegionURLMap.

func (*RegionURLMap) GetID

func (tr *RegionURLMap) GetID() string

GetID returns ID of underlying Terraform resource of this RegionURLMap

func (*RegionURLMap) GetInitParameters

func (tr *RegionURLMap) GetInitParameters() (map[string]any, error)

GetInitParameters of this RegionURLMap

func (*RegionURLMap) GetManagementPolicies

func (mg *RegionURLMap) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this RegionURLMap.

func (*RegionURLMap) GetMergedParameters

func (tr *RegionURLMap) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this RegionURLMap

func (*RegionURLMap) GetObservation

func (tr *RegionURLMap) GetObservation() (map[string]any, error)

GetObservation of this RegionURLMap

func (*RegionURLMap) GetParameters

func (tr *RegionURLMap) GetParameters() (map[string]any, error)

GetParameters of this RegionURLMap

func (*RegionURLMap) GetProviderConfigReference

func (mg *RegionURLMap) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this RegionURLMap.

func (*RegionURLMap) GetPublishConnectionDetailsTo

func (mg *RegionURLMap) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this RegionURLMap.

func (*RegionURLMap) GetTerraformResourceType

func (mg *RegionURLMap) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this RegionURLMap

func (*RegionURLMap) GetTerraformSchemaVersion

func (tr *RegionURLMap) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*RegionURLMap) GetWriteConnectionSecretToReference

func (mg *RegionURLMap) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this RegionURLMap.

func (*RegionURLMap) Hub

func (tr *RegionURLMap) Hub()

Hub marks this type as a conversion hub.

func (*RegionURLMap) LateInitialize

func (tr *RegionURLMap) LateInitialize(attrs []byte) (bool, error)

LateInitialize this RegionURLMap using its observed tfState. returns True if there are any spec changes for the resource.

func (*RegionURLMap) ResolveReferences

func (mg *RegionURLMap) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this RegionURLMap.

func (*RegionURLMap) SetConditions

func (mg *RegionURLMap) SetConditions(c ...xpv1.Condition)

SetConditions of this RegionURLMap.

func (*RegionURLMap) SetDeletionPolicy

func (mg *RegionURLMap) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this RegionURLMap.

func (*RegionURLMap) SetManagementPolicies

func (mg *RegionURLMap) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this RegionURLMap.

func (*RegionURLMap) SetObservation

func (tr *RegionURLMap) SetObservation(obs map[string]any) error

SetObservation for this RegionURLMap

func (*RegionURLMap) SetParameters

func (tr *RegionURLMap) SetParameters(params map[string]any) error

SetParameters for this RegionURLMap

func (*RegionURLMap) SetProviderConfigReference

func (mg *RegionURLMap) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this RegionURLMap.

func (*RegionURLMap) SetPublishConnectionDetailsTo

func (mg *RegionURLMap) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this RegionURLMap.

func (*RegionURLMap) SetWriteConnectionSecretToReference

func (mg *RegionURLMap) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this RegionURLMap.

type RegionURLMapInitParameters

type RegionURLMapInitParameters struct {

	// defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.
	// Only one of defaultRouteAction or defaultUrlRedirect must be set.
	// URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within defaultRouteAction.
	// defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
	// Structure is documented below.
	DefaultRouteAction *DefaultRouteActionInitParameters `json:"defaultRouteAction,omitempty" tf:"default_route_action,omitempty"`

	// The full or partial URL of the defaultService resource to which traffic is directed if
	// none of the hostRules match. If defaultRouteAction is additionally specified, advanced
	// routing actions like URL Rewrites, etc. take effect prior to sending the request to the
	// backend. However, if defaultService is specified, defaultRouteAction cannot contain any
	// weightedBackendServices. Conversely, if routeAction specifies any
	// weightedBackendServices, service must not be specified.  Only one of defaultService,
	// defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"`

	// Reference to a RegionBackendService in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceRef *v1.Reference `json:"defaultServiceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceSelector *v1.Selector `json:"defaultServiceSelector,omitempty" tf:"-"`

	// When none of the specified hostRules match, the request is redirected to a URL specified
	// by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
	// defaultRouteAction must not be set.
	// Structure is documented below.
	DefaultURLRedirect *DefaultURLRedirectInitParameters `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The list of HostRules to use against the URL.
	// Structure is documented below.
	HostRule []HostRuleInitParameters `json:"hostRule,omitempty" tf:"host_rule,omitempty"`

	// The list of named PathMatchers to use against the URL.
	// Structure is documented below.
	PathMatcher []PathMatcherInitParameters `json:"pathMatcher,omitempty" tf:"path_matcher,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The list of expected URL mappings. Requests to update this UrlMap will
	// succeed only if all of the test cases pass.
	// Structure is documented below.
	Test []TestInitParameters `json:"test,omitempty" tf:"test,omitempty"`
}

func (*RegionURLMapInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionURLMapInitParameters.

func (*RegionURLMapInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionURLMapList

type RegionURLMapList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RegionURLMap `json:"items"`
}

RegionURLMapList contains a list of RegionURLMaps

func (*RegionURLMapList) DeepCopy

func (in *RegionURLMapList) DeepCopy() *RegionURLMapList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionURLMapList.

func (*RegionURLMapList) DeepCopyInto

func (in *RegionURLMapList) DeepCopyInto(out *RegionURLMapList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegionURLMapList) DeepCopyObject

func (in *RegionURLMapList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RegionURLMapList) GetItems

func (l *RegionURLMapList) GetItems() []resource.Managed

GetItems of this RegionURLMapList.

type RegionURLMapObservation

type RegionURLMapObservation struct {

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.
	// Only one of defaultRouteAction or defaultUrlRedirect must be set.
	// URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within defaultRouteAction.
	// defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
	// Structure is documented below.
	DefaultRouteAction *DefaultRouteActionObservation `json:"defaultRouteAction,omitempty" tf:"default_route_action,omitempty"`

	// The full or partial URL of the defaultService resource to which traffic is directed if
	// none of the hostRules match. If defaultRouteAction is additionally specified, advanced
	// routing actions like URL Rewrites, etc. take effect prior to sending the request to the
	// backend. However, if defaultService is specified, defaultRouteAction cannot contain any
	// weightedBackendServices. Conversely, if routeAction specifies any
	// weightedBackendServices, service must not be specified.  Only one of defaultService,
	// defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set.
	DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"`

	// When none of the specified hostRules match, the request is redirected to a URL specified
	// by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
	// defaultRouteAction must not be set.
	// Structure is documented below.
	DefaultURLRedirect *DefaultURLRedirectObservation `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Fingerprint of this resource. This field is used internally during
	// updates of this resource.
	Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"`

	// The list of HostRules to use against the URL.
	// Structure is documented below.
	HostRule []HostRuleObservation `json:"hostRule,omitempty" tf:"host_rule,omitempty"`

	// an identifier for the resource with format projects/{{project}}/regions/{{region}}/urlMaps/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The unique identifier for the resource.
	MapID *float64 `json:"mapId,omitempty" tf:"map_id,omitempty"`

	// The list of named PathMatchers to use against the URL.
	// Structure is documented below.
	PathMatcher []PathMatcherObservation `json:"pathMatcher,omitempty" tf:"path_matcher,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The Region in which the url map should reside.
	// If it is not provided, the provider region is used.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// The list of expected URL mappings. Requests to update this UrlMap will
	// succeed only if all of the test cases pass.
	// Structure is documented below.
	Test []TestObservation `json:"test,omitempty" tf:"test,omitempty"`
}

func (*RegionURLMapObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionURLMapObservation.

func (*RegionURLMapObservation) DeepCopyInto

func (in *RegionURLMapObservation) DeepCopyInto(out *RegionURLMapObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionURLMapParameters

type RegionURLMapParameters struct {

	// defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.
	// Only one of defaultRouteAction or defaultUrlRedirect must be set.
	// URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within defaultRouteAction.
	// defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	DefaultRouteAction *DefaultRouteActionParameters `json:"defaultRouteAction,omitempty" tf:"default_route_action,omitempty"`

	// The full or partial URL of the defaultService resource to which traffic is directed if
	// none of the hostRules match. If defaultRouteAction is additionally specified, advanced
	// routing actions like URL Rewrites, etc. take effect prior to sending the request to the
	// backend. However, if defaultService is specified, defaultRouteAction cannot contain any
	// weightedBackendServices. Conversely, if routeAction specifies any
	// weightedBackendServices, service must not be specified.  Only one of defaultService,
	// defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"`

	// Reference to a RegionBackendService in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceRef *v1.Reference `json:"defaultServiceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceSelector *v1.Selector `json:"defaultServiceSelector,omitempty" tf:"-"`

	// When none of the specified hostRules match, the request is redirected to a URL specified
	// by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
	// defaultRouteAction must not be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	DefaultURLRedirect *DefaultURLRedirectParameters `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The list of HostRules to use against the URL.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HostRule []HostRuleParameters `json:"hostRule,omitempty" tf:"host_rule,omitempty"`

	// The list of named PathMatchers to use against the URL.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	PathMatcher []PathMatcherParameters `json:"pathMatcher,omitempty" tf:"path_matcher,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The Region in which the url map should reside.
	// If it is not provided, the provider region is used.
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"region,omitempty"`

	// The list of expected URL mappings. Requests to update this UrlMap will
	// succeed only if all of the test cases pass.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Test []TestParameters `json:"test,omitempty" tf:"test,omitempty"`
}

func (*RegionURLMapParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionURLMapParameters.

func (*RegionURLMapParameters) DeepCopyInto

func (in *RegionURLMapParameters) DeepCopyInto(out *RegionURLMapParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionURLMapSpec

type RegionURLMapSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RegionURLMapParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RegionURLMapInitParameters `json:"initProvider,omitempty"`
}

RegionURLMapSpec defines the desired state of RegionURLMap

func (*RegionURLMapSpec) DeepCopy

func (in *RegionURLMapSpec) DeepCopy() *RegionURLMapSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionURLMapSpec.

func (*RegionURLMapSpec) DeepCopyInto

func (in *RegionURLMapSpec) DeepCopyInto(out *RegionURLMapSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegionURLMapStatus

type RegionURLMapStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RegionURLMapObservation `json:"atProvider,omitempty"`
}

RegionURLMapStatus defines the observed state of RegionURLMap.

func (*RegionURLMapStatus) DeepCopy

func (in *RegionURLMapStatus) DeepCopy() *RegionURLMapStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionURLMapStatus.

func (*RegionURLMapStatus) DeepCopyInto

func (in *RegionURLMapStatus) DeepCopyInto(out *RegionURLMapStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RequestHeadersToAddInitParameters

type RequestHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*RequestHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeadersToAddInitParameters.

func (*RequestHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RequestHeadersToAddObservation

type RequestHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*RequestHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeadersToAddObservation.

func (*RequestHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RequestHeadersToAddParameters

type RequestHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*RequestHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeadersToAddParameters.

func (*RequestHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RequestHeadersToAddsInitParameters

type RequestHeadersToAddsInitParameters struct {

	// The name of the header to set.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value to set the named header to.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`
}

func (*RequestHeadersToAddsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeadersToAddsInitParameters.

func (*RequestHeadersToAddsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RequestHeadersToAddsObservation

type RequestHeadersToAddsObservation struct {

	// The name of the header to set.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value to set the named header to.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`
}

func (*RequestHeadersToAddsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeadersToAddsObservation.

func (*RequestHeadersToAddsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RequestHeadersToAddsParameters

type RequestHeadersToAddsParameters struct {

	// The name of the header to set.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value to set the named header to.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`
}

func (*RequestHeadersToAddsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeadersToAddsParameters.

func (*RequestHeadersToAddsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RequestMirrorPolicyInitParameters

type RequestMirrorPolicyInitParameters struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Reference to a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"`
}

func (*RequestMirrorPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestMirrorPolicyInitParameters.

func (*RequestMirrorPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RequestMirrorPolicyObservation

type RequestMirrorPolicyObservation struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`
}

func (*RequestMirrorPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestMirrorPolicyObservation.

func (*RequestMirrorPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RequestMirrorPolicyParameters

type RequestMirrorPolicyParameters struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Reference to a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"`
}

func (*RequestMirrorPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestMirrorPolicyParameters.

func (*RequestMirrorPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Reservation

type Reservation struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.specificReservation) || (has(self.initProvider) && has(self.initProvider.specificReservation))",message="spec.forProvider.specificReservation is a required parameter"
	Spec   ReservationSpec   `json:"spec"`
	Status ReservationStatus `json:"status,omitempty"`
}

Reservation is the Schema for the Reservations API. Represents a reservation resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*Reservation) DeepCopy

func (in *Reservation) DeepCopy() *Reservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Reservation.

func (*Reservation) DeepCopyInto

func (in *Reservation) DeepCopyInto(out *Reservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Reservation) DeepCopyObject

func (in *Reservation) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Reservation) GetCondition

func (mg *Reservation) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Reservation.

func (*Reservation) GetConnectionDetailsMapping

func (tr *Reservation) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Reservation

func (*Reservation) GetDeletionPolicy

func (mg *Reservation) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Reservation.

func (*Reservation) GetID

func (tr *Reservation) GetID() string

GetID returns ID of underlying Terraform resource of this Reservation

func (*Reservation) GetInitParameters

func (tr *Reservation) GetInitParameters() (map[string]any, error)

GetInitParameters of this Reservation

func (*Reservation) GetManagementPolicies

func (mg *Reservation) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Reservation.

func (*Reservation) GetMergedParameters

func (tr *Reservation) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Reservation

func (*Reservation) GetObservation

func (tr *Reservation) GetObservation() (map[string]any, error)

GetObservation of this Reservation

func (*Reservation) GetParameters

func (tr *Reservation) GetParameters() (map[string]any, error)

GetParameters of this Reservation

func (*Reservation) GetProviderConfigReference

func (mg *Reservation) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Reservation.

func (*Reservation) GetPublishConnectionDetailsTo

func (mg *Reservation) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Reservation.

func (*Reservation) GetTerraformResourceType

func (mg *Reservation) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Reservation

func (*Reservation) GetTerraformSchemaVersion

func (tr *Reservation) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Reservation) GetWriteConnectionSecretToReference

func (mg *Reservation) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Reservation.

func (*Reservation) Hub

func (tr *Reservation) Hub()

Hub marks this type as a conversion hub.

func (*Reservation) LateInitialize

func (tr *Reservation) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Reservation using its observed tfState. returns True if there are any spec changes for the resource.

func (*Reservation) SetConditions

func (mg *Reservation) SetConditions(c ...xpv1.Condition)

SetConditions of this Reservation.

func (*Reservation) SetDeletionPolicy

func (mg *Reservation) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Reservation.

func (*Reservation) SetManagementPolicies

func (mg *Reservation) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Reservation.

func (*Reservation) SetObservation

func (tr *Reservation) SetObservation(obs map[string]any) error

SetObservation for this Reservation

func (*Reservation) SetParameters

func (tr *Reservation) SetParameters(params map[string]any) error

SetParameters for this Reservation

func (*Reservation) SetProviderConfigReference

func (mg *Reservation) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Reservation.

func (*Reservation) SetPublishConnectionDetailsTo

func (mg *Reservation) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Reservation.

func (*Reservation) SetWriteConnectionSecretToReference

func (mg *Reservation) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Reservation.

type ReservationAffinityInitParameters

type ReservationAffinityInitParameters struct {

	// Specifies the label selector for the reservation to use..
	// Structure is documented below.
	SpecificReservation *SpecificReservationInitParameters `json:"specificReservation,omitempty" tf:"specific_reservation,omitempty"`

	// The type of reservation from which this instance can consume resources.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ReservationAffinityInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationAffinityInitParameters.

func (*ReservationAffinityInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationAffinityObservation

type ReservationAffinityObservation struct {

	// Specifies the label selector for the reservation to use..
	// Structure is documented below.
	SpecificReservation *SpecificReservationObservation `json:"specificReservation,omitempty" tf:"specific_reservation,omitempty"`

	// The type of reservation from which this instance can consume resources.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ReservationAffinityObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationAffinityObservation.

func (*ReservationAffinityObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationAffinityParameters

type ReservationAffinityParameters struct {

	// Specifies the label selector for the reservation to use..
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	SpecificReservation *SpecificReservationParameters `json:"specificReservation,omitempty" tf:"specific_reservation,omitempty"`

	// The type of reservation from which this instance can consume resources.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*ReservationAffinityParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationAffinityParameters.

func (*ReservationAffinityParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationAffinitySpecificReservationInitParameters

type ReservationAffinitySpecificReservationInitParameters struct {
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	Values []*string `json:"values,omitempty" tf:"values,omitempty"`
}

func (*ReservationAffinitySpecificReservationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationAffinitySpecificReservationInitParameters.

func (*ReservationAffinitySpecificReservationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationAffinitySpecificReservationObservation

type ReservationAffinitySpecificReservationObservation struct {
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	Values []*string `json:"values,omitempty" tf:"values,omitempty"`
}

func (*ReservationAffinitySpecificReservationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationAffinitySpecificReservationObservation.

func (*ReservationAffinitySpecificReservationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationAffinitySpecificReservationParameters

type ReservationAffinitySpecificReservationParameters struct {

	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

	// +kubebuilder:validation:Optional
	Values []*string `json:"values" tf:"values,omitempty"`
}

func (*ReservationAffinitySpecificReservationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationAffinitySpecificReservationParameters.

func (*ReservationAffinitySpecificReservationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationInitParameters

type ReservationInitParameters struct {

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The share setting for reservations.
	// Structure is documented below.
	ShareSettings *ReservationShareSettingsInitParameters `json:"shareSettings,omitempty" tf:"share_settings,omitempty"`

	// Reservation for instances with specific machine shapes.
	// Structure is documented below.
	SpecificReservation *ReservationSpecificReservationInitParameters `json:"specificReservation,omitempty" tf:"specific_reservation,omitempty"`

	// When set to true, only VMs that target this reservation by name can
	// consume this reservation. Otherwise, it can be consumed by VMs with
	// affinity for any reservation. Defaults to false.
	SpecificReservationRequired *bool `json:"specificReservationRequired,omitempty" tf:"specific_reservation_required,omitempty"`
}

func (*ReservationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationInitParameters.

func (*ReservationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationList

type ReservationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Reservation `json:"items"`
}

ReservationList contains a list of Reservations

func (*ReservationList) DeepCopy

func (in *ReservationList) DeepCopy() *ReservationList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationList.

func (*ReservationList) DeepCopyInto

func (in *ReservationList) DeepCopyInto(out *ReservationList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ReservationList) DeepCopyObject

func (in *ReservationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ReservationList) GetItems

func (l *ReservationList) GetItems() []resource.Managed

GetItems of this ReservationList.

type ReservationObservation

type ReservationObservation struct {

	// Full or partial URL to a parent commitment. This field displays for
	// reservations that are tied to a commitment.
	Commitment *string `json:"commitment,omitempty" tf:"commitment,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// an identifier for the resource with format projects/{{project}}/zones/{{zone}}/reservations/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// The share setting for reservations.
	// Structure is documented below.
	ShareSettings *ReservationShareSettingsObservation `json:"shareSettings,omitempty" tf:"share_settings,omitempty"`

	// Reservation for instances with specific machine shapes.
	// Structure is documented below.
	SpecificReservation *ReservationSpecificReservationObservation `json:"specificReservation,omitempty" tf:"specific_reservation,omitempty"`

	// When set to true, only VMs that target this reservation by name can
	// consume this reservation. Otherwise, it can be consumed by VMs with
	// affinity for any reservation. Defaults to false.
	SpecificReservationRequired *bool `json:"specificReservationRequired,omitempty" tf:"specific_reservation_required,omitempty"`

	// The status of the reservation.
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// The zone where the reservation is made.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*ReservationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationObservation.

func (*ReservationObservation) DeepCopyInto

func (in *ReservationObservation) DeepCopyInto(out *ReservationObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationParameters

type ReservationParameters struct {

	// An optional description of this resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The share setting for reservations.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ShareSettings *ReservationShareSettingsParameters `json:"shareSettings,omitempty" tf:"share_settings,omitempty"`

	// Reservation for instances with specific machine shapes.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	SpecificReservation *ReservationSpecificReservationParameters `json:"specificReservation,omitempty" tf:"specific_reservation,omitempty"`

	// When set to true, only VMs that target this reservation by name can
	// consume this reservation. Otherwise, it can be consumed by VMs with
	// affinity for any reservation. Defaults to false.
	// +kubebuilder:validation:Optional
	SpecificReservationRequired *bool `json:"specificReservationRequired,omitempty" tf:"specific_reservation_required,omitempty"`

	// The zone where the reservation is made.
	// +kubebuilder:validation:Required
	Zone *string `json:"zone" tf:"zone,omitempty"`
}

func (*ReservationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationParameters.

func (*ReservationParameters) DeepCopyInto

func (in *ReservationParameters) DeepCopyInto(out *ReservationParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationShareSettingsInitParameters

type ReservationShareSettingsInitParameters struct {

	// A map of project number and project config. This is only valid when shareType's value is SPECIFIC_PROJECTS.
	// Structure is documented below.
	ProjectMap []ShareSettingsProjectMapInitParameters `json:"projectMap,omitempty" tf:"project_map,omitempty"`

	// Type of sharing for this shared-reservation
	// Possible values are: LOCAL, SPECIFIC_PROJECTS.
	ShareType *string `json:"shareType,omitempty" tf:"share_type,omitempty"`
}

func (*ReservationShareSettingsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationShareSettingsInitParameters.

func (*ReservationShareSettingsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationShareSettingsObservation

type ReservationShareSettingsObservation struct {

	// A map of project number and project config. This is only valid when shareType's value is SPECIFIC_PROJECTS.
	// Structure is documented below.
	ProjectMap []ShareSettingsProjectMapObservation `json:"projectMap,omitempty" tf:"project_map,omitempty"`

	// Type of sharing for this shared-reservation
	// Possible values are: LOCAL, SPECIFIC_PROJECTS.
	ShareType *string `json:"shareType,omitempty" tf:"share_type,omitempty"`
}

func (*ReservationShareSettingsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationShareSettingsObservation.

func (*ReservationShareSettingsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationShareSettingsParameters

type ReservationShareSettingsParameters struct {

	// A map of project number and project config. This is only valid when shareType's value is SPECIFIC_PROJECTS.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ProjectMap []ShareSettingsProjectMapParameters `json:"projectMap,omitempty" tf:"project_map,omitempty"`

	// Type of sharing for this shared-reservation
	// Possible values are: LOCAL, SPECIFIC_PROJECTS.
	// +kubebuilder:validation:Optional
	ShareType *string `json:"shareType,omitempty" tf:"share_type,omitempty"`
}

func (*ReservationShareSettingsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationShareSettingsParameters.

func (*ReservationShareSettingsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationSpec

type ReservationSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ReservationParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ReservationInitParameters `json:"initProvider,omitempty"`
}

ReservationSpec defines the desired state of Reservation

func (*ReservationSpec) DeepCopy

func (in *ReservationSpec) DeepCopy() *ReservationSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationSpec.

func (*ReservationSpec) DeepCopyInto

func (in *ReservationSpec) DeepCopyInto(out *ReservationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationSpecificReservationInitParameters

type ReservationSpecificReservationInitParameters struct {

	// The number of resources that are allocated.
	Count *float64 `json:"count,omitempty" tf:"count,omitempty"`

	// The instance properties for the reservation.
	// Structure is documented below.
	InstanceProperties *InstancePropertiesInitParameters `json:"instanceProperties,omitempty" tf:"instance_properties,omitempty"`
}

func (*ReservationSpecificReservationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationSpecificReservationInitParameters.

func (*ReservationSpecificReservationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationSpecificReservationObservation

type ReservationSpecificReservationObservation struct {

	// The number of resources that are allocated.
	Count *float64 `json:"count,omitempty" tf:"count,omitempty"`

	// (Output)
	// How many instances are in use.
	InUseCount *float64 `json:"inUseCount,omitempty" tf:"in_use_count,omitempty"`

	// The instance properties for the reservation.
	// Structure is documented below.
	InstanceProperties *InstancePropertiesObservation `json:"instanceProperties,omitempty" tf:"instance_properties,omitempty"`
}

func (*ReservationSpecificReservationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationSpecificReservationObservation.

func (*ReservationSpecificReservationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationSpecificReservationParameters

type ReservationSpecificReservationParameters struct {

	// The number of resources that are allocated.
	// +kubebuilder:validation:Optional
	Count *float64 `json:"count" tf:"count,omitempty"`

	// The instance properties for the reservation.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	InstanceProperties *InstancePropertiesParameters `json:"instanceProperties" tf:"instance_properties,omitempty"`
}

func (*ReservationSpecificReservationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationSpecificReservationParameters.

func (*ReservationSpecificReservationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReservationStatus

type ReservationStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ReservationObservation `json:"atProvider,omitempty"`
}

ReservationStatus defines the observed state of Reservation.

func (*ReservationStatus) DeepCopy

func (in *ReservationStatus) DeepCopy() *ReservationStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationStatus.

func (*ReservationStatus) DeepCopyInto

func (in *ReservationStatus) DeepCopyInto(out *ReservationStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourcePolicy

type ResourcePolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ResourcePolicySpec   `json:"spec"`
	Status            ResourcePolicyStatus `json:"status,omitempty"`
}

ResourcePolicy is the Schema for the ResourcePolicys API. A policy that can be attached to a resource to specify or schedule actions on that resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*ResourcePolicy) DeepCopy

func (in *ResourcePolicy) DeepCopy() *ResourcePolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePolicy.

func (*ResourcePolicy) DeepCopyInto

func (in *ResourcePolicy) DeepCopyInto(out *ResourcePolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ResourcePolicy) DeepCopyObject

func (in *ResourcePolicy) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ResourcePolicy) GetCondition

func (mg *ResourcePolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this ResourcePolicy.

func (*ResourcePolicy) GetConnectionDetailsMapping

func (tr *ResourcePolicy) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this ResourcePolicy

func (*ResourcePolicy) GetDeletionPolicy

func (mg *ResourcePolicy) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this ResourcePolicy.

func (*ResourcePolicy) GetID

func (tr *ResourcePolicy) GetID() string

GetID returns ID of underlying Terraform resource of this ResourcePolicy

func (*ResourcePolicy) GetInitParameters

func (tr *ResourcePolicy) GetInitParameters() (map[string]any, error)

GetInitParameters of this ResourcePolicy

func (*ResourcePolicy) GetManagementPolicies

func (mg *ResourcePolicy) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this ResourcePolicy.

func (*ResourcePolicy) GetMergedParameters

func (tr *ResourcePolicy) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this ResourcePolicy

func (*ResourcePolicy) GetObservation

func (tr *ResourcePolicy) GetObservation() (map[string]any, error)

GetObservation of this ResourcePolicy

func (*ResourcePolicy) GetParameters

func (tr *ResourcePolicy) GetParameters() (map[string]any, error)

GetParameters of this ResourcePolicy

func (*ResourcePolicy) GetProviderConfigReference

func (mg *ResourcePolicy) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this ResourcePolicy.

func (*ResourcePolicy) GetPublishConnectionDetailsTo

func (mg *ResourcePolicy) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this ResourcePolicy.

func (*ResourcePolicy) GetTerraformResourceType

func (mg *ResourcePolicy) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ResourcePolicy

func (*ResourcePolicy) GetTerraformSchemaVersion

func (tr *ResourcePolicy) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ResourcePolicy) GetWriteConnectionSecretToReference

func (mg *ResourcePolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this ResourcePolicy.

func (*ResourcePolicy) Hub

func (tr *ResourcePolicy) Hub()

Hub marks this type as a conversion hub.

func (*ResourcePolicy) LateInitialize

func (tr *ResourcePolicy) LateInitialize(attrs []byte) (bool, error)

LateInitialize this ResourcePolicy using its observed tfState. returns True if there are any spec changes for the resource.

func (*ResourcePolicy) SetConditions

func (mg *ResourcePolicy) SetConditions(c ...xpv1.Condition)

SetConditions of this ResourcePolicy.

func (*ResourcePolicy) SetDeletionPolicy

func (mg *ResourcePolicy) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this ResourcePolicy.

func (*ResourcePolicy) SetManagementPolicies

func (mg *ResourcePolicy) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this ResourcePolicy.

func (*ResourcePolicy) SetObservation

func (tr *ResourcePolicy) SetObservation(obs map[string]any) error

SetObservation for this ResourcePolicy

func (*ResourcePolicy) SetParameters

func (tr *ResourcePolicy) SetParameters(params map[string]any) error

SetParameters for this ResourcePolicy

func (*ResourcePolicy) SetProviderConfigReference

func (mg *ResourcePolicy) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this ResourcePolicy.

func (*ResourcePolicy) SetPublishConnectionDetailsTo

func (mg *ResourcePolicy) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this ResourcePolicy.

func (*ResourcePolicy) SetWriteConnectionSecretToReference

func (mg *ResourcePolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this ResourcePolicy.

type ResourcePolicyInitParameters

type ResourcePolicyInitParameters struct {

	// An optional description of this resource. Provide this property when you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Replication consistency group for asynchronous disk replication.
	// Structure is documented below.
	DiskConsistencyGroupPolicy *DiskConsistencyGroupPolicyInitParameters `json:"diskConsistencyGroupPolicy,omitempty" tf:"disk_consistency_group_policy,omitempty"`

	// Resource policy for instances used for placement configuration.
	// Structure is documented below.
	GroupPlacementPolicy *GroupPlacementPolicyInitParameters `json:"groupPlacementPolicy,omitempty" tf:"group_placement_policy,omitempty"`

	// Resource policy for scheduling instance operations.
	// Structure is documented below.
	InstanceSchedulePolicy *InstanceSchedulePolicyInitParameters `json:"instanceSchedulePolicy,omitempty" tf:"instance_schedule_policy,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Policy for creating snapshots of persistent disks.
	// Structure is documented below.
	SnapshotSchedulePolicy *SnapshotSchedulePolicyInitParameters `json:"snapshotSchedulePolicy,omitempty" tf:"snapshot_schedule_policy,omitempty"`
}

func (*ResourcePolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePolicyInitParameters.

func (*ResourcePolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourcePolicyList

type ResourcePolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ResourcePolicy `json:"items"`
}

ResourcePolicyList contains a list of ResourcePolicys

func (*ResourcePolicyList) DeepCopy

func (in *ResourcePolicyList) DeepCopy() *ResourcePolicyList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePolicyList.

func (*ResourcePolicyList) DeepCopyInto

func (in *ResourcePolicyList) DeepCopyInto(out *ResourcePolicyList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ResourcePolicyList) DeepCopyObject

func (in *ResourcePolicyList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ResourcePolicyList) GetItems

func (l *ResourcePolicyList) GetItems() []resource.Managed

GetItems of this ResourcePolicyList.

type ResourcePolicyObservation

type ResourcePolicyObservation struct {

	// An optional description of this resource. Provide this property when you create the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Replication consistency group for asynchronous disk replication.
	// Structure is documented below.
	DiskConsistencyGroupPolicy *DiskConsistencyGroupPolicyObservation `json:"diskConsistencyGroupPolicy,omitempty" tf:"disk_consistency_group_policy,omitempty"`

	// Resource policy for instances used for placement configuration.
	// Structure is documented below.
	GroupPlacementPolicy *GroupPlacementPolicyObservation `json:"groupPlacementPolicy,omitempty" tf:"group_placement_policy,omitempty"`

	// an identifier for the resource with format projects/{{project}}/regions/{{region}}/resourcePolicies/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Resource policy for scheduling instance operations.
	// Structure is documented below.
	InstanceSchedulePolicy *InstanceSchedulePolicyObservation `json:"instanceSchedulePolicy,omitempty" tf:"instance_schedule_policy,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Region where resource policy resides.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// Policy for creating snapshots of persistent disks.
	// Structure is documented below.
	SnapshotSchedulePolicy *SnapshotSchedulePolicyObservation `json:"snapshotSchedulePolicy,omitempty" tf:"snapshot_schedule_policy,omitempty"`
}

func (*ResourcePolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePolicyObservation.

func (*ResourcePolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourcePolicyParameters

type ResourcePolicyParameters struct {

	// An optional description of this resource. Provide this property when you create the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Replication consistency group for asynchronous disk replication.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	DiskConsistencyGroupPolicy *DiskConsistencyGroupPolicyParameters `json:"diskConsistencyGroupPolicy,omitempty" tf:"disk_consistency_group_policy,omitempty"`

	// Resource policy for instances used for placement configuration.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	GroupPlacementPolicy *GroupPlacementPolicyParameters `json:"groupPlacementPolicy,omitempty" tf:"group_placement_policy,omitempty"`

	// Resource policy for scheduling instance operations.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	InstanceSchedulePolicy *InstanceSchedulePolicyParameters `json:"instanceSchedulePolicy,omitempty" tf:"instance_schedule_policy,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Region where resource policy resides.
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"region,omitempty"`

	// Policy for creating snapshots of persistent disks.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	SnapshotSchedulePolicy *SnapshotSchedulePolicyParameters `json:"snapshotSchedulePolicy,omitempty" tf:"snapshot_schedule_policy,omitempty"`
}

func (*ResourcePolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePolicyParameters.

func (*ResourcePolicyParameters) DeepCopyInto

func (in *ResourcePolicyParameters) DeepCopyInto(out *ResourcePolicyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourcePolicySpec

type ResourcePolicySpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ResourcePolicyParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ResourcePolicyInitParameters `json:"initProvider,omitempty"`
}

ResourcePolicySpec defines the desired state of ResourcePolicy

func (*ResourcePolicySpec) DeepCopy

func (in *ResourcePolicySpec) DeepCopy() *ResourcePolicySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePolicySpec.

func (*ResourcePolicySpec) DeepCopyInto

func (in *ResourcePolicySpec) DeepCopyInto(out *ResourcePolicySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourcePolicyStatus

type ResourcePolicyStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ResourcePolicyObservation `json:"atProvider,omitempty"`
}

ResourcePolicyStatus defines the observed state of ResourcePolicy.

func (*ResourcePolicyStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePolicyStatus.

func (*ResourcePolicyStatus) DeepCopyInto

func (in *ResourcePolicyStatus) DeepCopyInto(out *ResourcePolicyStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResponseHeadersToAddInitParameters

type ResponseHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*ResponseHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResponseHeadersToAddInitParameters.

func (*ResponseHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResponseHeadersToAddObservation

type ResponseHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*ResponseHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResponseHeadersToAddObservation.

func (*ResponseHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResponseHeadersToAddParameters

type ResponseHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*ResponseHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResponseHeadersToAddParameters.

func (*ResponseHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RetentionPolicyInitParameters

type RetentionPolicyInitParameters struct {

	// Maximum age of the snapshot that is allowed to be kept.
	MaxRetentionDays *float64 `json:"maxRetentionDays,omitempty" tf:"max_retention_days,omitempty"`

	// Specifies the behavior to apply to scheduled snapshots when
	// the source disk is deleted.
	// Default value is KEEP_AUTO_SNAPSHOTS.
	// Possible values are: KEEP_AUTO_SNAPSHOTS, APPLY_RETENTION_POLICY.
	OnSourceDiskDelete *string `json:"onSourceDiskDelete,omitempty" tf:"on_source_disk_delete,omitempty"`
}

func (*RetentionPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionPolicyInitParameters.

func (*RetentionPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RetentionPolicyObservation

type RetentionPolicyObservation struct {

	// Maximum age of the snapshot that is allowed to be kept.
	MaxRetentionDays *float64 `json:"maxRetentionDays,omitempty" tf:"max_retention_days,omitempty"`

	// Specifies the behavior to apply to scheduled snapshots when
	// the source disk is deleted.
	// Default value is KEEP_AUTO_SNAPSHOTS.
	// Possible values are: KEEP_AUTO_SNAPSHOTS, APPLY_RETENTION_POLICY.
	OnSourceDiskDelete *string `json:"onSourceDiskDelete,omitempty" tf:"on_source_disk_delete,omitempty"`
}

func (*RetentionPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionPolicyObservation.

func (*RetentionPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RetentionPolicyParameters

type RetentionPolicyParameters struct {

	// Maximum age of the snapshot that is allowed to be kept.
	// +kubebuilder:validation:Optional
	MaxRetentionDays *float64 `json:"maxRetentionDays" tf:"max_retention_days,omitempty"`

	// Specifies the behavior to apply to scheduled snapshots when
	// the source disk is deleted.
	// Default value is KEEP_AUTO_SNAPSHOTS.
	// Possible values are: KEEP_AUTO_SNAPSHOTS, APPLY_RETENTION_POLICY.
	// +kubebuilder:validation:Optional
	OnSourceDiskDelete *string `json:"onSourceDiskDelete,omitempty" tf:"on_source_disk_delete,omitempty"`
}

func (*RetentionPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionPolicyParameters.

func (*RetentionPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RetryPolicyInitParameters

type RetryPolicyInitParameters struct {

	// Specifies the allowed number retries. This number must be > 0.
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	PerTryTimeout *PerTryTimeoutInitParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*RetryPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicyInitParameters.

func (*RetryPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RetryPolicyObservation

type RetryPolicyObservation struct {

	// Specifies the allowed number retries. This number must be > 0.
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	PerTryTimeout *PerTryTimeoutObservation `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*RetryPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicyObservation.

func (*RetryPolicyObservation) DeepCopyInto

func (in *RetryPolicyObservation) DeepCopyInto(out *RetryPolicyObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RetryPolicyParameters

type RetryPolicyParameters struct {

	// Specifies the allowed number retries. This number must be > 0.
	// +kubebuilder:validation:Optional
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	PerTryTimeout *PerTryTimeoutParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	// +kubebuilder:validation:Optional
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*RetryPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicyParameters.

func (*RetryPolicyParameters) DeepCopyInto

func (in *RetryPolicyParameters) DeepCopyInto(out *RetryPolicyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RetryPolicyPerTryTimeoutInitParameters

type RetryPolicyPerTryTimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*RetryPolicyPerTryTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicyPerTryTimeoutInitParameters.

func (*RetryPolicyPerTryTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RetryPolicyPerTryTimeoutObservation

type RetryPolicyPerTryTimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*RetryPolicyPerTryTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicyPerTryTimeoutObservation.

func (*RetryPolicyPerTryTimeoutObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RetryPolicyPerTryTimeoutParameters

type RetryPolicyPerTryTimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds" tf:"seconds,omitempty"`
}

func (*RetryPolicyPerTryTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicyPerTryTimeoutParameters.

func (*RetryPolicyPerTryTimeoutParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionCorsPolicyInitParameters

type RouteActionCorsPolicyInitParameters struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	// which indicates that the CORS policy is in effect. Defaults to false.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*RouteActionCorsPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionCorsPolicyInitParameters.

func (*RouteActionCorsPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionCorsPolicyObservation

type RouteActionCorsPolicyObservation struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	// which indicates that the CORS policy is in effect. Defaults to false.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*RouteActionCorsPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionCorsPolicyObservation.

func (*RouteActionCorsPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionCorsPolicyParameters

type RouteActionCorsPolicyParameters struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	// +kubebuilder:validation:Optional
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	// +kubebuilder:validation:Optional
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	// +kubebuilder:validation:Optional
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	// +kubebuilder:validation:Optional
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	// +kubebuilder:validation:Optional
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	// which indicates that the CORS policy is in effect. Defaults to false.
	// +kubebuilder:validation:Optional
	Disabled *bool `json:"disabled" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	// +kubebuilder:validation:Optional
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	// +kubebuilder:validation:Optional
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*RouteActionCorsPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionCorsPolicyParameters.

func (*RouteActionCorsPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionFaultInjectionPolicyAbortInitParameters

type RouteActionFaultInjectionPolicyAbortInitParameters struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*RouteActionFaultInjectionPolicyAbortInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyAbortInitParameters.

func (*RouteActionFaultInjectionPolicyAbortInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionFaultInjectionPolicyAbortObservation

type RouteActionFaultInjectionPolicyAbortObservation struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*RouteActionFaultInjectionPolicyAbortObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyAbortObservation.

func (*RouteActionFaultInjectionPolicyAbortObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionFaultInjectionPolicyAbortParameters

type RouteActionFaultInjectionPolicyAbortParameters struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	// +kubebuilder:validation:Optional
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	// +kubebuilder:validation:Optional
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*RouteActionFaultInjectionPolicyAbortParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyAbortParameters.

func (*RouteActionFaultInjectionPolicyAbortParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionFaultInjectionPolicyDelayFixedDelayInitParameters

type RouteActionFaultInjectionPolicyDelayFixedDelayInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*RouteActionFaultInjectionPolicyDelayFixedDelayInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyDelayFixedDelayInitParameters.

func (*RouteActionFaultInjectionPolicyDelayFixedDelayInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionFaultInjectionPolicyDelayFixedDelayObservation

type RouteActionFaultInjectionPolicyDelayFixedDelayObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*RouteActionFaultInjectionPolicyDelayFixedDelayObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyDelayFixedDelayObservation.

func (*RouteActionFaultInjectionPolicyDelayFixedDelayObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionFaultInjectionPolicyDelayFixedDelayParameters

type RouteActionFaultInjectionPolicyDelayFixedDelayParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds" tf:"seconds,omitempty"`
}

func (*RouteActionFaultInjectionPolicyDelayFixedDelayParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyDelayFixedDelayParameters.

func (*RouteActionFaultInjectionPolicyDelayFixedDelayParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionFaultInjectionPolicyDelayInitParameters

type RouteActionFaultInjectionPolicyDelayInitParameters struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	FixedDelay *FaultInjectionPolicyDelayFixedDelayInitParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*RouteActionFaultInjectionPolicyDelayInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyDelayInitParameters.

func (*RouteActionFaultInjectionPolicyDelayInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionFaultInjectionPolicyDelayObservation

type RouteActionFaultInjectionPolicyDelayObservation struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	FixedDelay *FaultInjectionPolicyDelayFixedDelayObservation `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*RouteActionFaultInjectionPolicyDelayObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyDelayObservation.

func (*RouteActionFaultInjectionPolicyDelayObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionFaultInjectionPolicyDelayParameters

type RouteActionFaultInjectionPolicyDelayParameters struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FixedDelay *FaultInjectionPolicyDelayFixedDelayParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	// +kubebuilder:validation:Optional
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*RouteActionFaultInjectionPolicyDelayParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyDelayParameters.

func (*RouteActionFaultInjectionPolicyDelayParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionFaultInjectionPolicyInitParameters

type RouteActionFaultInjectionPolicyInitParameters struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	Abort *FaultInjectionPolicyAbortInitParameters `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	Delay *FaultInjectionPolicyDelayInitParameters `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*RouteActionFaultInjectionPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyInitParameters.

func (*RouteActionFaultInjectionPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionFaultInjectionPolicyObservation

type RouteActionFaultInjectionPolicyObservation struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	Abort *FaultInjectionPolicyAbortObservation `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	Delay *FaultInjectionPolicyDelayObservation `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*RouteActionFaultInjectionPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyObservation.

func (*RouteActionFaultInjectionPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionFaultInjectionPolicyParameters

type RouteActionFaultInjectionPolicyParameters struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Abort *FaultInjectionPolicyAbortParameters `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Delay *FaultInjectionPolicyDelayParameters `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*RouteActionFaultInjectionPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyParameters.

func (*RouteActionFaultInjectionPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionInitParameters

type RouteActionInitParameters struct {

	// The specification for allowing client side cross-origin requests. Please see W3C
	// Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	CorsPolicy *RouteActionCorsPolicyInitParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the
	// resiliency of clients to backend service failure. As part of fault injection,
	// when clients send requests to a backend service, delays can be introduced by
	// Loadbalancer on a percentage of requests before sending those request to the
	// backend service. Similarly requests from clients can be aborted by the
	// Loadbalancer for a percentage of requests. timeout and retry_policy will be
	// ignored by clients that are configured with a fault_injection_policy.
	// Structure is documented below.
	FaultInjectionPolicy *RouteActionFaultInjectionPolicyInitParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are
	// shadowed to a separate mirrored backend service. Loadbalancer does not wait for
	// responses from the shadow service. Prior to sending traffic to the shadow
	// service, the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	RequestMirrorPolicy *RouteActionRequestMirrorPolicyInitParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	RetryPolicy *RouteActionRetryPolicyInitParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time
	// the request is has been fully processed (i.e. end-of-stream) up until the
	// response has been completely processed. Timeout includes all retries. If not
	// specified, the default value is 15 seconds.
	// Structure is documented below.
	Timeout *RouteActionTimeoutInitParameters `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to
	// the matched service
	// Structure is documented below.
	URLRewrite *RouteActionURLRewriteInitParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match
	// occurs. The weights determine the fraction of traffic that flows to their
	// corresponding backend service. If all traffic needs to go to a single backend
	// service, there must be one  weightedBackendService with weight set to a non 0
	// number. Once a backendService is identified and before forwarding the request to
	// the backend service, advanced routing actions like Url rewrites and header
	// transformations are applied depending on additional settings specified in this
	// HttpRouteAction.
	// Structure is documented below.
	WeightedBackendServices []RouteActionWeightedBackendServicesInitParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*RouteActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionInitParameters.

func (*RouteActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionObservation

type RouteActionObservation struct {

	// The specification for allowing client side cross-origin requests. Please see W3C
	// Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	CorsPolicy *RouteActionCorsPolicyObservation `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the
	// resiliency of clients to backend service failure. As part of fault injection,
	// when clients send requests to a backend service, delays can be introduced by
	// Loadbalancer on a percentage of requests before sending those request to the
	// backend service. Similarly requests from clients can be aborted by the
	// Loadbalancer for a percentage of requests. timeout and retry_policy will be
	// ignored by clients that are configured with a fault_injection_policy.
	// Structure is documented below.
	FaultInjectionPolicy *RouteActionFaultInjectionPolicyObservation `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are
	// shadowed to a separate mirrored backend service. Loadbalancer does not wait for
	// responses from the shadow service. Prior to sending traffic to the shadow
	// service, the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	RequestMirrorPolicy *RouteActionRequestMirrorPolicyObservation `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	RetryPolicy *RouteActionRetryPolicyObservation `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time
	// the request is has been fully processed (i.e. end-of-stream) up until the
	// response has been completely processed. Timeout includes all retries. If not
	// specified, the default value is 15 seconds.
	// Structure is documented below.
	Timeout *RouteActionTimeoutObservation `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to
	// the matched service
	// Structure is documented below.
	URLRewrite *RouteActionURLRewriteObservation `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match
	// occurs. The weights determine the fraction of traffic that flows to their
	// corresponding backend service. If all traffic needs to go to a single backend
	// service, there must be one  weightedBackendService with weight set to a non 0
	// number. Once a backendService is identified and before forwarding the request to
	// the backend service, advanced routing actions like Url rewrites and header
	// transformations are applied depending on additional settings specified in this
	// HttpRouteAction.
	// Structure is documented below.
	WeightedBackendServices []RouteActionWeightedBackendServicesObservation `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*RouteActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionObservation.

func (*RouteActionObservation) DeepCopyInto

func (in *RouteActionObservation) DeepCopyInto(out *RouteActionObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionParameters

type RouteActionParameters struct {

	// The specification for allowing client side cross-origin requests. Please see W3C
	// Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CorsPolicy *RouteActionCorsPolicyParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the
	// resiliency of clients to backend service failure. As part of fault injection,
	// when clients send requests to a backend service, delays can be introduced by
	// Loadbalancer on a percentage of requests before sending those request to the
	// backend service. Similarly requests from clients can be aborted by the
	// Loadbalancer for a percentage of requests. timeout and retry_policy will be
	// ignored by clients that are configured with a fault_injection_policy.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FaultInjectionPolicy *RouteActionFaultInjectionPolicyParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are
	// shadowed to a separate mirrored backend service. Loadbalancer does not wait for
	// responses from the shadow service. Prior to sending traffic to the shadow
	// service, the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestMirrorPolicy *RouteActionRequestMirrorPolicyParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RetryPolicy *RouteActionRetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time
	// the request is has been fully processed (i.e. end-of-stream) up until the
	// response has been completely processed. Timeout includes all retries. If not
	// specified, the default value is 15 seconds.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Timeout *RouteActionTimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to
	// the matched service
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	URLRewrite *RouteActionURLRewriteParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match
	// occurs. The weights determine the fraction of traffic that flows to their
	// corresponding backend service. If all traffic needs to go to a single backend
	// service, there must be one  weightedBackendService with weight set to a non 0
	// number. Once a backendService is identified and before forwarding the request to
	// the backend service, advanced routing actions like Url rewrites and header
	// transformations are applied depending on additional settings specified in this
	// HttpRouteAction.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	WeightedBackendServices []RouteActionWeightedBackendServicesParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*RouteActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionParameters.

func (*RouteActionParameters) DeepCopyInto

func (in *RouteActionParameters) DeepCopyInto(out *RouteActionParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionRequestMirrorPolicyInitParameters

type RouteActionRequestMirrorPolicyInitParameters struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Reference to a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"`
}

func (*RouteActionRequestMirrorPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionRequestMirrorPolicyInitParameters.

func (*RouteActionRequestMirrorPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionRequestMirrorPolicyObservation

type RouteActionRequestMirrorPolicyObservation struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`
}

func (*RouteActionRequestMirrorPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionRequestMirrorPolicyObservation.

func (*RouteActionRequestMirrorPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionRequestMirrorPolicyParameters

type RouteActionRequestMirrorPolicyParameters struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Reference to a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"`
}

func (*RouteActionRequestMirrorPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionRequestMirrorPolicyParameters.

func (*RouteActionRequestMirrorPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionRetryPolicyInitParameters

type RouteActionRetryPolicyInitParameters struct {

	// Specifies the allowed number retries. This number must be > 0.
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	PerTryTimeout *RetryPolicyPerTryTimeoutInitParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*RouteActionRetryPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionRetryPolicyInitParameters.

func (*RouteActionRetryPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionRetryPolicyObservation

type RouteActionRetryPolicyObservation struct {

	// Specifies the allowed number retries. This number must be > 0.
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	PerTryTimeout *RetryPolicyPerTryTimeoutObservation `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*RouteActionRetryPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionRetryPolicyObservation.

func (*RouteActionRetryPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionRetryPolicyParameters

type RouteActionRetryPolicyParameters struct {

	// Specifies the allowed number retries. This number must be > 0.
	// +kubebuilder:validation:Optional
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	PerTryTimeout *RetryPolicyPerTryTimeoutParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	// +kubebuilder:validation:Optional
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*RouteActionRetryPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionRetryPolicyParameters.

func (*RouteActionRetryPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionRetryPolicyPerTryTimeoutInitParameters

type RouteActionRetryPolicyPerTryTimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*RouteActionRetryPolicyPerTryTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionRetryPolicyPerTryTimeoutInitParameters.

func (*RouteActionRetryPolicyPerTryTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionRetryPolicyPerTryTimeoutObservation

type RouteActionRetryPolicyPerTryTimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*RouteActionRetryPolicyPerTryTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionRetryPolicyPerTryTimeoutObservation.

func (*RouteActionRetryPolicyPerTryTimeoutObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionRetryPolicyPerTryTimeoutParameters

type RouteActionRetryPolicyPerTryTimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds" tf:"seconds,omitempty"`
}

func (*RouteActionRetryPolicyPerTryTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionRetryPolicyPerTryTimeoutParameters.

func (*RouteActionRetryPolicyPerTryTimeoutParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionTimeoutInitParameters

type RouteActionTimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*RouteActionTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionTimeoutInitParameters.

func (*RouteActionTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionTimeoutObservation

type RouteActionTimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*RouteActionTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionTimeoutObservation.

func (*RouteActionTimeoutObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionTimeoutParameters

type RouteActionTimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds" tf:"seconds,omitempty"`
}

func (*RouteActionTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionTimeoutParameters.

func (*RouteActionTimeoutParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionURLRewriteInitParameters

type RouteActionURLRewriteInitParameters struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*RouteActionURLRewriteInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionURLRewriteInitParameters.

func (*RouteActionURLRewriteInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionURLRewriteObservation

type RouteActionURLRewriteObservation struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*RouteActionURLRewriteObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionURLRewriteObservation.

func (*RouteActionURLRewriteObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionURLRewriteParameters

type RouteActionURLRewriteParameters struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	// +kubebuilder:validation:Optional
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*RouteActionURLRewriteParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionURLRewriteParameters.

func (*RouteActionURLRewriteParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionWeightedBackendServicesHeaderActionInitParameters

type RouteActionWeightedBackendServicesHeaderActionInitParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []WeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []WeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*RouteActionWeightedBackendServicesHeaderActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesHeaderActionInitParameters.

func (*RouteActionWeightedBackendServicesHeaderActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionWeightedBackendServicesHeaderActionObservation

type RouteActionWeightedBackendServicesHeaderActionObservation struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []WeightedBackendServicesHeaderActionRequestHeadersToAddObservation `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []WeightedBackendServicesHeaderActionResponseHeadersToAddObservation `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*RouteActionWeightedBackendServicesHeaderActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesHeaderActionObservation.

func (*RouteActionWeightedBackendServicesHeaderActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionWeightedBackendServicesHeaderActionParameters

type RouteActionWeightedBackendServicesHeaderActionParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestHeadersToAdd []WeightedBackendServicesHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	// +kubebuilder:validation:Optional
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ResponseHeadersToAdd []WeightedBackendServicesHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	// +kubebuilder:validation:Optional
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*RouteActionWeightedBackendServicesHeaderActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesHeaderActionParameters.

func (*RouteActionWeightedBackendServicesHeaderActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters

type RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters.

func (*RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation

type RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation.

func (*RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters

type RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters.

func (*RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters

type RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters.

func (*RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation

type RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation.

func (*RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters

type RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters.

func (*RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionWeightedBackendServicesInitParameters

type RouteActionWeightedBackendServicesInitParameters struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Reference to a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *WeightedBackendServicesHeaderActionInitParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*RouteActionWeightedBackendServicesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesInitParameters.

func (*RouteActionWeightedBackendServicesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionWeightedBackendServicesObservation

type RouteActionWeightedBackendServicesObservation struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *WeightedBackendServicesHeaderActionObservation `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*RouteActionWeightedBackendServicesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesObservation.

func (*RouteActionWeightedBackendServicesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteActionWeightedBackendServicesParameters

type RouteActionWeightedBackendServicesParameters struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Reference to a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HeaderAction *WeightedBackendServicesHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	// +kubebuilder:validation:Optional
	Weight *float64 `json:"weight" tf:"weight,omitempty"`
}

func (*RouteActionWeightedBackendServicesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesParameters.

func (*RouteActionWeightedBackendServicesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesHeaderActionInitParameters

type RouteRulesHeaderActionInitParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []RouteRulesHeaderActionRequestHeadersToAddInitParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []RouteRulesHeaderActionResponseHeadersToAddInitParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*RouteRulesHeaderActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesHeaderActionInitParameters.

func (*RouteRulesHeaderActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesHeaderActionObservation

type RouteRulesHeaderActionObservation struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []RouteRulesHeaderActionRequestHeadersToAddObservation `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []RouteRulesHeaderActionResponseHeadersToAddObservation `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*RouteRulesHeaderActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesHeaderActionObservation.

func (*RouteRulesHeaderActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesHeaderActionParameters

type RouteRulesHeaderActionParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestHeadersToAdd []RouteRulesHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	// +kubebuilder:validation:Optional
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ResponseHeadersToAdd []RouteRulesHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	// +kubebuilder:validation:Optional
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*RouteRulesHeaderActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesHeaderActionParameters.

func (*RouteRulesHeaderActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesHeaderActionRequestHeadersToAddInitParameters

type RouteRulesHeaderActionRequestHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*RouteRulesHeaderActionRequestHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesHeaderActionRequestHeadersToAddInitParameters.

func (*RouteRulesHeaderActionRequestHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesHeaderActionRequestHeadersToAddObservation

type RouteRulesHeaderActionRequestHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*RouteRulesHeaderActionRequestHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesHeaderActionRequestHeadersToAddObservation.

func (*RouteRulesHeaderActionRequestHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesHeaderActionRequestHeadersToAddParameters

type RouteRulesHeaderActionRequestHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*RouteRulesHeaderActionRequestHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesHeaderActionRequestHeadersToAddParameters.

func (*RouteRulesHeaderActionRequestHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesHeaderActionResponseHeadersToAddInitParameters

type RouteRulesHeaderActionResponseHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*RouteRulesHeaderActionResponseHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesHeaderActionResponseHeadersToAddInitParameters.

func (*RouteRulesHeaderActionResponseHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesHeaderActionResponseHeadersToAddObservation

type RouteRulesHeaderActionResponseHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*RouteRulesHeaderActionResponseHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesHeaderActionResponseHeadersToAddObservation.

func (*RouteRulesHeaderActionResponseHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesHeaderActionResponseHeadersToAddParameters

type RouteRulesHeaderActionResponseHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*RouteRulesHeaderActionResponseHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesHeaderActionResponseHeadersToAddParameters.

func (*RouteRulesHeaderActionResponseHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesInitParameters

type RouteRulesInitParameters struct {

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *RouteRulesHeaderActionInitParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// The rules for determining a match.
	// Structure is documented below.
	MatchRules []MatchRulesInitParameters `json:"matchRules,omitempty" tf:"match_rules,omitempty"`

	// For routeRules within a given pathMatcher, priority determines the order
	// in which load balancer will interpret routeRules. RouteRules are evaluated
	// in order of priority, from the lowest to highest number. The priority of
	// a rule decreases as its number increases (1, 2, 3, N+1). The first rule
	// that matches the request is applied.
	// You cannot configure two or more routeRules with the same priority.
	// Priority for each rule must be set to a number between 0 and
	// 2147483647 inclusive.
	// Priority numbers can have gaps, which enable you to add or remove rules
	// in the future without affecting the rest of the rules. For example,
	// 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which
	// you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
	// future without any impact on existing rules.
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// In response to a matching matchRule, the load balancer performs advanced routing
	// actions like URL rewrites, header transformations, etc. prior to forwarding the
	// request to the selected backend. If  routeAction specifies any
	// weightedBackendServices, service must not be set. Conversely if service is set,
	// routeAction cannot contain any  weightedBackendServices. Only one of routeAction
	// or urlRedirect must be set.
	// Structure is documented below.
	RouteAction *RouteRulesRouteActionInitParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"`

	// A reference to expected RegionBackendService resource the given URL should be mapped to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// Reference to a RegionBackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"`

	// When this rule is matched, the request is redirected to a URL specified by
	// urlRedirect. If urlRedirect is specified, service or routeAction must not be
	// set.
	// Structure is documented below.
	URLRedirect *RouteRulesURLRedirectInitParameters `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"`
}

func (*RouteRulesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesInitParameters.

func (*RouteRulesInitParameters) DeepCopyInto

func (in *RouteRulesInitParameters) DeepCopyInto(out *RouteRulesInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesMatchRulesInitParameters

type RouteRulesMatchRulesInitParameters struct {

	// For satisfying the matchRule condition, the path of the request must exactly
	// match the value specified in fullPathMatch after removing any query parameters
	// and anchor that may be part of the original URL. FullPathMatch must be between 1
	// and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
	// be specified.
	FullPathMatch *string `json:"fullPathMatch,omitempty" tf:"full_path_match,omitempty"`

	// Specifies a list of header match criteria, all of which must match corresponding
	// headers in the request.
	// Structure is documented below.
	HeaderMatches []MatchRulesHeaderMatchesInitParameters `json:"headerMatches,omitempty" tf:"header_matches,omitempty"`

	// Specifies that prefixMatch and fullPathMatch matches are case sensitive.
	// Defaults to false.
	IgnoreCase *bool `json:"ignoreCase,omitempty" tf:"ignore_case,omitempty"`

	// Opaque filter criteria used by Loadbalancer to restrict routing configuration to
	// a limited set xDS compliant clients. In their xDS requests to Loadbalancer, xDS
	// clients present node metadata. If a match takes place, the relevant routing
	// configuration is made available to those proxies. For each metadataFilter in
	// this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the
	// filterLabels must match the corresponding label provided in the metadata. If its
	// filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match
	// with corresponding labels in the provided metadata. metadataFilters specified
	// here can be overrides those specified in ForwardingRule that refers to this
	// UrlMap. metadataFilters only applies to Loadbalancers that have their
	// loadBalancingScheme set to INTERNAL_SELF_MANAGED.
	// Structure is documented below.
	MetadataFilters []RouteRulesMatchRulesMetadataFiltersInitParameters `json:"metadataFilters,omitempty" tf:"metadata_filters,omitempty"`

	// For satisfying the matchRule condition, the path of the request
	// must match the wildcard pattern specified in pathTemplateMatch
	// after removing any query parameters and anchor that may be part
	// of the original URL.
	// pathTemplateMatch must be between 1 and 255 characters
	// (inclusive).  The pattern specified by pathTemplateMatch may
	// have at most 5 wildcard operators and at most 5 variable
	// captures in total.
	PathTemplateMatch *string `json:"pathTemplateMatch,omitempty" tf:"path_template_match,omitempty"`

	// For satisfying the matchRule condition, the request's path must begin with the
	// specified prefixMatch. prefixMatch must begin with a /. The value must be
	// between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
	// regexMatch must be specified.
	PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"`

	// Specifies a list of query parameter match criteria, all of which must match
	// corresponding query parameters in the request.
	// Structure is documented below.
	QueryParameterMatches []MatchRulesQueryParameterMatchesInitParameters `json:"queryParameterMatches,omitempty" tf:"query_parameter_matches,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`
}

func (*RouteRulesMatchRulesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesMatchRulesInitParameters.

func (*RouteRulesMatchRulesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesMatchRulesMetadataFiltersInitParameters

type RouteRulesMatchRulesMetadataFiltersInitParameters struct {

	// The list of label value pairs that must match labels in the provided metadata
	// based on filterMatchCriteria  This list must not be empty and can have at the
	// most 64 entries.
	// Structure is documented below.
	FilterLabels []MatchRulesMetadataFiltersFilterLabelsInitParameters `json:"filterLabels,omitempty" tf:"filter_labels,omitempty"`

	// Specifies how individual filterLabel matches within the list of filterLabels
	// contribute towards the overall metadataFilter match. Supported values are:
	FilterMatchCriteria *string `json:"filterMatchCriteria,omitempty" tf:"filter_match_criteria,omitempty"`
}

func (*RouteRulesMatchRulesMetadataFiltersInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesMatchRulesMetadataFiltersInitParameters.

func (*RouteRulesMatchRulesMetadataFiltersInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesMatchRulesMetadataFiltersObservation

type RouteRulesMatchRulesMetadataFiltersObservation struct {

	// The list of label value pairs that must match labels in the provided metadata
	// based on filterMatchCriteria  This list must not be empty and can have at the
	// most 64 entries.
	// Structure is documented below.
	FilterLabels []MatchRulesMetadataFiltersFilterLabelsObservation `json:"filterLabels,omitempty" tf:"filter_labels,omitempty"`

	// Specifies how individual filterLabel matches within the list of filterLabels
	// contribute towards the overall metadataFilter match. Supported values are:
	FilterMatchCriteria *string `json:"filterMatchCriteria,omitempty" tf:"filter_match_criteria,omitempty"`
}

func (*RouteRulesMatchRulesMetadataFiltersObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesMatchRulesMetadataFiltersObservation.

func (*RouteRulesMatchRulesMetadataFiltersObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesMatchRulesMetadataFiltersParameters

type RouteRulesMatchRulesMetadataFiltersParameters struct {

	// The list of label value pairs that must match labels in the provided metadata
	// based on filterMatchCriteria  This list must not be empty and can have at the
	// most 64 entries.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FilterLabels []MatchRulesMetadataFiltersFilterLabelsParameters `json:"filterLabels" tf:"filter_labels,omitempty"`

	// Specifies how individual filterLabel matches within the list of filterLabels
	// contribute towards the overall metadataFilter match. Supported values are:
	// +kubebuilder:validation:Optional
	FilterMatchCriteria *string `json:"filterMatchCriteria" tf:"filter_match_criteria,omitempty"`
}

func (*RouteRulesMatchRulesMetadataFiltersParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesMatchRulesMetadataFiltersParameters.

func (*RouteRulesMatchRulesMetadataFiltersParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesMatchRulesObservation

type RouteRulesMatchRulesObservation struct {

	// For satisfying the matchRule condition, the path of the request must exactly
	// match the value specified in fullPathMatch after removing any query parameters
	// and anchor that may be part of the original URL. FullPathMatch must be between 1
	// and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
	// be specified.
	FullPathMatch *string `json:"fullPathMatch,omitempty" tf:"full_path_match,omitempty"`

	// Specifies a list of header match criteria, all of which must match corresponding
	// headers in the request.
	// Structure is documented below.
	HeaderMatches []MatchRulesHeaderMatchesObservation `json:"headerMatches,omitempty" tf:"header_matches,omitempty"`

	// Specifies that prefixMatch and fullPathMatch matches are case sensitive.
	// Defaults to false.
	IgnoreCase *bool `json:"ignoreCase,omitempty" tf:"ignore_case,omitempty"`

	// Opaque filter criteria used by Loadbalancer to restrict routing configuration to
	// a limited set xDS compliant clients. In their xDS requests to Loadbalancer, xDS
	// clients present node metadata. If a match takes place, the relevant routing
	// configuration is made available to those proxies. For each metadataFilter in
	// this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the
	// filterLabels must match the corresponding label provided in the metadata. If its
	// filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match
	// with corresponding labels in the provided metadata. metadataFilters specified
	// here can be overrides those specified in ForwardingRule that refers to this
	// UrlMap. metadataFilters only applies to Loadbalancers that have their
	// loadBalancingScheme set to INTERNAL_SELF_MANAGED.
	// Structure is documented below.
	MetadataFilters []RouteRulesMatchRulesMetadataFiltersObservation `json:"metadataFilters,omitempty" tf:"metadata_filters,omitempty"`

	// For satisfying the matchRule condition, the path of the request
	// must match the wildcard pattern specified in pathTemplateMatch
	// after removing any query parameters and anchor that may be part
	// of the original URL.
	// pathTemplateMatch must be between 1 and 255 characters
	// (inclusive).  The pattern specified by pathTemplateMatch may
	// have at most 5 wildcard operators and at most 5 variable
	// captures in total.
	PathTemplateMatch *string `json:"pathTemplateMatch,omitempty" tf:"path_template_match,omitempty"`

	// For satisfying the matchRule condition, the request's path must begin with the
	// specified prefixMatch. prefixMatch must begin with a /. The value must be
	// between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
	// regexMatch must be specified.
	PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"`

	// Specifies a list of query parameter match criteria, all of which must match
	// corresponding query parameters in the request.
	// Structure is documented below.
	QueryParameterMatches []MatchRulesQueryParameterMatchesObservation `json:"queryParameterMatches,omitempty" tf:"query_parameter_matches,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`
}

func (*RouteRulesMatchRulesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesMatchRulesObservation.

func (*RouteRulesMatchRulesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesMatchRulesParameters

type RouteRulesMatchRulesParameters struct {

	// For satisfying the matchRule condition, the path of the request must exactly
	// match the value specified in fullPathMatch after removing any query parameters
	// and anchor that may be part of the original URL. FullPathMatch must be between 1
	// and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
	// be specified.
	// +kubebuilder:validation:Optional
	FullPathMatch *string `json:"fullPathMatch,omitempty" tf:"full_path_match,omitempty"`

	// Specifies a list of header match criteria, all of which must match corresponding
	// headers in the request.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HeaderMatches []MatchRulesHeaderMatchesParameters `json:"headerMatches,omitempty" tf:"header_matches,omitempty"`

	// Specifies that prefixMatch and fullPathMatch matches are case sensitive.
	// Defaults to false.
	// +kubebuilder:validation:Optional
	IgnoreCase *bool `json:"ignoreCase,omitempty" tf:"ignore_case,omitempty"`

	// Opaque filter criteria used by Loadbalancer to restrict routing configuration to
	// a limited set xDS compliant clients. In their xDS requests to Loadbalancer, xDS
	// clients present node metadata. If a match takes place, the relevant routing
	// configuration is made available to those proxies. For each metadataFilter in
	// this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the
	// filterLabels must match the corresponding label provided in the metadata. If its
	// filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match
	// with corresponding labels in the provided metadata. metadataFilters specified
	// here can be overrides those specified in ForwardingRule that refers to this
	// UrlMap. metadataFilters only applies to Loadbalancers that have their
	// loadBalancingScheme set to INTERNAL_SELF_MANAGED.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	MetadataFilters []RouteRulesMatchRulesMetadataFiltersParameters `json:"metadataFilters,omitempty" tf:"metadata_filters,omitempty"`

	// For satisfying the matchRule condition, the path of the request
	// must match the wildcard pattern specified in pathTemplateMatch
	// after removing any query parameters and anchor that may be part
	// of the original URL.
	// pathTemplateMatch must be between 1 and 255 characters
	// (inclusive).  The pattern specified by pathTemplateMatch may
	// have at most 5 wildcard operators and at most 5 variable
	// captures in total.
	// +kubebuilder:validation:Optional
	PathTemplateMatch *string `json:"pathTemplateMatch,omitempty" tf:"path_template_match,omitempty"`

	// For satisfying the matchRule condition, the request's path must begin with the
	// specified prefixMatch. prefixMatch must begin with a /. The value must be
	// between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
	// regexMatch must be specified.
	// +kubebuilder:validation:Optional
	PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"`

	// Specifies a list of query parameter match criteria, all of which must match
	// corresponding query parameters in the request.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	QueryParameterMatches []MatchRulesQueryParameterMatchesParameters `json:"queryParameterMatches,omitempty" tf:"query_parameter_matches,omitempty"`

	// The queryParameterMatch matches if the value of the parameter matches the
	// regular expression specified by regexMatch. For the regular expression grammar,
	// please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
	// exactMatch and regexMatch must be set.
	// +kubebuilder:validation:Optional
	RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"`
}

func (*RouteRulesMatchRulesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesMatchRulesParameters.

func (*RouteRulesMatchRulesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesObservation

type RouteRulesObservation struct {

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *RouteRulesHeaderActionObservation `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// The rules for determining a match.
	// Structure is documented below.
	MatchRules []MatchRulesObservation `json:"matchRules,omitempty" tf:"match_rules,omitempty"`

	// For routeRules within a given pathMatcher, priority determines the order
	// in which load balancer will interpret routeRules. RouteRules are evaluated
	// in order of priority, from the lowest to highest number. The priority of
	// a rule decreases as its number increases (1, 2, 3, N+1). The first rule
	// that matches the request is applied.
	// You cannot configure two or more routeRules with the same priority.
	// Priority for each rule must be set to a number between 0 and
	// 2147483647 inclusive.
	// Priority numbers can have gaps, which enable you to add or remove rules
	// in the future without affecting the rest of the rules. For example,
	// 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which
	// you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
	// future without any impact on existing rules.
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// In response to a matching matchRule, the load balancer performs advanced routing
	// actions like URL rewrites, header transformations, etc. prior to forwarding the
	// request to the selected backend. If  routeAction specifies any
	// weightedBackendServices, service must not be set. Conversely if service is set,
	// routeAction cannot contain any  weightedBackendServices. Only one of routeAction
	// or urlRedirect must be set.
	// Structure is documented below.
	RouteAction *RouteRulesRouteActionObservation `json:"routeAction,omitempty" tf:"route_action,omitempty"`

	// A reference to expected RegionBackendService resource the given URL should be mapped to.
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// When this rule is matched, the request is redirected to a URL specified by
	// urlRedirect. If urlRedirect is specified, service or routeAction must not be
	// set.
	// Structure is documented below.
	URLRedirect *RouteRulesURLRedirectObservation `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"`
}

func (*RouteRulesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesObservation.

func (*RouteRulesObservation) DeepCopyInto

func (in *RouteRulesObservation) DeepCopyInto(out *RouteRulesObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesParameters

type RouteRulesParameters struct {

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HeaderAction *RouteRulesHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// The rules for determining a match.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	MatchRules []MatchRulesParameters `json:"matchRules,omitempty" tf:"match_rules,omitempty"`

	// For routeRules within a given pathMatcher, priority determines the order
	// in which load balancer will interpret routeRules. RouteRules are evaluated
	// in order of priority, from the lowest to highest number. The priority of
	// a rule decreases as its number increases (1, 2, 3, N+1). The first rule
	// that matches the request is applied.
	// You cannot configure two or more routeRules with the same priority.
	// Priority for each rule must be set to a number between 0 and
	// 2147483647 inclusive.
	// Priority numbers can have gaps, which enable you to add or remove rules
	// in the future without affecting the rest of the rules. For example,
	// 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which
	// you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
	// future without any impact on existing rules.
	// +kubebuilder:validation:Optional
	Priority *float64 `json:"priority" tf:"priority,omitempty"`

	// In response to a matching matchRule, the load balancer performs advanced routing
	// actions like URL rewrites, header transformations, etc. prior to forwarding the
	// request to the selected backend. If  routeAction specifies any
	// weightedBackendServices, service must not be set. Conversely if service is set,
	// routeAction cannot contain any  weightedBackendServices. Only one of routeAction
	// or urlRedirect must be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RouteAction *RouteRulesRouteActionParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"`

	// A reference to expected RegionBackendService resource the given URL should be mapped to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// Reference to a RegionBackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"`

	// When this rule is matched, the request is redirected to a URL specified by
	// urlRedirect. If urlRedirect is specified, service or routeAction must not be
	// set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	URLRedirect *RouteRulesURLRedirectParameters `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"`
}

func (*RouteRulesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesParameters.

func (*RouteRulesParameters) DeepCopyInto

func (in *RouteRulesParameters) DeepCopyInto(out *RouteRulesParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionCorsPolicyInitParameters

type RouteRulesRouteActionCorsPolicyInitParameters struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	// which indicates that the CORS policy is in effect. Defaults to false.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*RouteRulesRouteActionCorsPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionCorsPolicyInitParameters.

func (*RouteRulesRouteActionCorsPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionCorsPolicyObservation

type RouteRulesRouteActionCorsPolicyObservation struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	// which indicates that the CORS policy is in effect. Defaults to false.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*RouteRulesRouteActionCorsPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionCorsPolicyObservation.

func (*RouteRulesRouteActionCorsPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionCorsPolicyParameters

type RouteRulesRouteActionCorsPolicyParameters struct {

	// In response to a preflight request, setting this to true indicates that the
	// actual request can include user credentials. This translates to the Access-
	// Control-Allow-Credentials header. Defaults to false.
	// +kubebuilder:validation:Optional
	AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"`

	// Specifies the content for the Access-Control-Allow-Headers header.
	// +kubebuilder:validation:Optional
	AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"`

	// Specifies the content for the Access-Control-Allow-Methods header.
	// +kubebuilder:validation:Optional
	AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"`

	// Specifies the regular expression patterns that match allowed origins. For
	// regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
	// An origin is allowed if it matches either allow_origins or allow_origin_regex.
	// +kubebuilder:validation:Optional
	AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"`

	// Specifies the list of origins that will be allowed to do CORS requests. An
	// origin is allowed if it matches either allow_origins or allow_origin_regex.
	// +kubebuilder:validation:Optional
	AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"`

	// If true, specifies the CORS policy is disabled.
	// which indicates that the CORS policy is in effect. Defaults to false.
	// +kubebuilder:validation:Optional
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// Specifies the content for the Access-Control-Expose-Headers header.
	// +kubebuilder:validation:Optional
	ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"`

	// Specifies how long the results of a preflight request can be cached. This
	// translates to the content for the Access-Control-Max-Age header.
	// +kubebuilder:validation:Optional
	MaxAge *float64 `json:"maxAge,omitempty" tf:"max_age,omitempty"`
}

func (*RouteRulesRouteActionCorsPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionCorsPolicyParameters.

func (*RouteRulesRouteActionCorsPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionFaultInjectionPolicyAbortInitParameters

type RouteRulesRouteActionFaultInjectionPolicyAbortInitParameters struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*RouteRulesRouteActionFaultInjectionPolicyAbortInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyAbortInitParameters.

func (*RouteRulesRouteActionFaultInjectionPolicyAbortInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionFaultInjectionPolicyAbortObservation

type RouteRulesRouteActionFaultInjectionPolicyAbortObservation struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*RouteRulesRouteActionFaultInjectionPolicyAbortObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyAbortObservation.

func (*RouteRulesRouteActionFaultInjectionPolicyAbortObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionFaultInjectionPolicyAbortParameters

type RouteRulesRouteActionFaultInjectionPolicyAbortParameters struct {

	// The HTTP status code used to abort the request. The value must be between 200
	// and 599 inclusive.
	// +kubebuilder:validation:Optional
	HTTPStatus *float64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	// +kubebuilder:validation:Optional
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*RouteRulesRouteActionFaultInjectionPolicyAbortParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyAbortParameters.

func (*RouteRulesRouteActionFaultInjectionPolicyAbortParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters

type RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters.

func (*RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayObservation

type RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayObservation.

func (*RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayParameters

type RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds" tf:"seconds,omitempty"`
}

func (*RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayParameters.

func (*RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionFaultInjectionPolicyDelayInitParameters

type RouteRulesRouteActionFaultInjectionPolicyDelayInitParameters struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	FixedDelay *RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayInitParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*RouteRulesRouteActionFaultInjectionPolicyDelayInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyDelayInitParameters.

func (*RouteRulesRouteActionFaultInjectionPolicyDelayInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionFaultInjectionPolicyDelayObservation

type RouteRulesRouteActionFaultInjectionPolicyDelayObservation struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	FixedDelay *RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayObservation `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*RouteRulesRouteActionFaultInjectionPolicyDelayObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyDelayObservation.

func (*RouteRulesRouteActionFaultInjectionPolicyDelayObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionFaultInjectionPolicyDelayParameters

type RouteRulesRouteActionFaultInjectionPolicyDelayParameters struct {

	// Specifies the value of the fixed delay interval.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FixedDelay *RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"`

	// The percentage of traffic (connections/operations/requests) on which delay will
	// be introduced as part of fault injection. The value must be between 0.0 and
	// 100.0 inclusive.
	// +kubebuilder:validation:Optional
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*RouteRulesRouteActionFaultInjectionPolicyDelayParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyDelayParameters.

func (*RouteRulesRouteActionFaultInjectionPolicyDelayParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionFaultInjectionPolicyInitParameters

type RouteRulesRouteActionFaultInjectionPolicyInitParameters struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	Abort *RouteActionFaultInjectionPolicyAbortInitParameters `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	Delay *RouteActionFaultInjectionPolicyDelayInitParameters `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*RouteRulesRouteActionFaultInjectionPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyInitParameters.

func (*RouteRulesRouteActionFaultInjectionPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionFaultInjectionPolicyObservation

type RouteRulesRouteActionFaultInjectionPolicyObservation struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	Abort *RouteActionFaultInjectionPolicyAbortObservation `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	Delay *RouteActionFaultInjectionPolicyDelayObservation `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*RouteRulesRouteActionFaultInjectionPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyObservation.

func (*RouteRulesRouteActionFaultInjectionPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionFaultInjectionPolicyParameters

type RouteRulesRouteActionFaultInjectionPolicyParameters struct {

	// The specification for how client requests are aborted as part of fault
	// injection.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Abort *RouteActionFaultInjectionPolicyAbortParameters `json:"abort,omitempty" tf:"abort,omitempty"`

	// The specification for how client requests are delayed as part of fault
	// injection, before being sent to a backend service.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Delay *RouteActionFaultInjectionPolicyDelayParameters `json:"delay,omitempty" tf:"delay,omitempty"`
}

func (*RouteRulesRouteActionFaultInjectionPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyParameters.

func (*RouteRulesRouteActionFaultInjectionPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionInitParameters

type RouteRulesRouteActionInitParameters struct {

	// The specification for allowing client side cross-origin requests. Please see W3C
	// Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	CorsPolicy *RouteRulesRouteActionCorsPolicyInitParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the
	// resiliency of clients to backend service failure. As part of fault injection,
	// when clients send requests to a backend service, delays can be introduced by
	// Loadbalancer on a percentage of requests before sending those request to the
	// backend service. Similarly requests from clients can be aborted by the
	// Loadbalancer for a percentage of requests. timeout and retry_policy will be
	// ignored by clients that are configured with a fault_injection_policy.
	// Structure is documented below.
	FaultInjectionPolicy *RouteRulesRouteActionFaultInjectionPolicyInitParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are
	// shadowed to a separate mirrored backend service. Loadbalancer does not wait for
	// responses from the shadow service. Prior to sending traffic to the shadow
	// service, the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	RequestMirrorPolicy *RouteRulesRouteActionRequestMirrorPolicyInitParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	RetryPolicy *RouteRulesRouteActionRetryPolicyInitParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time
	// the request is has been fully processed (i.e. end-of-stream) up until the
	// response has been completely processed. Timeout includes all retries. If not
	// specified, the default value is 15 seconds.
	// Structure is documented below.
	Timeout *RouteRulesRouteActionTimeoutInitParameters `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to
	// the matched service
	// Structure is documented below.
	URLRewrite *RouteRulesRouteActionURLRewriteInitParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match
	// occurs. The weights determine the fraction of traffic that flows to their
	// corresponding backend service. If all traffic needs to go to a single backend
	// service, there must be one  weightedBackendService with weight set to a non 0
	// number. Once a backendService is identified and before forwarding the request to
	// the backend service, advanced routing actions like Url rewrites and header
	// transformations are applied depending on additional settings specified in this
	// HttpRouteAction.
	// Structure is documented below.
	WeightedBackendServices []RouteRulesRouteActionWeightedBackendServicesInitParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*RouteRulesRouteActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionInitParameters.

func (*RouteRulesRouteActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionObservation

type RouteRulesRouteActionObservation struct {

	// The specification for allowing client side cross-origin requests. Please see W3C
	// Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	CorsPolicy *RouteRulesRouteActionCorsPolicyObservation `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the
	// resiliency of clients to backend service failure. As part of fault injection,
	// when clients send requests to a backend service, delays can be introduced by
	// Loadbalancer on a percentage of requests before sending those request to the
	// backend service. Similarly requests from clients can be aborted by the
	// Loadbalancer for a percentage of requests. timeout and retry_policy will be
	// ignored by clients that are configured with a fault_injection_policy.
	// Structure is documented below.
	FaultInjectionPolicy *RouteRulesRouteActionFaultInjectionPolicyObservation `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are
	// shadowed to a separate mirrored backend service. Loadbalancer does not wait for
	// responses from the shadow service. Prior to sending traffic to the shadow
	// service, the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	RequestMirrorPolicy *RouteRulesRouteActionRequestMirrorPolicyObservation `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	RetryPolicy *RouteRulesRouteActionRetryPolicyObservation `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time
	// the request is has been fully processed (i.e. end-of-stream) up until the
	// response has been completely processed. Timeout includes all retries. If not
	// specified, the default value is 15 seconds.
	// Structure is documented below.
	Timeout *RouteRulesRouteActionTimeoutObservation `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to
	// the matched service
	// Structure is documented below.
	URLRewrite *RouteRulesRouteActionURLRewriteObservation `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match
	// occurs. The weights determine the fraction of traffic that flows to their
	// corresponding backend service. If all traffic needs to go to a single backend
	// service, there must be one  weightedBackendService with weight set to a non 0
	// number. Once a backendService is identified and before forwarding the request to
	// the backend service, advanced routing actions like Url rewrites and header
	// transformations are applied depending on additional settings specified in this
	// HttpRouteAction.
	// Structure is documented below.
	WeightedBackendServices []RouteRulesRouteActionWeightedBackendServicesObservation `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*RouteRulesRouteActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionObservation.

func (*RouteRulesRouteActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionParameters

type RouteRulesRouteActionParameters struct {

	// The specification for allowing client side cross-origin requests. Please see W3C
	// Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CorsPolicy *RouteRulesRouteActionCorsPolicyParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the
	// resiliency of clients to backend service failure. As part of fault injection,
	// when clients send requests to a backend service, delays can be introduced by
	// Loadbalancer on a percentage of requests before sending those request to the
	// backend service. Similarly requests from clients can be aborted by the
	// Loadbalancer for a percentage of requests. timeout and retry_policy will be
	// ignored by clients that are configured with a fault_injection_policy.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FaultInjectionPolicy *RouteRulesRouteActionFaultInjectionPolicyParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are
	// shadowed to a separate mirrored backend service. Loadbalancer does not wait for
	// responses from the shadow service. Prior to sending traffic to the shadow
	// service, the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestMirrorPolicy *RouteRulesRouteActionRequestMirrorPolicyParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RetryPolicy *RouteRulesRouteActionRetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time
	// the request is has been fully processed (i.e. end-of-stream) up until the
	// response has been completely processed. Timeout includes all retries. If not
	// specified, the default value is 15 seconds.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Timeout *RouteRulesRouteActionTimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to
	// the matched service
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	URLRewrite *RouteRulesRouteActionURLRewriteParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match
	// occurs. The weights determine the fraction of traffic that flows to their
	// corresponding backend service. If all traffic needs to go to a single backend
	// service, there must be one  weightedBackendService with weight set to a non 0
	// number. Once a backendService is identified and before forwarding the request to
	// the backend service, advanced routing actions like Url rewrites and header
	// transformations are applied depending on additional settings specified in this
	// HttpRouteAction.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	WeightedBackendServices []RouteRulesRouteActionWeightedBackendServicesParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*RouteRulesRouteActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionParameters.

func (*RouteRulesRouteActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionRequestMirrorPolicyInitParameters

type RouteRulesRouteActionRequestMirrorPolicyInitParameters struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`
}

func (*RouteRulesRouteActionRequestMirrorPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionRequestMirrorPolicyInitParameters.

func (*RouteRulesRouteActionRequestMirrorPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionRequestMirrorPolicyObservation

type RouteRulesRouteActionRequestMirrorPolicyObservation struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`
}

func (*RouteRulesRouteActionRequestMirrorPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionRequestMirrorPolicyObservation.

func (*RouteRulesRouteActionRequestMirrorPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionRequestMirrorPolicyParameters

type RouteRulesRouteActionRequestMirrorPolicyParameters struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +kubebuilder:validation:Optional
	BackendService *string `json:"backendService" tf:"backend_service,omitempty"`
}

func (*RouteRulesRouteActionRequestMirrorPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionRequestMirrorPolicyParameters.

func (*RouteRulesRouteActionRequestMirrorPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionRetryPolicyInitParameters

type RouteRulesRouteActionRetryPolicyInitParameters struct {

	// Specifies the allowed number retries. This number must be > 0.
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	PerTryTimeout *RouteActionRetryPolicyPerTryTimeoutInitParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*RouteRulesRouteActionRetryPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionRetryPolicyInitParameters.

func (*RouteRulesRouteActionRetryPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionRetryPolicyObservation

type RouteRulesRouteActionRetryPolicyObservation struct {

	// Specifies the allowed number retries. This number must be > 0.
	NumRetries *float64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	PerTryTimeout *RouteActionRetryPolicyPerTryTimeoutObservation `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*RouteRulesRouteActionRetryPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionRetryPolicyObservation.

func (*RouteRulesRouteActionRetryPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionRetryPolicyParameters

type RouteRulesRouteActionRetryPolicyParameters struct {

	// Specifies the allowed number retries. This number must be > 0.
	// +kubebuilder:validation:Optional
	NumRetries *float64 `json:"numRetries" tf:"num_retries,omitempty"`

	// Specifies a non-zero timeout per retry attempt.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	PerTryTimeout *RouteActionRetryPolicyPerTryTimeoutParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"`

	// Specifies one or more conditions when this retry rule applies. Valid values are:
	// +kubebuilder:validation:Optional
	RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"`
}

func (*RouteRulesRouteActionRetryPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionRetryPolicyParameters.

func (*RouteRulesRouteActionRetryPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionRetryPolicyPerTryTimeoutInitParameters

type RouteRulesRouteActionRetryPolicyPerTryTimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*RouteRulesRouteActionRetryPolicyPerTryTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionRetryPolicyPerTryTimeoutInitParameters.

func (*RouteRulesRouteActionRetryPolicyPerTryTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionRetryPolicyPerTryTimeoutObservation

type RouteRulesRouteActionRetryPolicyPerTryTimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*RouteRulesRouteActionRetryPolicyPerTryTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionRetryPolicyPerTryTimeoutObservation.

func (*RouteRulesRouteActionRetryPolicyPerTryTimeoutObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionRetryPolicyPerTryTimeoutParameters

type RouteRulesRouteActionRetryPolicyPerTryTimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds" tf:"seconds,omitempty"`
}

func (*RouteRulesRouteActionRetryPolicyPerTryTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionRetryPolicyPerTryTimeoutParameters.

func (*RouteRulesRouteActionRetryPolicyPerTryTimeoutParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionTimeoutInitParameters

type RouteRulesRouteActionTimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*RouteRulesRouteActionTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionTimeoutInitParameters.

func (*RouteRulesRouteActionTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionTimeoutObservation

type RouteRulesRouteActionTimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*RouteRulesRouteActionTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionTimeoutObservation.

func (*RouteRulesRouteActionTimeoutObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionTimeoutParameters

type RouteRulesRouteActionTimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds" tf:"seconds,omitempty"`
}

func (*RouteRulesRouteActionTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionTimeoutParameters.

func (*RouteRulesRouteActionTimeoutParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionURLRewriteInitParameters

type RouteRulesRouteActionURLRewriteInitParameters struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*RouteRulesRouteActionURLRewriteInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionURLRewriteInitParameters.

func (*RouteRulesRouteActionURLRewriteInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionURLRewriteObservation

type RouteRulesRouteActionURLRewriteObservation struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*RouteRulesRouteActionURLRewriteObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionURLRewriteObservation.

func (*RouteRulesRouteActionURLRewriteObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionURLRewriteParameters

type RouteRulesRouteActionURLRewriteParameters struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	// +kubebuilder:validation:Optional
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*RouteRulesRouteActionURLRewriteParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionURLRewriteParameters.

func (*RouteRulesRouteActionURLRewriteParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionWeightedBackendServicesHeaderActionInitParameters

type RouteRulesRouteActionWeightedBackendServicesHeaderActionInitParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesHeaderActionInitParameters.

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionWeightedBackendServicesHeaderActionObservation

type RouteRulesRouteActionWeightedBackendServicesHeaderActionObservation struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesHeaderActionObservation.

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionWeightedBackendServicesHeaderActionParameters

type RouteRulesRouteActionWeightedBackendServicesHeaderActionParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestHeadersToAdd []RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	// +kubebuilder:validation:Optional
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ResponseHeadersToAdd []RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	// +kubebuilder:validation:Optional
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesHeaderActionParameters.

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters

type RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters.

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation

type RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation.

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters

type RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters.

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters

type RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters.

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation

type RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation.

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters

type RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters.

func (*RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionWeightedBackendServicesInitParameters

type RouteRulesRouteActionWeightedBackendServicesInitParameters struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *RouteActionWeightedBackendServicesHeaderActionInitParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*RouteRulesRouteActionWeightedBackendServicesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesInitParameters.

func (*RouteRulesRouteActionWeightedBackendServicesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionWeightedBackendServicesObservation

type RouteRulesRouteActionWeightedBackendServicesObservation struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *RouteActionWeightedBackendServicesHeaderActionObservation `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*RouteRulesRouteActionWeightedBackendServicesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesObservation.

func (*RouteRulesRouteActionWeightedBackendServicesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesRouteActionWeightedBackendServicesParameters

type RouteRulesRouteActionWeightedBackendServicesParameters struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +kubebuilder:validation:Optional
	BackendService *string `json:"backendService" tf:"backend_service,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HeaderAction *RouteActionWeightedBackendServicesHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	// +kubebuilder:validation:Optional
	Weight *float64 `json:"weight" tf:"weight,omitempty"`
}

func (*RouteRulesRouteActionWeightedBackendServicesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesParameters.

func (*RouteRulesRouteActionWeightedBackendServicesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesURLRedirectInitParameters

type RouteRulesURLRedirectInitParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained. The default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*RouteRulesURLRedirectInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesURLRedirectInitParameters.

func (*RouteRulesURLRedirectInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesURLRedirectObservation

type RouteRulesURLRedirectObservation struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained. The default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*RouteRulesURLRedirectObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesURLRedirectObservation.

func (*RouteRulesURLRedirectObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteRulesURLRedirectParameters

type RouteRulesURLRedirectParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	// +kubebuilder:validation:Optional
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	// +kubebuilder:validation:Optional
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	// +kubebuilder:validation:Optional
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained. The default value is false.
	// +kubebuilder:validation:Optional
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*RouteRulesURLRedirectParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesURLRedirectParameters.

func (*RouteRulesURLRedirectParameters) DeepCopyInto

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"`
}

Router is the Schema for the Routers API. Represents a Router resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*Router) DeepCopy

func (in *Router) DeepCopy() *Router

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Router.

func (*Router) DeepCopyInto

func (in *Router) DeepCopyInto(out *Router)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Router) DeepCopyObject

func (in *Router) DeepCopyObject() runtime.Object

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) GetConnectionDetailsMapping

func (tr *Router) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Router

func (*Router) GetDeletionPolicy

func (mg *Router) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Router.

func (*Router) GetID

func (tr *Router) GetID() string

GetID returns ID of underlying Terraform resource of this Router

func (*Router) GetInitParameters

func (tr *Router) GetInitParameters() (map[string]any, error)

GetInitParameters of this Router

func (*Router) GetManagementPolicies

func (mg *Router) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Router.

func (*Router) GetMergedParameters

func (tr *Router) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Router

func (*Router) GetObservation

func (tr *Router) GetObservation() (map[string]any, error)

GetObservation of this Router

func (*Router) GetParameters

func (tr *Router) GetParameters() (map[string]any, error)

GetParameters of this Router

func (*Router) GetProviderConfigReference

func (mg *Router) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Router.

func (*Router) GetPublishConnectionDetailsTo

func (mg *Router) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Router.

func (*Router) GetTerraformResourceType

func (mg *Router) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Router

func (*Router) GetTerraformSchemaVersion

func (tr *Router) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Router) GetWriteConnectionSecretToReference

func (mg *Router) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Router.

func (*Router) Hub

func (tr *Router) Hub()

Hub marks this type as a conversion hub.

func (*Router) LateInitialize

func (tr *Router) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Router using its observed tfState. returns True if there are any spec changes for the resource.

func (*Router) ResolveReferences

func (mg *Router) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Router.

func (*Router) SetConditions

func (mg *Router) SetConditions(c ...xpv1.Condition)

SetConditions of this Router.

func (*Router) SetDeletionPolicy

func (mg *Router) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Router.

func (*Router) SetManagementPolicies

func (mg *Router) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Router.

func (*Router) SetObservation

func (tr *Router) SetObservation(obs map[string]any) error

SetObservation for this Router

func (*Router) SetParameters

func (tr *Router) SetParameters(params map[string]any) error

SetParameters for this Router

func (*Router) SetProviderConfigReference

func (mg *Router) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Router.

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 RouterInitParameters

type RouterInitParameters struct {

	// BGP information specific to this router.
	// Structure is documented below.
	BGP *BGPInitParameters `json:"bgp,omitempty" tf:"bgp,omitempty"`

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Indicates if a router is dedicated for use with encrypted VLAN
	// attachments (interconnectAttachments).
	EncryptedInterconnectRouter *bool `json:"encryptedInterconnectRouter,omitempty" tf:"encrypted_interconnect_router,omitempty"`

	// A reference to the network to which this router belongs.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`
}

func (*RouterInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterInitParameters.

func (*RouterInitParameters) DeepCopyInto

func (in *RouterInitParameters) DeepCopyInto(out *RouterInitParameters)

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 {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.sourceSubnetworkIpRangesToNat) || (has(self.initProvider) && has(self.initProvider.sourceSubnetworkIpRangesToNat))",message="spec.forProvider.sourceSubnetworkIpRangesToNat is a required parameter"
	Spec   RouterNATSpec   `json:"spec"`
	Status RouterNATStatus `json:"status,omitempty"`
}

RouterNAT is the Schema for the RouterNATs API. A NAT service created in a router. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*RouterNAT) DeepCopy

func (in *RouterNAT) DeepCopy() *RouterNAT

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterNAT.

func (*RouterNAT) DeepCopyInto

func (in *RouterNAT) DeepCopyInto(out *RouterNAT)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RouterNAT) DeepCopyObject

func (in *RouterNAT) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RouterNAT) GetCondition

func (mg *RouterNAT) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this RouterNAT.

func (*RouterNAT) GetConnectionDetailsMapping

func (tr *RouterNAT) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this RouterNAT

func (*RouterNAT) GetDeletionPolicy

func (mg *RouterNAT) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this RouterNAT.

func (*RouterNAT) GetID

func (tr *RouterNAT) GetID() string

GetID returns ID of underlying Terraform resource of this RouterNAT

func (*RouterNAT) GetInitParameters

func (tr *RouterNAT) GetInitParameters() (map[string]any, error)

GetInitParameters of this RouterNAT

func (*RouterNAT) GetManagementPolicies

func (mg *RouterNAT) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this RouterNAT.

func (*RouterNAT) GetMergedParameters

func (tr *RouterNAT) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this RouterNAT

func (*RouterNAT) GetObservation

func (tr *RouterNAT) GetObservation() (map[string]any, error)

GetObservation of this RouterNAT

func (*RouterNAT) GetParameters

func (tr *RouterNAT) GetParameters() (map[string]any, error)

GetParameters of this RouterNAT

func (*RouterNAT) GetProviderConfigReference

func (mg *RouterNAT) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this RouterNAT.

func (*RouterNAT) GetPublishConnectionDetailsTo

func (mg *RouterNAT) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this RouterNAT.

func (*RouterNAT) GetTerraformResourceType

func (mg *RouterNAT) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this RouterNAT

func (*RouterNAT) GetTerraformSchemaVersion

func (tr *RouterNAT) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*RouterNAT) GetWriteConnectionSecretToReference

func (mg *RouterNAT) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this RouterNAT.

func (*RouterNAT) Hub

func (tr *RouterNAT) Hub()

Hub marks this type as a conversion hub.

func (*RouterNAT) LateInitialize

func (tr *RouterNAT) LateInitialize(attrs []byte) (bool, error)

LateInitialize this RouterNAT using its observed tfState. returns True if there are any spec changes for the resource.

func (*RouterNAT) ResolveReferences

func (mg *RouterNAT) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this RouterNAT.

func (*RouterNAT) SetConditions

func (mg *RouterNAT) SetConditions(c ...xpv1.Condition)

SetConditions of this RouterNAT.

func (*RouterNAT) SetDeletionPolicy

func (mg *RouterNAT) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this RouterNAT.

func (*RouterNAT) SetManagementPolicies

func (mg *RouterNAT) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this RouterNAT.

func (*RouterNAT) SetObservation

func (tr *RouterNAT) SetObservation(obs map[string]any) error

SetObservation for this RouterNAT

func (*RouterNAT) SetParameters

func (tr *RouterNAT) SetParameters(params map[string]any) error

SetParameters for this RouterNAT

func (*RouterNAT) SetProviderConfigReference

func (mg *RouterNAT) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this RouterNAT.

func (*RouterNAT) SetPublishConnectionDetailsTo

func (mg *RouterNAT) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this RouterNAT.

func (*RouterNAT) SetWriteConnectionSecretToReference

func (mg *RouterNAT) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this RouterNAT.

type RouterNATInitParameters

type RouterNATInitParameters struct {

	// 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.
	// +listType=set
	DrainNATIps []*string `json:"drainNatIps,omitempty" tf:"drain_nat_ips,omitempty"`

	// Enable Dynamic Port Allocation.
	// If minPortsPerVm is set, minPortsPerVm must be set to a power of two greater than or equal to 32.
	// If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
	// If maxPortsPerVm is set, maxPortsPerVm must be set to a power of two greater than minPortsPerVm.
	// If maxPortsPerVm is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
	// Mutually exclusive with enableEndpointIndependentMapping.
	EnableDynamicPortAllocation *bool `json:"enableDynamicPortAllocation,omitempty" tf:"enable_dynamic_port_allocation,omitempty"`

	// Enable endpoint independent mapping.
	// For more information see the official documentation.
	EnableEndpointIndependentMapping *bool `json:"enableEndpointIndependentMapping,omitempty" tf:"enable_endpoint_independent_mapping,omitempty"`

	// Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
	IcmpIdleTimeoutSec *float64 `json:"icmpIdleTimeoutSec,omitempty" tf:"icmp_idle_timeout_sec,omitempty"`

	// Configuration for logging on NAT
	// Structure is documented below.
	LogConfig *RouterNATLogConfigInitParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// Maximum number of ports allocated to a VM from this NAT.
	// This field can only be set when enableDynamicPortAllocation is enabled.
	MaxPortsPerVM *float64 `json:"maxPortsPerVm,omitempty" tf:"max_ports_per_vm,omitempty"`

	// Minimum number of ports allocated to a VM from this NAT. Defaults to 64 for static port allocation and 32 dynamic port allocation if not set.
	MinPortsPerVM *float64 `json:"minPortsPerVm,omitempty" tf:"min_ports_per_vm,omitempty"`

	// How external IPs should be allocated for this NAT. Valid values are
	// AUTO_ONLY for only allowing NAT IPs allocated by Google Cloud
	// Platform, or MANUAL_ONLY for only user-allocated NAT IP addresses.
	// Possible values are: MANUAL_ONLY, AUTO_ONLY.
	NATIPAllocateOption *string `json:"natIpAllocateOption,omitempty" tf:"nat_ip_allocate_option,omitempty"`

	// Self-links of NAT IPs. Only valid if natIpAllocateOption
	// is set to MANUAL_ONLY.
	// +listType=set
	NATIps []*string `json:"natIps,omitempty" tf:"nat_ips,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// A list of rules associated with this NAT.
	// Structure is documented below.
	Rules []RulesInitParameters `json:"rules,omitempty" tf:"rules,omitempty"`

	// How NAT should be configured per Subnetwork.
	// If ALL_SUBNETWORKS_ALL_IP_RANGES, all of the
	// IP ranges in every Subnetwork are allowed to Nat.
	// If 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). 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 RouterNat section in any Router for this network in this region.
	// Possible values are: ALL_SUBNETWORKS_ALL_IP_RANGES, ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, LIST_OF_SUBNETWORKS.
	SourceSubnetworkIPRangesToNAT *string `json:"sourceSubnetworkIpRangesToNat,omitempty" tf:"source_subnetwork_ip_ranges_to_nat,omitempty"`

	// One or more subnetwork NAT configurations. Only used if
	// source_subnetwork_ip_ranges_to_nat is set to LIST_OF_SUBNETWORKS
	// Structure is documented below.
	Subnetwork []SubnetworkInitParameters `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// Timeout (in seconds) for TCP established connections.
	// Defaults to 1200s if not set.
	TCPEstablishedIdleTimeoutSec *float64 `json:"tcpEstablishedIdleTimeoutSec,omitempty" tf:"tcp_established_idle_timeout_sec,omitempty"`

	// Timeout (in seconds) for TCP connections that are in TIME_WAIT state.
	// Defaults to 120s if not set.
	TCPTimeWaitTimeoutSec *float64 `json:"tcpTimeWaitTimeoutSec,omitempty" tf:"tcp_time_wait_timeout_sec,omitempty"`

	// Timeout (in seconds) for TCP transitory connections.
	// Defaults to 30s if not set.
	TCPTransitoryIdleTimeoutSec *float64 `json:"tcpTransitoryIdleTimeoutSec,omitempty" tf:"tcp_transitory_idle_timeout_sec,omitempty"`

	// Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
	UDPIdleTimeoutSec *float64 `json:"udpIdleTimeoutSec,omitempty" tf:"udp_idle_timeout_sec,omitempty"`
}

func (*RouterNATInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterNATInitParameters.

func (*RouterNATInitParameters) DeepCopyInto

func (in *RouterNATInitParameters) DeepCopyInto(out *RouterNATInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterNATList

type RouterNATList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RouterNAT `json:"items"`
}

RouterNATList contains a list of RouterNATs

func (*RouterNATList) DeepCopy

func (in *RouterNATList) DeepCopy() *RouterNATList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterNATList.

func (*RouterNATList) DeepCopyInto

func (in *RouterNATList) DeepCopyInto(out *RouterNATList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RouterNATList) DeepCopyObject

func (in *RouterNATList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RouterNATList) GetItems

func (l *RouterNATList) GetItems() []resource.Managed

GetItems of this RouterNATList.

type RouterNATLogConfigInitParameters

type RouterNATLogConfigInitParameters struct {

	// Indicates whether or not to export logs.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// Specifies the desired filtering of logs on this NAT.
	// Possible values are: ERRORS_ONLY, TRANSLATIONS_ONLY, ALL.
	Filter *string `json:"filter,omitempty" tf:"filter,omitempty"`
}

func (*RouterNATLogConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterNATLogConfigInitParameters.

func (*RouterNATLogConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterNATLogConfigObservation

type RouterNATLogConfigObservation struct {

	// Indicates whether or not to export logs.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// Specifies the desired filtering of logs on this NAT.
	// Possible values are: ERRORS_ONLY, TRANSLATIONS_ONLY, ALL.
	Filter *string `json:"filter,omitempty" tf:"filter,omitempty"`
}

func (*RouterNATLogConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterNATLogConfigObservation.

func (*RouterNATLogConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterNATLogConfigParameters

type RouterNATLogConfigParameters struct {

	// Indicates whether or not to export logs.
	// +kubebuilder:validation:Optional
	Enable *bool `json:"enable" tf:"enable,omitempty"`

	// Specifies the desired filtering of logs on this NAT.
	// Possible values are: ERRORS_ONLY, TRANSLATIONS_ONLY, ALL.
	// +kubebuilder:validation:Optional
	Filter *string `json:"filter" tf:"filter,omitempty"`
}

func (*RouterNATLogConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterNATLogConfigParameters.

func (*RouterNATLogConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterNATObservation

type RouterNATObservation struct {

	// 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.
	// +listType=set
	DrainNATIps []*string `json:"drainNatIps,omitempty" tf:"drain_nat_ips,omitempty"`

	// Enable Dynamic Port Allocation.
	// If minPortsPerVm is set, minPortsPerVm must be set to a power of two greater than or equal to 32.
	// If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
	// If maxPortsPerVm is set, maxPortsPerVm must be set to a power of two greater than minPortsPerVm.
	// If maxPortsPerVm is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
	// Mutually exclusive with enableEndpointIndependentMapping.
	EnableDynamicPortAllocation *bool `json:"enableDynamicPortAllocation,omitempty" tf:"enable_dynamic_port_allocation,omitempty"`

	// Enable endpoint independent mapping.
	// For more information see the official documentation.
	EnableEndpointIndependentMapping *bool `json:"enableEndpointIndependentMapping,omitempty" tf:"enable_endpoint_independent_mapping,omitempty"`

	// an identifier for the resource with format {{project}}/{{region}}/{{router}}/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
	IcmpIdleTimeoutSec *float64 `json:"icmpIdleTimeoutSec,omitempty" tf:"icmp_idle_timeout_sec,omitempty"`

	// Configuration for logging on NAT
	// Structure is documented below.
	LogConfig *RouterNATLogConfigObservation `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// Maximum number of ports allocated to a VM from this NAT.
	// This field can only be set when enableDynamicPortAllocation is enabled.
	MaxPortsPerVM *float64 `json:"maxPortsPerVm,omitempty" tf:"max_ports_per_vm,omitempty"`

	// Minimum number of ports allocated to a VM from this NAT. Defaults to 64 for static port allocation and 32 dynamic port allocation if not set.
	MinPortsPerVM *float64 `json:"minPortsPerVm,omitempty" tf:"min_ports_per_vm,omitempty"`

	// How external IPs should be allocated for this NAT. Valid values are
	// AUTO_ONLY for only allowing NAT IPs allocated by Google Cloud
	// Platform, or MANUAL_ONLY for only user-allocated NAT IP addresses.
	// Possible values are: MANUAL_ONLY, AUTO_ONLY.
	NATIPAllocateOption *string `json:"natIpAllocateOption,omitempty" tf:"nat_ip_allocate_option,omitempty"`

	// Self-links of NAT IPs. Only valid if natIpAllocateOption
	// is set to MANUAL_ONLY.
	// +listType=set
	NATIps []*string `json:"natIps,omitempty" tf:"nat_ips,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Region where the router and NAT reside.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The name of the Cloud Router in which this NAT will be configured.
	Router *string `json:"router,omitempty" tf:"router,omitempty"`

	// A list of rules associated with this NAT.
	// Structure is documented below.
	Rules []RulesObservation `json:"rules,omitempty" tf:"rules,omitempty"`

	// How NAT should be configured per Subnetwork.
	// If ALL_SUBNETWORKS_ALL_IP_RANGES, all of the
	// IP ranges in every Subnetwork are allowed to Nat.
	// If 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). 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 RouterNat section in any Router for this network in this region.
	// Possible values are: ALL_SUBNETWORKS_ALL_IP_RANGES, ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, LIST_OF_SUBNETWORKS.
	SourceSubnetworkIPRangesToNAT *string `json:"sourceSubnetworkIpRangesToNat,omitempty" tf:"source_subnetwork_ip_ranges_to_nat,omitempty"`

	// One or more subnetwork NAT configurations. Only used if
	// source_subnetwork_ip_ranges_to_nat is set to LIST_OF_SUBNETWORKS
	// Structure is documented below.
	Subnetwork []SubnetworkObservation `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// Timeout (in seconds) for TCP established connections.
	// Defaults to 1200s if not set.
	TCPEstablishedIdleTimeoutSec *float64 `json:"tcpEstablishedIdleTimeoutSec,omitempty" tf:"tcp_established_idle_timeout_sec,omitempty"`

	// Timeout (in seconds) for TCP connections that are in TIME_WAIT state.
	// Defaults to 120s if not set.
	TCPTimeWaitTimeoutSec *float64 `json:"tcpTimeWaitTimeoutSec,omitempty" tf:"tcp_time_wait_timeout_sec,omitempty"`

	// Timeout (in seconds) for TCP transitory connections.
	// Defaults to 30s if not set.
	TCPTransitoryIdleTimeoutSec *float64 `json:"tcpTransitoryIdleTimeoutSec,omitempty" tf:"tcp_transitory_idle_timeout_sec,omitempty"`

	// Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
	UDPIdleTimeoutSec *float64 `json:"udpIdleTimeoutSec,omitempty" tf:"udp_idle_timeout_sec,omitempty"`
}

func (*RouterNATObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterNATObservation.

func (*RouterNATObservation) DeepCopyInto

func (in *RouterNATObservation) DeepCopyInto(out *RouterNATObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterNATParameters

type RouterNATParameters struct {

	// 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.
	// +kubebuilder:validation:Optional
	// +listType=set
	DrainNATIps []*string `json:"drainNatIps,omitempty" tf:"drain_nat_ips,omitempty"`

	// Enable Dynamic Port Allocation.
	// If minPortsPerVm is set, minPortsPerVm must be set to a power of two greater than or equal to 32.
	// If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
	// If maxPortsPerVm is set, maxPortsPerVm must be set to a power of two greater than minPortsPerVm.
	// If maxPortsPerVm is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
	// Mutually exclusive with enableEndpointIndependentMapping.
	// +kubebuilder:validation:Optional
	EnableDynamicPortAllocation *bool `json:"enableDynamicPortAllocation,omitempty" tf:"enable_dynamic_port_allocation,omitempty"`

	// Enable endpoint independent mapping.
	// For more information see the official documentation.
	// +kubebuilder:validation:Optional
	EnableEndpointIndependentMapping *bool `json:"enableEndpointIndependentMapping,omitempty" tf:"enable_endpoint_independent_mapping,omitempty"`

	// Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
	// +kubebuilder:validation:Optional
	IcmpIdleTimeoutSec *float64 `json:"icmpIdleTimeoutSec,omitempty" tf:"icmp_idle_timeout_sec,omitempty"`

	// Configuration for logging on NAT
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	LogConfig *RouterNATLogConfigParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// Maximum number of ports allocated to a VM from this NAT.
	// This field can only be set when enableDynamicPortAllocation is enabled.
	// +kubebuilder:validation:Optional
	MaxPortsPerVM *float64 `json:"maxPortsPerVm,omitempty" tf:"max_ports_per_vm,omitempty"`

	// Minimum number of ports allocated to a VM from this NAT. Defaults to 64 for static port allocation and 32 dynamic port allocation if not set.
	// +kubebuilder:validation:Optional
	MinPortsPerVM *float64 `json:"minPortsPerVm,omitempty" tf:"min_ports_per_vm,omitempty"`

	// How external IPs should be allocated for this NAT. Valid values are
	// AUTO_ONLY for only allowing NAT IPs allocated by Google Cloud
	// Platform, or MANUAL_ONLY for only user-allocated NAT IP addresses.
	// Possible values are: MANUAL_ONLY, AUTO_ONLY.
	// +kubebuilder:validation:Optional
	NATIPAllocateOption *string `json:"natIpAllocateOption,omitempty" tf:"nat_ip_allocate_option,omitempty"`

	// Self-links of NAT IPs. Only valid if natIpAllocateOption
	// is set to MANUAL_ONLY.
	// +kubebuilder:validation:Optional
	// +listType=set
	NATIps []*string `json:"natIps,omitempty" tf:"nat_ips,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Region where the router and NAT reside.
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"region,omitempty"`

	// The name of the Cloud Router in which this NAT will be configured.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Router
	// +kubebuilder:validation:Optional
	Router *string `json:"router,omitempty" tf:"router,omitempty"`

	// Reference to a Router in compute to populate router.
	// +kubebuilder:validation:Optional
	RouterRef *v1.Reference `json:"routerRef,omitempty" tf:"-"`

	// Selector for a Router in compute to populate router.
	// +kubebuilder:validation:Optional
	RouterSelector *v1.Selector `json:"routerSelector,omitempty" tf:"-"`

	// A list of rules associated with this NAT.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Rules []RulesParameters `json:"rules,omitempty" tf:"rules,omitempty"`

	// How NAT should be configured per Subnetwork.
	// If ALL_SUBNETWORKS_ALL_IP_RANGES, all of the
	// IP ranges in every Subnetwork are allowed to Nat.
	// If 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). 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 RouterNat section in any Router for this network in this region.
	// Possible values are: ALL_SUBNETWORKS_ALL_IP_RANGES, ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, LIST_OF_SUBNETWORKS.
	// +kubebuilder:validation:Optional
	SourceSubnetworkIPRangesToNAT *string `json:"sourceSubnetworkIpRangesToNat,omitempty" tf:"source_subnetwork_ip_ranges_to_nat,omitempty"`

	// One or more subnetwork NAT configurations. Only used if
	// source_subnetwork_ip_ranges_to_nat is set to LIST_OF_SUBNETWORKS
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Subnetwork []SubnetworkParameters `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// Timeout (in seconds) for TCP established connections.
	// Defaults to 1200s if not set.
	// +kubebuilder:validation:Optional
	TCPEstablishedIdleTimeoutSec *float64 `json:"tcpEstablishedIdleTimeoutSec,omitempty" tf:"tcp_established_idle_timeout_sec,omitempty"`

	// Timeout (in seconds) for TCP connections that are in TIME_WAIT state.
	// Defaults to 120s if not set.
	// +kubebuilder:validation:Optional
	TCPTimeWaitTimeoutSec *float64 `json:"tcpTimeWaitTimeoutSec,omitempty" tf:"tcp_time_wait_timeout_sec,omitempty"`

	// Timeout (in seconds) for TCP transitory connections.
	// Defaults to 30s if not set.
	// +kubebuilder:validation:Optional
	TCPTransitoryIdleTimeoutSec *float64 `json:"tcpTransitoryIdleTimeoutSec,omitempty" tf:"tcp_transitory_idle_timeout_sec,omitempty"`

	// Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
	// +kubebuilder:validation:Optional
	UDPIdleTimeoutSec *float64 `json:"udpIdleTimeoutSec,omitempty" tf:"udp_idle_timeout_sec,omitempty"`
}

func (*RouterNATParameters) DeepCopy

func (in *RouterNATParameters) DeepCopy() *RouterNATParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterNATParameters.

func (*RouterNATParameters) DeepCopyInto

func (in *RouterNATParameters) DeepCopyInto(out *RouterNATParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterNATSpec

type RouterNATSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RouterNATParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RouterNATInitParameters `json:"initProvider,omitempty"`
}

RouterNATSpec defines the desired state of RouterNAT

func (*RouterNATSpec) DeepCopy

func (in *RouterNATSpec) DeepCopy() *RouterNATSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterNATSpec.

func (*RouterNATSpec) DeepCopyInto

func (in *RouterNATSpec) DeepCopyInto(out *RouterNATSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterNATStatus

type RouterNATStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RouterNATObservation `json:"atProvider,omitempty"`
}

RouterNATStatus defines the observed state of RouterNAT.

func (*RouterNATStatus) DeepCopy

func (in *RouterNATStatus) DeepCopy() *RouterNATStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterNATStatus.

func (*RouterNATStatus) DeepCopyInto

func (in *RouterNATStatus) DeepCopyInto(out *RouterNATStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterObservation

type RouterObservation struct {

	// BGP information specific to this router.
	// Structure is documented below.
	BGP *BGPObservation `json:"bgp,omitempty" tf:"bgp,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Indicates if a router is dedicated for use with encrypted VLAN
	// attachments (interconnectAttachments).
	EncryptedInterconnectRouter *bool `json:"encryptedInterconnectRouter,omitempty" tf:"encrypted_interconnect_router,omitempty"`

	// an identifier for the resource with format projects/{{project}}/regions/{{region}}/routers/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// A reference to the network to which this router belongs.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Region where the router resides.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`
}

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 {

	// BGP information specific to this router.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	BGP *BGPParameters `json:"bgp,omitempty" tf:"bgp,omitempty"`

	// An optional description of this resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Indicates if a router is dedicated for use with encrypted VLAN
	// attachments (interconnectAttachments).
	// +kubebuilder:validation:Optional
	EncryptedInterconnectRouter *bool `json:"encryptedInterconnectRouter,omitempty" tf:"encrypted_interconnect_router,omitempty"`

	// A reference to the network to which this router belongs.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.SelfLinkExtractor()
	// +kubebuilder:validation:Optional
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Region where the router resides.
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"region,omitempty"`
}

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 RouterPeer

type RouterPeer struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.peerAsn) || (has(self.initProvider) && has(self.initProvider.peerAsn))",message="spec.forProvider.peerAsn is a required parameter"
	Spec   RouterPeerSpec   `json:"spec"`
	Status RouterPeerStatus `json:"status,omitempty"`
}

RouterPeer is the Schema for the RouterPeers API. BGP information that must be configured into the routing stack to establish BGP peering. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*RouterPeer) DeepCopy

func (in *RouterPeer) DeepCopy() *RouterPeer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeer.

func (*RouterPeer) DeepCopyInto

func (in *RouterPeer) DeepCopyInto(out *RouterPeer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RouterPeer) DeepCopyObject

func (in *RouterPeer) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RouterPeer) GetCondition

func (mg *RouterPeer) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this RouterPeer.

func (*RouterPeer) GetConnectionDetailsMapping

func (tr *RouterPeer) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this RouterPeer

func (*RouterPeer) GetDeletionPolicy

func (mg *RouterPeer) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this RouterPeer.

func (*RouterPeer) GetID

func (tr *RouterPeer) GetID() string

GetID returns ID of underlying Terraform resource of this RouterPeer

func (*RouterPeer) GetInitParameters

func (tr *RouterPeer) GetInitParameters() (map[string]any, error)

GetInitParameters of this RouterPeer

func (*RouterPeer) GetManagementPolicies

func (mg *RouterPeer) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this RouterPeer.

func (*RouterPeer) GetMergedParameters

func (tr *RouterPeer) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this RouterPeer

func (*RouterPeer) GetObservation

func (tr *RouterPeer) GetObservation() (map[string]any, error)

GetObservation of this RouterPeer

func (*RouterPeer) GetParameters

func (tr *RouterPeer) GetParameters() (map[string]any, error)

GetParameters of this RouterPeer

func (*RouterPeer) GetProviderConfigReference

func (mg *RouterPeer) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this RouterPeer.

func (*RouterPeer) GetPublishConnectionDetailsTo

func (mg *RouterPeer) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this RouterPeer.

func (*RouterPeer) GetTerraformResourceType

func (mg *RouterPeer) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this RouterPeer

func (*RouterPeer) GetTerraformSchemaVersion

func (tr *RouterPeer) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*RouterPeer) GetWriteConnectionSecretToReference

func (mg *RouterPeer) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this RouterPeer.

func (*RouterPeer) Hub

func (tr *RouterPeer) Hub()

Hub marks this type as a conversion hub.

func (*RouterPeer) LateInitialize

func (tr *RouterPeer) LateInitialize(attrs []byte) (bool, error)

LateInitialize this RouterPeer using its observed tfState. returns True if there are any spec changes for the resource.

func (*RouterPeer) ResolveReferences

func (mg *RouterPeer) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this RouterPeer.

func (*RouterPeer) SetConditions

func (mg *RouterPeer) SetConditions(c ...xpv1.Condition)

SetConditions of this RouterPeer.

func (*RouterPeer) SetDeletionPolicy

func (mg *RouterPeer) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this RouterPeer.

func (*RouterPeer) SetManagementPolicies

func (mg *RouterPeer) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this RouterPeer.

func (*RouterPeer) SetObservation

func (tr *RouterPeer) SetObservation(obs map[string]any) error

SetObservation for this RouterPeer

func (*RouterPeer) SetParameters

func (tr *RouterPeer) SetParameters(params map[string]any) error

SetParameters for this RouterPeer

func (*RouterPeer) SetProviderConfigReference

func (mg *RouterPeer) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this RouterPeer.

func (*RouterPeer) SetPublishConnectionDetailsTo

func (mg *RouterPeer) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this RouterPeer.

func (*RouterPeer) SetWriteConnectionSecretToReference

func (mg *RouterPeer) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this RouterPeer.

type RouterPeerAdvertisedIPRangesInitParameters

type RouterPeerAdvertisedIPRangesInitParameters struct {

	// User-specified description for the IP range.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The IP range to advertise. The value must be a
	// CIDR-formatted string.
	Range *string `json:"range,omitempty" tf:"range,omitempty"`
}

func (*RouterPeerAdvertisedIPRangesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeerAdvertisedIPRangesInitParameters.

func (*RouterPeerAdvertisedIPRangesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterPeerAdvertisedIPRangesObservation

type RouterPeerAdvertisedIPRangesObservation struct {

	// User-specified description for the IP range.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The IP range to advertise. The value must be a
	// CIDR-formatted string.
	Range *string `json:"range,omitempty" tf:"range,omitempty"`
}

func (*RouterPeerAdvertisedIPRangesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeerAdvertisedIPRangesObservation.

func (*RouterPeerAdvertisedIPRangesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterPeerAdvertisedIPRangesParameters

type RouterPeerAdvertisedIPRangesParameters struct {

	// User-specified description for the IP range.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The IP range to advertise. The value must be a
	// CIDR-formatted string.
	// +kubebuilder:validation:Optional
	Range *string `json:"range" tf:"range,omitempty"`
}

func (*RouterPeerAdvertisedIPRangesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeerAdvertisedIPRangesParameters.

func (*RouterPeerAdvertisedIPRangesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterPeerInitParameters

type RouterPeerInitParameters struct {

	// User-specified flag to indicate which mode to use for advertisement.
	// Valid values of this enum field are: DEFAULT, CUSTOM
	// Default value is DEFAULT.
	// Possible values are: DEFAULT, CUSTOM.
	AdvertiseMode *string `json:"advertiseMode,omitempty" tf:"advertise_mode,omitempty"`

	// User-specified list of prefix groups to advertise in custom
	// mode, which currently supports the following option:
	AdvertisedGroups []*string `json:"advertisedGroups,omitempty" tf:"advertised_groups,omitempty"`

	// User-specified list of individual IP ranges to advertise in
	// custom mode. This field can only be populated if advertiseMode
	// 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.
	// Structure is documented below.
	AdvertisedIPRanges []RouterPeerAdvertisedIPRangesInitParameters `json:"advertisedIpRanges,omitempty" tf:"advertised_ip_ranges,omitempty"`

	// 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.
	AdvertisedRoutePriority *float64 `json:"advertisedRoutePriority,omitempty" tf:"advertised_route_priority,omitempty"`

	// BFD configuration for the BGP peering.
	// Structure is documented below.
	Bfd *BfdInitParameters `json:"bfd,omitempty" tf:"bfd,omitempty"`

	// The status of the BGP peer connection. If set to false, any active session
	// with the peer is terminated and all associated routing information is removed.
	// If set to true, the peer connection can be established with routing information.
	// The default is true.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
	EnableIPv6 *bool `json:"enableIpv6,omitempty" tf:"enable_ipv6,omitempty"`

	// IP address of the interface inside Google Cloud Platform.
	// Only IPv4 is supported.
	IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// IPv6 address of the interface inside Google Cloud Platform.
	// The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64.
	// If you do not specify the next hop addresses, Google Cloud automatically
	// assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you.
	IPv6NexthopAddress *string `json:"ipv6NexthopAddress,omitempty" tf:"ipv6_nexthop_address,omitempty"`

	// Name of the interface the BGP peer is associated with.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RouterInterface
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false)
	Interface *string `json:"interface,omitempty" tf:"interface,omitempty"`

	// Reference to a RouterInterface in compute to populate interface.
	// +kubebuilder:validation:Optional
	InterfaceRef *v1.Reference `json:"interfaceRef,omitempty" tf:"-"`

	// Selector for a RouterInterface in compute to populate interface.
	// +kubebuilder:validation:Optional
	InterfaceSelector *v1.Selector `json:"interfaceSelector,omitempty" tf:"-"`

	Md5AuthenticationKey *Md5AuthenticationKeyInitParameters `json:"md5AuthenticationKey,omitempty" tf:"md5_authentication_key,omitempty"`

	// Peer BGP Autonomous System Number (ASN).
	// Each BGP interface may use a different value.
	PeerAsn *float64 `json:"peerAsn,omitempty" tf:"peer_asn,omitempty"`

	// IP address of the BGP interface outside Google Cloud Platform.
	// Only IPv4 is supported. Required if ip_address is set.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Address
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("address",false)
	PeerIPAddress *string `json:"peerIpAddress,omitempty" tf:"peer_ip_address,omitempty"`

	// Reference to a Address in compute to populate peerIpAddress.
	// +kubebuilder:validation:Optional
	PeerIPAddressRef *v1.Reference `json:"peerIpAddressRef,omitempty" tf:"-"`

	// Selector for a Address in compute to populate peerIpAddress.
	// +kubebuilder:validation:Optional
	PeerIPAddressSelector *v1.Selector `json:"peerIpAddressSelector,omitempty" tf:"-"`

	// IPv6 address of the BGP interface outside Google Cloud Platform.
	// The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64.
	// If you do not specify the next hop addresses, Google Cloud automatically
	// assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you.
	PeerIPv6NexthopAddress *string `json:"peerIpv6NexthopAddress,omitempty" tf:"peer_ipv6_nexthop_address,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Region where the router and BgpPeer reside.
	// If it is not provided, the provider region is used.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Router
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("region",false)
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Reference to a Router in compute to populate region.
	// +kubebuilder:validation:Optional
	RegionRef *v1.Reference `json:"regionRef,omitempty" tf:"-"`

	// Selector for a Router in compute to populate region.
	// +kubebuilder:validation:Optional
	RegionSelector *v1.Selector `json:"regionSelector,omitempty" tf:"-"`

	// The URI of the VM instance that is used as third-party router appliances
	// such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
	// The VM instance must be located in zones contained in the same region as
	// this Cloud Router. The VM instance is the peer side of the BGP session.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Instance
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("self_link",true)
	RouterApplianceInstance *string `json:"routerApplianceInstance,omitempty" tf:"router_appliance_instance,omitempty"`

	// Reference to a Instance in compute to populate routerApplianceInstance.
	// +kubebuilder:validation:Optional
	RouterApplianceInstanceRef *v1.Reference `json:"routerApplianceInstanceRef,omitempty" tf:"-"`

	// Selector for a Instance in compute to populate routerApplianceInstance.
	// +kubebuilder:validation:Optional
	RouterApplianceInstanceSelector *v1.Selector `json:"routerApplianceInstanceSelector,omitempty" tf:"-"`
}

func (*RouterPeerInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeerInitParameters.

func (*RouterPeerInitParameters) DeepCopyInto

func (in *RouterPeerInitParameters) DeepCopyInto(out *RouterPeerInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterPeerList

type RouterPeerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RouterPeer `json:"items"`
}

RouterPeerList contains a list of RouterPeers

func (*RouterPeerList) DeepCopy

func (in *RouterPeerList) DeepCopy() *RouterPeerList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeerList.

func (*RouterPeerList) DeepCopyInto

func (in *RouterPeerList) DeepCopyInto(out *RouterPeerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RouterPeerList) DeepCopyObject

func (in *RouterPeerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RouterPeerList) GetItems

func (l *RouterPeerList) GetItems() []resource.Managed

GetItems of this RouterPeerList.

type RouterPeerObservation

type RouterPeerObservation struct {

	// User-specified flag to indicate which mode to use for advertisement.
	// Valid values of this enum field are: DEFAULT, CUSTOM
	// Default value is DEFAULT.
	// Possible values are: DEFAULT, CUSTOM.
	AdvertiseMode *string `json:"advertiseMode,omitempty" tf:"advertise_mode,omitempty"`

	// User-specified list of prefix groups to advertise in custom
	// mode, which currently supports the following option:
	AdvertisedGroups []*string `json:"advertisedGroups,omitempty" tf:"advertised_groups,omitempty"`

	// User-specified list of individual IP ranges to advertise in
	// custom mode. This field can only be populated if advertiseMode
	// 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.
	// Structure is documented below.
	AdvertisedIPRanges []RouterPeerAdvertisedIPRangesObservation `json:"advertisedIpRanges,omitempty" tf:"advertised_ip_ranges,omitempty"`

	// 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.
	AdvertisedRoutePriority *float64 `json:"advertisedRoutePriority,omitempty" tf:"advertised_route_priority,omitempty"`

	// BFD configuration for the BGP peering.
	// Structure is documented below.
	Bfd *BfdObservation `json:"bfd,omitempty" tf:"bfd,omitempty"`

	// The status of the BGP peer connection. If set to false, any active session
	// with the peer is terminated and all associated routing information is removed.
	// If set to true, the peer connection can be established with routing information.
	// The default is true.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
	EnableIPv6 *bool `json:"enableIpv6,omitempty" tf:"enable_ipv6,omitempty"`

	// an identifier for the resource with format projects/{{project}}/regions/{{region}}/routers/{{router}}/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// IP address of the interface inside Google Cloud Platform.
	// Only IPv4 is supported.
	IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// IPv6 address of the interface inside Google Cloud Platform.
	// The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64.
	// If you do not specify the next hop addresses, Google Cloud automatically
	// assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you.
	IPv6NexthopAddress *string `json:"ipv6NexthopAddress,omitempty" tf:"ipv6_nexthop_address,omitempty"`

	// Name of the interface the BGP peer is associated with.
	Interface *string `json:"interface,omitempty" tf:"interface,omitempty"`

	// The resource that configures and manages this BGP peer.
	ManagementType *string `json:"managementType,omitempty" tf:"management_type,omitempty"`

	Md5AuthenticationKey *Md5AuthenticationKeyObservation `json:"md5AuthenticationKey,omitempty" tf:"md5_authentication_key,omitempty"`

	// Peer BGP Autonomous System Number (ASN).
	// Each BGP interface may use a different value.
	PeerAsn *float64 `json:"peerAsn,omitempty" tf:"peer_asn,omitempty"`

	// IP address of the BGP interface outside Google Cloud Platform.
	// Only IPv4 is supported. Required if ip_address is set.
	PeerIPAddress *string `json:"peerIpAddress,omitempty" tf:"peer_ip_address,omitempty"`

	// IPv6 address of the BGP interface outside Google Cloud Platform.
	// The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64.
	// If you do not specify the next hop addresses, Google Cloud automatically
	// assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you.
	PeerIPv6NexthopAddress *string `json:"peerIpv6NexthopAddress,omitempty" tf:"peer_ipv6_nexthop_address,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Region where the router and BgpPeer reside.
	// If it is not provided, the provider region is used.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The name of the Cloud Router in which this BgpPeer will be configured.
	Router *string `json:"router,omitempty" tf:"router,omitempty"`

	// The URI of the VM instance that is used as third-party router appliances
	// such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
	// The VM instance must be located in zones contained in the same region as
	// this Cloud Router. The VM instance is the peer side of the BGP session.
	RouterApplianceInstance *string `json:"routerApplianceInstance,omitempty" tf:"router_appliance_instance,omitempty"`
}

func (*RouterPeerObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeerObservation.

func (*RouterPeerObservation) DeepCopyInto

func (in *RouterPeerObservation) DeepCopyInto(out *RouterPeerObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterPeerParameters

type RouterPeerParameters struct {

	// User-specified flag to indicate which mode to use for advertisement.
	// Valid values of this enum field are: DEFAULT, CUSTOM
	// Default value is DEFAULT.
	// Possible values are: DEFAULT, CUSTOM.
	// +kubebuilder:validation:Optional
	AdvertiseMode *string `json:"advertiseMode,omitempty" tf:"advertise_mode,omitempty"`

	// User-specified list of prefix groups to advertise in custom
	// mode, which currently supports the following option:
	// +kubebuilder:validation:Optional
	AdvertisedGroups []*string `json:"advertisedGroups,omitempty" tf:"advertised_groups,omitempty"`

	// User-specified list of individual IP ranges to advertise in
	// custom mode. This field can only be populated if advertiseMode
	// 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.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	AdvertisedIPRanges []RouterPeerAdvertisedIPRangesParameters `json:"advertisedIpRanges,omitempty" tf:"advertised_ip_ranges,omitempty"`

	// 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.
	// +kubebuilder:validation:Optional
	AdvertisedRoutePriority *float64 `json:"advertisedRoutePriority,omitempty" tf:"advertised_route_priority,omitempty"`

	// BFD configuration for the BGP peering.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Bfd *BfdParameters `json:"bfd,omitempty" tf:"bfd,omitempty"`

	// The status of the BGP peer connection. If set to false, any active session
	// with the peer is terminated and all associated routing information is removed.
	// If set to true, the peer connection can be established with routing information.
	// The default is true.
	// +kubebuilder:validation:Optional
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
	// +kubebuilder:validation:Optional
	EnableIPv6 *bool `json:"enableIpv6,omitempty" tf:"enable_ipv6,omitempty"`

	// IP address of the interface inside Google Cloud Platform.
	// Only IPv4 is supported.
	// +kubebuilder:validation:Optional
	IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"`

	// IPv6 address of the interface inside Google Cloud Platform.
	// The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64.
	// If you do not specify the next hop addresses, Google Cloud automatically
	// assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you.
	// +kubebuilder:validation:Optional
	IPv6NexthopAddress *string `json:"ipv6NexthopAddress,omitempty" tf:"ipv6_nexthop_address,omitempty"`

	// Name of the interface the BGP peer is associated with.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.RouterInterface
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false)
	// +kubebuilder:validation:Optional
	Interface *string `json:"interface,omitempty" tf:"interface,omitempty"`

	// Reference to a RouterInterface in compute to populate interface.
	// +kubebuilder:validation:Optional
	InterfaceRef *v1.Reference `json:"interfaceRef,omitempty" tf:"-"`

	// Selector for a RouterInterface in compute to populate interface.
	// +kubebuilder:validation:Optional
	InterfaceSelector *v1.Selector `json:"interfaceSelector,omitempty" tf:"-"`

	// +kubebuilder:validation:Optional
	Md5AuthenticationKey *Md5AuthenticationKeyParameters `json:"md5AuthenticationKey,omitempty" tf:"md5_authentication_key,omitempty"`

	// Peer BGP Autonomous System Number (ASN).
	// Each BGP interface may use a different value.
	// +kubebuilder:validation:Optional
	PeerAsn *float64 `json:"peerAsn,omitempty" tf:"peer_asn,omitempty"`

	// IP address of the BGP interface outside Google Cloud Platform.
	// Only IPv4 is supported. Required if ip_address is set.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Address
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("address",false)
	// +kubebuilder:validation:Optional
	PeerIPAddress *string `json:"peerIpAddress,omitempty" tf:"peer_ip_address,omitempty"`

	// Reference to a Address in compute to populate peerIpAddress.
	// +kubebuilder:validation:Optional
	PeerIPAddressRef *v1.Reference `json:"peerIpAddressRef,omitempty" tf:"-"`

	// Selector for a Address in compute to populate peerIpAddress.
	// +kubebuilder:validation:Optional
	PeerIPAddressSelector *v1.Selector `json:"peerIpAddressSelector,omitempty" tf:"-"`

	// IPv6 address of the BGP interface outside Google Cloud Platform.
	// The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64.
	// If you do not specify the next hop addresses, Google Cloud automatically
	// assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you.
	// +kubebuilder:validation:Optional
	PeerIPv6NexthopAddress *string `json:"peerIpv6NexthopAddress,omitempty" tf:"peer_ipv6_nexthop_address,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Region where the router and BgpPeer reside.
	// If it is not provided, the provider region is used.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Router
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("region",false)
	// +kubebuilder:validation:Optional
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Reference to a Router in compute to populate region.
	// +kubebuilder:validation:Optional
	RegionRef *v1.Reference `json:"regionRef,omitempty" tf:"-"`

	// Selector for a Router in compute to populate region.
	// +kubebuilder:validation:Optional
	RegionSelector *v1.Selector `json:"regionSelector,omitempty" tf:"-"`

	// The name of the Cloud Router in which this BgpPeer will be configured.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Router
	// +kubebuilder:validation:Optional
	Router *string `json:"router,omitempty" tf:"router,omitempty"`

	// The URI of the VM instance that is used as third-party router appliances
	// such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
	// The VM instance must be located in zones contained in the same region as
	// this Cloud Router. The VM instance is the peer side of the BGP session.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Instance
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("self_link",true)
	// +kubebuilder:validation:Optional
	RouterApplianceInstance *string `json:"routerApplianceInstance,omitempty" tf:"router_appliance_instance,omitempty"`

	// Reference to a Instance in compute to populate routerApplianceInstance.
	// +kubebuilder:validation:Optional
	RouterApplianceInstanceRef *v1.Reference `json:"routerApplianceInstanceRef,omitempty" tf:"-"`

	// Selector for a Instance in compute to populate routerApplianceInstance.
	// +kubebuilder:validation:Optional
	RouterApplianceInstanceSelector *v1.Selector `json:"routerApplianceInstanceSelector,omitempty" tf:"-"`

	// Reference to a Router in compute to populate router.
	// +kubebuilder:validation:Optional
	RouterRef *v1.Reference `json:"routerRef,omitempty" tf:"-"`

	// Selector for a Router in compute to populate router.
	// +kubebuilder:validation:Optional
	RouterSelector *v1.Selector `json:"routerSelector,omitempty" tf:"-"`
}

func (*RouterPeerParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeerParameters.

func (*RouterPeerParameters) DeepCopyInto

func (in *RouterPeerParameters) DeepCopyInto(out *RouterPeerParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterPeerSpec

type RouterPeerSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RouterPeerParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RouterPeerInitParameters `json:"initProvider,omitempty"`
}

RouterPeerSpec defines the desired state of RouterPeer

func (*RouterPeerSpec) DeepCopy

func (in *RouterPeerSpec) DeepCopy() *RouterPeerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeerSpec.

func (*RouterPeerSpec) DeepCopyInto

func (in *RouterPeerSpec) DeepCopyInto(out *RouterPeerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterPeerStatus

type RouterPeerStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RouterPeerObservation `json:"atProvider,omitempty"`
}

RouterPeerStatus defines the observed state of RouterPeer.

func (*RouterPeerStatus) DeepCopy

func (in *RouterPeerStatus) DeepCopy() *RouterPeerStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeerStatus.

func (*RouterPeerStatus) DeepCopyInto

func (in *RouterPeerStatus) DeepCopyInto(out *RouterPeerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterSpec

type RouterSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RouterParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RouterInitParameters `json:"initProvider,omitempty"`
}

RouterSpec defines the desired state of 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 {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RouterObservation `json:"atProvider,omitempty"`
}

RouterStatus defines the observed state of 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.

type RuleHeaderActionInitParameters

type RuleHeaderActionInitParameters struct {

	// The list of request headers to add or overwrite if they're already present. Structure is documented below.
	RequestHeadersToAdds []RequestHeadersToAddsInitParameters `json:"requestHeadersToAdds,omitempty" tf:"request_headers_to_adds,omitempty"`
}

func (*RuleHeaderActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleHeaderActionInitParameters.

func (*RuleHeaderActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RuleHeaderActionObservation

type RuleHeaderActionObservation struct {

	// The list of request headers to add or overwrite if they're already present. Structure is documented below.
	RequestHeadersToAdds []RequestHeadersToAddsObservation `json:"requestHeadersToAdds,omitempty" tf:"request_headers_to_adds,omitempty"`
}

func (*RuleHeaderActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleHeaderActionObservation.

func (*RuleHeaderActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RuleHeaderActionParameters

type RuleHeaderActionParameters struct {

	// The list of request headers to add or overwrite if they're already present. Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestHeadersToAdds []RequestHeadersToAddsParameters `json:"requestHeadersToAdds" tf:"request_headers_to_adds,omitempty"`
}

func (*RuleHeaderActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleHeaderActionParameters.

func (*RuleHeaderActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RuleInitParameters

type RuleInitParameters struct {

	// Action to take when match matches the request. Valid values:
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// An optional description of this rule. Max size is 64.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Additional actions that are performed on headers. Structure is documented below.
	HeaderAction *RuleHeaderActionInitParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// A match condition that incoming traffic is evaluated against.
	// If it evaluates to true, the corresponding action is enforced. Structure is documented below.
	Match *RuleMatchInitParameters `json:"match,omitempty" tf:"match,omitempty"`

	// When set to true, the action specified above is not enforced.
	// Stackdriver logs for requests that trigger a preview action are annotated as such.
	Preview *bool `json:"preview,omitempty" tf:"preview,omitempty"`

	// An unique positive integer indicating the priority of evaluation for a rule.
	// Rules are evaluated from highest priority (lowest numerically) to lowest priority (highest numerically) in order.
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// Must be specified if the action is rate_based_ban or throttle. Cannot be specified for other actions. Structure is documented below.
	RateLimitOptions *RateLimitOptionsInitParameters `json:"rateLimitOptions,omitempty" tf:"rate_limit_options,omitempty"`

	// Can be specified if the action is redirect. Cannot be specified for other actions. Structure is documented below.
	RedirectOptions *RedirectOptionsInitParameters `json:"redirectOptions,omitempty" tf:"redirect_options,omitempty"`
}

func (*RuleInitParameters) DeepCopy

func (in *RuleInitParameters) DeepCopy() *RuleInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleInitParameters.

func (*RuleInitParameters) DeepCopyInto

func (in *RuleInitParameters) DeepCopyInto(out *RuleInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RuleMatchInitParameters

type RuleMatchInitParameters struct {

	// The configuration options available when specifying versioned_expr.
	// This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified.
	// Structure is documented below.
	Config *ConfigInitParameters `json:"config,omitempty" tf:"config,omitempty"`

	// User defined CEVAL expression. A CEVAL expression is used to specify match criteria
	// such as origin.ip, source.region_code and contents in the request header.
	// Structure is documented below.
	Expr *ExprInitParameters `json:"expr,omitempty" tf:"expr,omitempty"`

	// Predefined rule expression. If this field is specified, config must also be specified.
	// Available options:
	VersionedExpr *string `json:"versionedExpr,omitempty" tf:"versioned_expr,omitempty"`
}

func (*RuleMatchInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleMatchInitParameters.

func (*RuleMatchInitParameters) DeepCopyInto

func (in *RuleMatchInitParameters) DeepCopyInto(out *RuleMatchInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RuleMatchObservation

type RuleMatchObservation struct {

	// The configuration options available when specifying versioned_expr.
	// This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified.
	// Structure is documented below.
	Config *ConfigObservation `json:"config,omitempty" tf:"config,omitempty"`

	// User defined CEVAL expression. A CEVAL expression is used to specify match criteria
	// such as origin.ip, source.region_code and contents in the request header.
	// Structure is documented below.
	Expr *ExprObservation `json:"expr,omitempty" tf:"expr,omitempty"`

	// Predefined rule expression. If this field is specified, config must also be specified.
	// Available options:
	VersionedExpr *string `json:"versionedExpr,omitempty" tf:"versioned_expr,omitempty"`
}

func (*RuleMatchObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleMatchObservation.

func (*RuleMatchObservation) DeepCopyInto

func (in *RuleMatchObservation) DeepCopyInto(out *RuleMatchObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RuleMatchParameters

type RuleMatchParameters struct {

	// The configuration options available when specifying versioned_expr.
	// This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Config *ConfigParameters `json:"config,omitempty" tf:"config,omitempty"`

	// User defined CEVAL expression. A CEVAL expression is used to specify match criteria
	// such as origin.ip, source.region_code and contents in the request header.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Expr *ExprParameters `json:"expr,omitempty" tf:"expr,omitempty"`

	// Predefined rule expression. If this field is specified, config must also be specified.
	// Available options:
	// +kubebuilder:validation:Optional
	VersionedExpr *string `json:"versionedExpr,omitempty" tf:"versioned_expr,omitempty"`
}

func (*RuleMatchParameters) DeepCopy

func (in *RuleMatchParameters) DeepCopy() *RuleMatchParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleMatchParameters.

func (*RuleMatchParameters) DeepCopyInto

func (in *RuleMatchParameters) DeepCopyInto(out *RuleMatchParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RuleObservation

type RuleObservation struct {

	// Action to take when match matches the request. Valid values:
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// An optional description of this rule. Max size is 64.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Additional actions that are performed on headers. Structure is documented below.
	HeaderAction *RuleHeaderActionObservation `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// A match condition that incoming traffic is evaluated against.
	// If it evaluates to true, the corresponding action is enforced. Structure is documented below.
	Match *RuleMatchObservation `json:"match,omitempty" tf:"match,omitempty"`

	// When set to true, the action specified above is not enforced.
	// Stackdriver logs for requests that trigger a preview action are annotated as such.
	Preview *bool `json:"preview,omitempty" tf:"preview,omitempty"`

	// An unique positive integer indicating the priority of evaluation for a rule.
	// Rules are evaluated from highest priority (lowest numerically) to lowest priority (highest numerically) in order.
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// Must be specified if the action is rate_based_ban or throttle. Cannot be specified for other actions. Structure is documented below.
	RateLimitOptions *RateLimitOptionsObservation `json:"rateLimitOptions,omitempty" tf:"rate_limit_options,omitempty"`

	// Can be specified if the action is redirect. Cannot be specified for other actions. Structure is documented below.
	RedirectOptions *RedirectOptionsObservation `json:"redirectOptions,omitempty" tf:"redirect_options,omitempty"`
}

func (*RuleObservation) DeepCopy

func (in *RuleObservation) DeepCopy() *RuleObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleObservation.

func (*RuleObservation) DeepCopyInto

func (in *RuleObservation) DeepCopyInto(out *RuleObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RuleParameters

type RuleParameters struct {

	// Action to take when match matches the request. Valid values:
	// +kubebuilder:validation:Optional
	Action *string `json:"action" tf:"action,omitempty"`

	// An optional description of this rule. Max size is 64.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Additional actions that are performed on headers. Structure is documented below.
	// +kubebuilder:validation:Optional
	HeaderAction *RuleHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// A match condition that incoming traffic is evaluated against.
	// If it evaluates to true, the corresponding action is enforced. Structure is documented below.
	// +kubebuilder:validation:Optional
	Match *RuleMatchParameters `json:"match" tf:"match,omitempty"`

	// When set to true, the action specified above is not enforced.
	// Stackdriver logs for requests that trigger a preview action are annotated as such.
	// +kubebuilder:validation:Optional
	Preview *bool `json:"preview,omitempty" tf:"preview,omitempty"`

	// An unique positive integer indicating the priority of evaluation for a rule.
	// Rules are evaluated from highest priority (lowest numerically) to lowest priority (highest numerically) in order.
	// +kubebuilder:validation:Optional
	Priority *float64 `json:"priority" tf:"priority,omitempty"`

	// Must be specified if the action is rate_based_ban or throttle. Cannot be specified for other actions. Structure is documented below.
	// +kubebuilder:validation:Optional
	RateLimitOptions *RateLimitOptionsParameters `json:"rateLimitOptions,omitempty" tf:"rate_limit_options,omitempty"`

	// Can be specified if the action is redirect. Cannot be specified for other actions. Structure is documented below.
	// +kubebuilder:validation:Optional
	RedirectOptions *RedirectOptionsParameters `json:"redirectOptions,omitempty" tf:"redirect_options,omitempty"`
}

func (*RuleParameters) DeepCopy

func (in *RuleParameters) DeepCopy() *RuleParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleParameters.

func (*RuleParameters) DeepCopyInto

func (in *RuleParameters) DeepCopyInto(out *RuleParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RulesInitParameters

type RulesInitParameters struct {

	// The action to be enforced for traffic that matches this rule.
	// Structure is documented below.
	Action *ActionInitParameters `json:"action,omitempty" tf:"action,omitempty"`

	// An optional description of this rule.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// CEL expression that specifies the match condition that egress traffic from a VM is evaluated against.
	// If it evaluates to true, the corresponding action is enforced.
	// The following examples are valid match expressions for public NAT:
	// "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')"
	// "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'"
	// The following example is a valid match expression for private NAT:
	// "nexthop.hub == 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/global/hub/hub-1'"
	Match *string `json:"match,omitempty" tf:"match,omitempty"`

	// An integer uniquely identifying a rule in the list.
	// The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
	RuleNumber *float64 `json:"ruleNumber,omitempty" tf:"rule_number,omitempty"`
}

func (*RulesInitParameters) DeepCopy

func (in *RulesInitParameters) DeepCopy() *RulesInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RulesInitParameters.

func (*RulesInitParameters) DeepCopyInto

func (in *RulesInitParameters) DeepCopyInto(out *RulesInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RulesObservation

type RulesObservation struct {

	// The action to be enforced for traffic that matches this rule.
	// Structure is documented below.
	Action *ActionObservation `json:"action,omitempty" tf:"action,omitempty"`

	// An optional description of this rule.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// CEL expression that specifies the match condition that egress traffic from a VM is evaluated against.
	// If it evaluates to true, the corresponding action is enforced.
	// The following examples are valid match expressions for public NAT:
	// "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')"
	// "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'"
	// The following example is a valid match expression for private NAT:
	// "nexthop.hub == 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/global/hub/hub-1'"
	Match *string `json:"match,omitempty" tf:"match,omitempty"`

	// An integer uniquely identifying a rule in the list.
	// The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
	RuleNumber *float64 `json:"ruleNumber,omitempty" tf:"rule_number,omitempty"`
}

func (*RulesObservation) DeepCopy

func (in *RulesObservation) DeepCopy() *RulesObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RulesObservation.

func (*RulesObservation) DeepCopyInto

func (in *RulesObservation) DeepCopyInto(out *RulesObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RulesParameters

type RulesParameters struct {

	// The action to be enforced for traffic that matches this rule.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Action *ActionParameters `json:"action,omitempty" tf:"action,omitempty"`

	// An optional description of this rule.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// CEL expression that specifies the match condition that egress traffic from a VM is evaluated against.
	// If it evaluates to true, the corresponding action is enforced.
	// The following examples are valid match expressions for public NAT:
	// "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')"
	// "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'"
	// The following example is a valid match expression for private NAT:
	// "nexthop.hub == 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/global/hub/hub-1'"
	// +kubebuilder:validation:Optional
	Match *string `json:"match" tf:"match,omitempty"`

	// An integer uniquely identifying a rule in the list.
	// The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
	// +kubebuilder:validation:Optional
	RuleNumber *float64 `json:"ruleNumber" tf:"rule_number,omitempty"`
}

func (*RulesParameters) DeepCopy

func (in *RulesParameters) DeepCopy() *RulesParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RulesParameters.

func (*RulesParameters) DeepCopyInto

func (in *RulesParameters) DeepCopyInto(out *RulesParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SSLHealthCheckInitParameters

type SSLHealthCheckInitParameters struct {

	// The TCP port number for the SSL health check request.
	// The default value is 443.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The application data to send once the SSL connection has been
	// established (default value is empty). If both request and response are
	// empty, the connection establishment alone will indicate health. The request
	// data can only be ASCII.
	Request *string `json:"request,omitempty" tf:"request,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*SSLHealthCheckInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLHealthCheckInitParameters.

func (*SSLHealthCheckInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SSLHealthCheckObservation

type SSLHealthCheckObservation struct {

	// The TCP port number for the SSL health check request.
	// The default value is 443.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The application data to send once the SSL connection has been
	// established (default value is empty). If both request and response are
	// empty, the connection establishment alone will indicate health. The request
	// data can only be ASCII.
	Request *string `json:"request,omitempty" tf:"request,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*SSLHealthCheckObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLHealthCheckObservation.

func (*SSLHealthCheckObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SSLHealthCheckParameters

type SSLHealthCheckParameters struct {

	// The TCP port number for the SSL health check request.
	// The default value is 443.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	// +kubebuilder:validation:Optional
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	// +kubebuilder:validation:Optional
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	// +kubebuilder:validation:Optional
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The application data to send once the SSL connection has been
	// established (default value is empty). If both request and response are
	// empty, the connection establishment alone will indicate health. The request
	// data can only be ASCII.
	// +kubebuilder:validation:Optional
	Request *string `json:"request,omitempty" tf:"request,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	// +kubebuilder:validation:Optional
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*SSLHealthCheckParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLHealthCheckParameters.

func (*SSLHealthCheckParameters) DeepCopyInto

func (in *SSLHealthCheckParameters) DeepCopyInto(out *SSLHealthCheckParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScaleInControlInitParameters

type ScaleInControlInitParameters struct {

	// A nested object resource
	// Structure is documented below.
	MaxScaledInReplicas *MaxScaledInReplicasInitParameters `json:"maxScaledInReplicas,omitempty" tf:"max_scaled_in_replicas,omitempty"`

	// How long back autoscaling should look when computing recommendations
	// to include directives regarding slower scale down, as described above.
	TimeWindowSec *float64 `json:"timeWindowSec,omitempty" tf:"time_window_sec,omitempty"`
}

func (*ScaleInControlInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInControlInitParameters.

func (*ScaleInControlInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScaleInControlMaxScaledInReplicasInitParameters

type ScaleInControlMaxScaledInReplicasInitParameters struct {

	// Specifies a fixed number of VM instances. This must be a positive
	// integer.
	Fixed *float64 `json:"fixed,omitempty" tf:"fixed,omitempty"`

	// Specifies a percentage of instances between 0 to 100%, inclusive.
	// For example, specify 80 for 80%.
	Percent *float64 `json:"percent,omitempty" tf:"percent,omitempty"`
}

func (*ScaleInControlMaxScaledInReplicasInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInControlMaxScaledInReplicasInitParameters.

func (*ScaleInControlMaxScaledInReplicasInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScaleInControlMaxScaledInReplicasObservation

type ScaleInControlMaxScaledInReplicasObservation struct {

	// Specifies a fixed number of VM instances. This must be a positive
	// integer.
	Fixed *float64 `json:"fixed,omitempty" tf:"fixed,omitempty"`

	// Specifies a percentage of instances between 0 to 100%, inclusive.
	// For example, specify 80 for 80%.
	Percent *float64 `json:"percent,omitempty" tf:"percent,omitempty"`
}

func (*ScaleInControlMaxScaledInReplicasObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInControlMaxScaledInReplicasObservation.

func (*ScaleInControlMaxScaledInReplicasObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScaleInControlMaxScaledInReplicasParameters

type ScaleInControlMaxScaledInReplicasParameters struct {

	// Specifies a fixed number of VM instances. This must be a positive
	// integer.
	// +kubebuilder:validation:Optional
	Fixed *float64 `json:"fixed,omitempty" tf:"fixed,omitempty"`

	// Specifies a percentage of instances between 0 to 100%, inclusive.
	// For example, specify 80 for 80%.
	// +kubebuilder:validation:Optional
	Percent *float64 `json:"percent,omitempty" tf:"percent,omitempty"`
}

func (*ScaleInControlMaxScaledInReplicasParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInControlMaxScaledInReplicasParameters.

func (*ScaleInControlMaxScaledInReplicasParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScaleInControlObservation

type ScaleInControlObservation struct {

	// A nested object resource
	// Structure is documented below.
	MaxScaledInReplicas *MaxScaledInReplicasObservation `json:"maxScaledInReplicas,omitempty" tf:"max_scaled_in_replicas,omitempty"`

	// How long back autoscaling should look when computing recommendations
	// to include directives regarding slower scale down, as described above.
	TimeWindowSec *float64 `json:"timeWindowSec,omitempty" tf:"time_window_sec,omitempty"`
}

func (*ScaleInControlObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInControlObservation.

func (*ScaleInControlObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScaleInControlParameters

type ScaleInControlParameters struct {

	// A nested object resource
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	MaxScaledInReplicas *MaxScaledInReplicasParameters `json:"maxScaledInReplicas,omitempty" tf:"max_scaled_in_replicas,omitempty"`

	// How long back autoscaling should look when computing recommendations
	// to include directives regarding slower scale down, as described above.
	// +kubebuilder:validation:Optional
	TimeWindowSec *float64 `json:"timeWindowSec,omitempty" tf:"time_window_sec,omitempty"`
}

func (*ScaleInControlParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInControlParameters.

func (*ScaleInControlParameters) DeepCopyInto

func (in *ScaleInControlParameters) DeepCopyInto(out *ScaleInControlParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScalingSchedulesInitParameters

type ScalingSchedulesInitParameters struct {

	// A description of a scaling schedule.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A boolean value that specifies if a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// The duration of time intervals (in seconds) for which this scaling schedule will be running. The minimum allowed value is 300.
	DurationSec *float64 `json:"durationSec,omitempty" tf:"duration_sec,omitempty"`

	// Minimum number of VM instances that autoscaler will recommend in time intervals starting according to schedule.
	MinRequiredReplicas *float64 `json:"minRequiredReplicas,omitempty" tf:"min_required_replicas,omitempty"`

	// The identifier for this object. Format specified above.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The start timestamps of time intervals when this scaling schedule should provide a scaling signal. This field uses the extended cron format (with an optional year field).
	Schedule *string `json:"schedule,omitempty" tf:"schedule,omitempty"`

	// The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database.
	TimeZone *string `json:"timeZone,omitempty" tf:"time_zone,omitempty"`
}

func (*ScalingSchedulesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingSchedulesInitParameters.

func (*ScalingSchedulesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScalingSchedulesObservation

type ScalingSchedulesObservation struct {

	// A description of a scaling schedule.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A boolean value that specifies if a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect.
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// The duration of time intervals (in seconds) for which this scaling schedule will be running. The minimum allowed value is 300.
	DurationSec *float64 `json:"durationSec,omitempty" tf:"duration_sec,omitempty"`

	// Minimum number of VM instances that autoscaler will recommend in time intervals starting according to schedule.
	MinRequiredReplicas *float64 `json:"minRequiredReplicas,omitempty" tf:"min_required_replicas,omitempty"`

	// The identifier for this object. Format specified above.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The start timestamps of time intervals when this scaling schedule should provide a scaling signal. This field uses the extended cron format (with an optional year field).
	Schedule *string `json:"schedule,omitempty" tf:"schedule,omitempty"`

	// The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database.
	TimeZone *string `json:"timeZone,omitempty" tf:"time_zone,omitempty"`
}

func (*ScalingSchedulesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingSchedulesObservation.

func (*ScalingSchedulesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScalingSchedulesParameters

type ScalingSchedulesParameters struct {

	// A description of a scaling schedule.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A boolean value that specifies if a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect.
	// +kubebuilder:validation:Optional
	Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`

	// The duration of time intervals (in seconds) for which this scaling schedule will be running. The minimum allowed value is 300.
	// +kubebuilder:validation:Optional
	DurationSec *float64 `json:"durationSec" tf:"duration_sec,omitempty"`

	// Minimum number of VM instances that autoscaler will recommend in time intervals starting according to schedule.
	// +kubebuilder:validation:Optional
	MinRequiredReplicas *float64 `json:"minRequiredReplicas" tf:"min_required_replicas,omitempty"`

	// The identifier for this object. Format specified above.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The start timestamps of time intervals when this scaling schedule should provide a scaling signal. This field uses the extended cron format (with an optional year field).
	// +kubebuilder:validation:Optional
	Schedule *string `json:"schedule" tf:"schedule,omitempty"`

	// The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database.
	// +kubebuilder:validation:Optional
	TimeZone *string `json:"timeZone,omitempty" tf:"time_zone,omitempty"`
}

func (*ScalingSchedulesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingSchedulesParameters.

func (*ScalingSchedulesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScheduleInitParameters

type ScheduleInitParameters struct {

	// The policy will execute every nth day at the specified time.
	// Structure is documented below.
	DailySchedule *DailyScheduleInitParameters `json:"dailySchedule,omitempty" tf:"daily_schedule,omitempty"`

	// The policy will execute every nth hour starting at the specified time.
	// Structure is documented below.
	HourlySchedule *HourlyScheduleInitParameters `json:"hourlySchedule,omitempty" tf:"hourly_schedule,omitempty"`

	// Allows specifying a snapshot time for each day of the week.
	// Structure is documented below.
	WeeklySchedule *WeeklyScheduleInitParameters `json:"weeklySchedule,omitempty" tf:"weekly_schedule,omitempty"`
}

func (*ScheduleInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleInitParameters.

func (*ScheduleInitParameters) DeepCopyInto

func (in *ScheduleInitParameters) DeepCopyInto(out *ScheduleInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScheduleObservation

type ScheduleObservation struct {

	// The policy will execute every nth day at the specified time.
	// Structure is documented below.
	DailySchedule *DailyScheduleObservation `json:"dailySchedule,omitempty" tf:"daily_schedule,omitempty"`

	// The policy will execute every nth hour starting at the specified time.
	// Structure is documented below.
	HourlySchedule *HourlyScheduleObservation `json:"hourlySchedule,omitempty" tf:"hourly_schedule,omitempty"`

	// Allows specifying a snapshot time for each day of the week.
	// Structure is documented below.
	WeeklySchedule *WeeklyScheduleObservation `json:"weeklySchedule,omitempty" tf:"weekly_schedule,omitempty"`
}

func (*ScheduleObservation) DeepCopy

func (in *ScheduleObservation) DeepCopy() *ScheduleObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleObservation.

func (*ScheduleObservation) DeepCopyInto

func (in *ScheduleObservation) DeepCopyInto(out *ScheduleObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScheduleParameters

type ScheduleParameters struct {

	// The policy will execute every nth day at the specified time.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	DailySchedule *DailyScheduleParameters `json:"dailySchedule,omitempty" tf:"daily_schedule,omitempty"`

	// The policy will execute every nth hour starting at the specified time.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HourlySchedule *HourlyScheduleParameters `json:"hourlySchedule,omitempty" tf:"hourly_schedule,omitempty"`

	// Allows specifying a snapshot time for each day of the week.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	WeeklySchedule *WeeklyScheduleParameters `json:"weeklySchedule,omitempty" tf:"weekly_schedule,omitempty"`
}

func (*ScheduleParameters) DeepCopy

func (in *ScheduleParameters) DeepCopy() *ScheduleParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleParameters.

func (*ScheduleParameters) DeepCopyInto

func (in *ScheduleParameters) DeepCopyInto(out *ScheduleParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SchedulingInitParameters

type SchedulingInitParameters struct {

	// Specifies if the instance should be
	// restarted if it was terminated by Compute Engine (not a user).
	// Defaults to true.
	AutomaticRestart *bool `json:"automaticRestart,omitempty" tf:"automatic_restart,omitempty"`

	// Describe the type of termination action for VM. Can be STOP or DELETE.  Read more on here
	InstanceTerminationAction *string `json:"instanceTerminationAction,omitempty" tf:"instance_termination_action,omitempty"`

	// io/docs/providers/google/guides/provider_versions.html) Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour. Structure is documented below.
	// The local_ssd_recovery_timeout block supports:
	LocalSsdRecoveryTimeout *LocalSsdRecoveryTimeoutInitParameters `json:"localSsdRecoveryTimeout,omitempty" tf:"local_ssd_recovery_timeout,omitempty"`

	// The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
	MinNodeCpus *float64 `json:"minNodeCpus,omitempty" tf:"min_node_cpus,omitempty"`

	// Specifies node affinities or anti-affinities
	// to determine which sole-tenant nodes your instances and managed instance
	// groups will use as host systems. Read more on sole-tenant node creation
	// here.
	// Structure documented below.
	NodeAffinities []NodeAffinitiesInitParameters `json:"nodeAffinities,omitempty" tf:"node_affinities,omitempty"`

	// Describes maintenance behavior for the
	// instance. Can be MIGRATE or TERMINATE, for more info, read
	// here.
	OnHostMaintenance *string `json:"onHostMaintenance,omitempty" tf:"on_host_maintenance,omitempty"`

	// Specifies if the instance is preemptible.
	// If this field is set to true, then automatic_restart must be
	// set to false.  Defaults to false.
	Preemptible *bool `json:"preemptible,omitempty" tf:"preemptible,omitempty"`

	// Describe the type of preemptible VM. This field accepts the value STANDARD or SPOT. If the value is STANDARD, there will be no discount. If this   is set to SPOT,
	// preemptible should be true and automatic_restart should be
	// false. For more info about
	// SPOT, read here
	ProvisioningModel *string `json:"provisioningModel,omitempty" tf:"provisioning_model,omitempty"`
}

func (*SchedulingInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingInitParameters.

func (*SchedulingInitParameters) DeepCopyInto

func (in *SchedulingInitParameters) DeepCopyInto(out *SchedulingInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SchedulingLocalSsdRecoveryTimeoutInitParameters

type SchedulingLocalSsdRecoveryTimeoutInitParameters struct {
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*SchedulingLocalSsdRecoveryTimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingLocalSsdRecoveryTimeoutInitParameters.

func (*SchedulingLocalSsdRecoveryTimeoutInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SchedulingLocalSsdRecoveryTimeoutObservation

type SchedulingLocalSsdRecoveryTimeoutObservation struct {
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*SchedulingLocalSsdRecoveryTimeoutObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingLocalSsdRecoveryTimeoutObservation.

func (*SchedulingLocalSsdRecoveryTimeoutObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SchedulingLocalSsdRecoveryTimeoutParameters

type SchedulingLocalSsdRecoveryTimeoutParameters struct {

	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// +kubebuilder:validation:Optional
	Seconds *float64 `json:"seconds" tf:"seconds,omitempty"`
}

func (*SchedulingLocalSsdRecoveryTimeoutParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingLocalSsdRecoveryTimeoutParameters.

func (*SchedulingLocalSsdRecoveryTimeoutParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SchedulingNodeAffinitiesInitParameters

type SchedulingNodeAffinitiesInitParameters struct {
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	Operator *string `json:"operator,omitempty" tf:"operator,omitempty"`

	// +listType=set
	Values []*string `json:"values,omitempty" tf:"values,omitempty"`
}

func (*SchedulingNodeAffinitiesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingNodeAffinitiesInitParameters.

func (*SchedulingNodeAffinitiesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SchedulingNodeAffinitiesObservation

type SchedulingNodeAffinitiesObservation struct {
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	Operator *string `json:"operator,omitempty" tf:"operator,omitempty"`

	// +listType=set
	Values []*string `json:"values,omitempty" tf:"values,omitempty"`
}

func (*SchedulingNodeAffinitiesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingNodeAffinitiesObservation.

func (*SchedulingNodeAffinitiesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SchedulingNodeAffinitiesParameters

type SchedulingNodeAffinitiesParameters struct {

	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

	// +kubebuilder:validation:Optional
	Operator *string `json:"operator" tf:"operator,omitempty"`

	// +kubebuilder:validation:Optional
	// +listType=set
	Values []*string `json:"values" tf:"values,omitempty"`
}

func (*SchedulingNodeAffinitiesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingNodeAffinitiesParameters.

func (*SchedulingNodeAffinitiesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SchedulingObservation

type SchedulingObservation struct {

	// Specifies if the instance should be
	// restarted if it was terminated by Compute Engine (not a user).
	// Defaults to true.
	AutomaticRestart *bool `json:"automaticRestart,omitempty" tf:"automatic_restart,omitempty"`

	// Describe the type of termination action for VM. Can be STOP or DELETE.  Read more on here
	InstanceTerminationAction *string `json:"instanceTerminationAction,omitempty" tf:"instance_termination_action,omitempty"`

	// io/docs/providers/google/guides/provider_versions.html) Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour. Structure is documented below.
	// The local_ssd_recovery_timeout block supports:
	LocalSsdRecoveryTimeout *LocalSsdRecoveryTimeoutObservation `json:"localSsdRecoveryTimeout,omitempty" tf:"local_ssd_recovery_timeout,omitempty"`

	// The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
	MinNodeCpus *float64 `json:"minNodeCpus,omitempty" tf:"min_node_cpus,omitempty"`

	// Specifies node affinities or anti-affinities
	// to determine which sole-tenant nodes your instances and managed instance
	// groups will use as host systems. Read more on sole-tenant node creation
	// here.
	// Structure documented below.
	NodeAffinities []NodeAffinitiesObservation `json:"nodeAffinities,omitempty" tf:"node_affinities,omitempty"`

	// Describes maintenance behavior for the
	// instance. Can be MIGRATE or TERMINATE, for more info, read
	// here.
	OnHostMaintenance *string `json:"onHostMaintenance,omitempty" tf:"on_host_maintenance,omitempty"`

	// Specifies if the instance is preemptible.
	// If this field is set to true, then automatic_restart must be
	// set to false.  Defaults to false.
	Preemptible *bool `json:"preemptible,omitempty" tf:"preemptible,omitempty"`

	// Describe the type of preemptible VM. This field accepts the value STANDARD or SPOT. If the value is STANDARD, there will be no discount. If this   is set to SPOT,
	// preemptible should be true and automatic_restart should be
	// false. For more info about
	// SPOT, read here
	ProvisioningModel *string `json:"provisioningModel,omitempty" tf:"provisioning_model,omitempty"`
}

func (*SchedulingObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingObservation.

func (*SchedulingObservation) DeepCopyInto

func (in *SchedulingObservation) DeepCopyInto(out *SchedulingObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SchedulingParameters

type SchedulingParameters struct {

	// Specifies if the instance should be
	// restarted if it was terminated by Compute Engine (not a user).
	// Defaults to true.
	// +kubebuilder:validation:Optional
	AutomaticRestart *bool `json:"automaticRestart,omitempty" tf:"automatic_restart,omitempty"`

	// Describe the type of termination action for VM. Can be STOP or DELETE.  Read more on here
	// +kubebuilder:validation:Optional
	InstanceTerminationAction *string `json:"instanceTerminationAction,omitempty" tf:"instance_termination_action,omitempty"`

	// io/docs/providers/google/guides/provider_versions.html) Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour. Structure is documented below.
	// The local_ssd_recovery_timeout block supports:
	// +kubebuilder:validation:Optional
	LocalSsdRecoveryTimeout *LocalSsdRecoveryTimeoutParameters `json:"localSsdRecoveryTimeout,omitempty" tf:"local_ssd_recovery_timeout,omitempty"`

	// The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
	// +kubebuilder:validation:Optional
	MinNodeCpus *float64 `json:"minNodeCpus,omitempty" tf:"min_node_cpus,omitempty"`

	// Specifies node affinities or anti-affinities
	// to determine which sole-tenant nodes your instances and managed instance
	// groups will use as host systems. Read more on sole-tenant node creation
	// here.
	// Structure documented below.
	// +kubebuilder:validation:Optional
	NodeAffinities []NodeAffinitiesParameters `json:"nodeAffinities,omitempty" tf:"node_affinities,omitempty"`

	// Describes maintenance behavior for the
	// instance. Can be MIGRATE or TERMINATE, for more info, read
	// here.
	// +kubebuilder:validation:Optional
	OnHostMaintenance *string `json:"onHostMaintenance,omitempty" tf:"on_host_maintenance,omitempty"`

	// Specifies if the instance is preemptible.
	// If this field is set to true, then automatic_restart must be
	// set to false.  Defaults to false.
	// +kubebuilder:validation:Optional
	Preemptible *bool `json:"preemptible,omitempty" tf:"preemptible,omitempty"`

	// Describe the type of preemptible VM. This field accepts the value STANDARD or SPOT. If the value is STANDARD, there will be no discount. If this   is set to SPOT,
	// preemptible should be true and automatic_restart should be
	// false. For more info about
	// SPOT, read here
	// +kubebuilder:validation:Optional
	ProvisioningModel *string `json:"provisioningModel,omitempty" tf:"provisioning_model,omitempty"`
}

func (*SchedulingParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingParameters.

func (*SchedulingParameters) DeepCopyInto

func (in *SchedulingParameters) DeepCopyInto(out *SchedulingParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScratchDiskInitParameters

type ScratchDiskInitParameters struct {

	// Name with which attached disk will be accessible.
	// On the instance, this device will be /dev/disk/by-id/google-{{device_name}}.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// The disk interface to use for attaching this disk; either SCSI or NVME.
	Interface *string `json:"interface,omitempty" tf:"interface,omitempty"`

	// The size of the image in gigabytes. If not specified, it
	// will inherit the size of its base image.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`
}

func (*ScratchDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScratchDiskInitParameters.

func (*ScratchDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScratchDiskObservation

type ScratchDiskObservation struct {

	// Name with which attached disk will be accessible.
	// On the instance, this device will be /dev/disk/by-id/google-{{device_name}}.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// The disk interface to use for attaching this disk; either SCSI or NVME.
	Interface *string `json:"interface,omitempty" tf:"interface,omitempty"`

	// The size of the image in gigabytes. If not specified, it
	// will inherit the size of its base image.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`
}

func (*ScratchDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScratchDiskObservation.

func (*ScratchDiskObservation) DeepCopyInto

func (in *ScratchDiskObservation) DeepCopyInto(out *ScratchDiskObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScratchDiskParameters

type ScratchDiskParameters struct {

	// Name with which attached disk will be accessible.
	// On the instance, this device will be /dev/disk/by-id/google-{{device_name}}.
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// The disk interface to use for attaching this disk; either SCSI or NVME.
	// +kubebuilder:validation:Optional
	Interface *string `json:"interface" tf:"interface,omitempty"`

	// The size of the image in gigabytes. If not specified, it
	// will inherit the size of its base image.
	// +kubebuilder:validation:Optional
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`
}

func (*ScratchDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScratchDiskParameters.

func (*ScratchDiskParameters) DeepCopyInto

func (in *ScratchDiskParameters) DeepCopyInto(out *ScratchDiskParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecondaryIPRangeInitParameters

type SecondaryIPRangeInitParameters struct {

	// The range of IP addresses belonging to this subnetwork secondary
	// range. Provide this property when you create the subnetwork.
	// Ranges must be unique and non-overlapping with all primary and
	// secondary IP ranges within a network. Only IPv4 is supported.
	IPCidrRange *string `json:"ipCidrRange,omitempty" tf:"ip_cidr_range"`

	// The name associated with this subnetwork secondary range, used
	// when adding an alias IP range to a VM instance. The name must
	// be 1-63 characters long, and comply with RFC1035. The name
	// must be unique within the subnetwork.
	RangeName *string `json:"rangeName,omitempty" tf:"range_name"`
}

func (*SecondaryIPRangeInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondaryIPRangeInitParameters.

func (*SecondaryIPRangeInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecondaryIPRangeObservation

type SecondaryIPRangeObservation struct {

	// The range of IP addresses belonging to this subnetwork secondary
	// range. Provide this property when you create the subnetwork.
	// Ranges must be unique and non-overlapping with all primary and
	// secondary IP ranges within a network. Only IPv4 is supported.
	IPCidrRange *string `json:"ipCidrRange,omitempty" tf:"ip_cidr_range,omitempty"`

	// The name associated with this subnetwork secondary range, used
	// when adding an alias IP range to a VM instance. The name must
	// be 1-63 characters long, and comply with RFC1035. The name
	// must be unique within the subnetwork.
	RangeName *string `json:"rangeName,omitempty" tf:"range_name,omitempty"`
}

func (*SecondaryIPRangeObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondaryIPRangeObservation.

func (*SecondaryIPRangeObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecondaryIPRangeParameters

type SecondaryIPRangeParameters struct {

	// The range of IP addresses belonging to this subnetwork secondary
	// range. Provide this property when you create the subnetwork.
	// Ranges must be unique and non-overlapping with all primary and
	// secondary IP ranges within a network. Only IPv4 is supported.
	// +kubebuilder:validation:Optional
	IPCidrRange *string `json:"ipCidrRange,omitempty" tf:"ip_cidr_range"`

	// The name associated with this subnetwork secondary range, used
	// when adding an alias IP range to a VM instance. The name must
	// be 1-63 characters long, and comply with RFC1035. The name
	// must be unique within the subnetwork.
	// +kubebuilder:validation:Optional
	RangeName *string `json:"rangeName,omitempty" tf:"range_name"`
}

func (*SecondaryIPRangeParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondaryIPRangeParameters.

func (*SecondaryIPRangeParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecurityPolicy

type SecurityPolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              SecurityPolicySpec   `json:"spec"`
	Status            SecurityPolicyStatus `json:"status,omitempty"`
}

SecurityPolicy is the Schema for the SecurityPolicys API. Creates a Security Policy resource for Google Compute Engine. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*SecurityPolicy) DeepCopy

func (in *SecurityPolicy) DeepCopy() *SecurityPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicy.

func (*SecurityPolicy) DeepCopyInto

func (in *SecurityPolicy) DeepCopyInto(out *SecurityPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SecurityPolicy) DeepCopyObject

func (in *SecurityPolicy) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SecurityPolicy) GetCondition

func (mg *SecurityPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this SecurityPolicy.

func (*SecurityPolicy) GetConnectionDetailsMapping

func (tr *SecurityPolicy) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this SecurityPolicy

func (*SecurityPolicy) GetDeletionPolicy

func (mg *SecurityPolicy) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this SecurityPolicy.

func (*SecurityPolicy) GetID

func (tr *SecurityPolicy) GetID() string

GetID returns ID of underlying Terraform resource of this SecurityPolicy

func (*SecurityPolicy) GetInitParameters

func (tr *SecurityPolicy) GetInitParameters() (map[string]any, error)

GetInitParameters of this SecurityPolicy

func (*SecurityPolicy) GetManagementPolicies

func (mg *SecurityPolicy) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this SecurityPolicy.

func (*SecurityPolicy) GetMergedParameters

func (tr *SecurityPolicy) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this SecurityPolicy

func (*SecurityPolicy) GetObservation

func (tr *SecurityPolicy) GetObservation() (map[string]any, error)

GetObservation of this SecurityPolicy

func (*SecurityPolicy) GetParameters

func (tr *SecurityPolicy) GetParameters() (map[string]any, error)

GetParameters of this SecurityPolicy

func (*SecurityPolicy) GetProviderConfigReference

func (mg *SecurityPolicy) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this SecurityPolicy.

func (*SecurityPolicy) GetPublishConnectionDetailsTo

func (mg *SecurityPolicy) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this SecurityPolicy.

func (*SecurityPolicy) GetTerraformResourceType

func (mg *SecurityPolicy) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this SecurityPolicy

func (*SecurityPolicy) GetTerraformSchemaVersion

func (tr *SecurityPolicy) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*SecurityPolicy) GetWriteConnectionSecretToReference

func (mg *SecurityPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this SecurityPolicy.

func (*SecurityPolicy) Hub

func (tr *SecurityPolicy) Hub()

Hub marks this type as a conversion hub.

func (*SecurityPolicy) LateInitialize

func (tr *SecurityPolicy) LateInitialize(attrs []byte) (bool, error)

LateInitialize this SecurityPolicy using its observed tfState. returns True if there are any spec changes for the resource.

func (*SecurityPolicy) SetConditions

func (mg *SecurityPolicy) SetConditions(c ...xpv1.Condition)

SetConditions of this SecurityPolicy.

func (*SecurityPolicy) SetDeletionPolicy

func (mg *SecurityPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this SecurityPolicy.

func (*SecurityPolicy) SetManagementPolicies

func (mg *SecurityPolicy) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this SecurityPolicy.

func (*SecurityPolicy) SetObservation

func (tr *SecurityPolicy) SetObservation(obs map[string]any) error

SetObservation for this SecurityPolicy

func (*SecurityPolicy) SetParameters

func (tr *SecurityPolicy) SetParameters(params map[string]any) error

SetParameters for this SecurityPolicy

func (*SecurityPolicy) SetProviderConfigReference

func (mg *SecurityPolicy) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this SecurityPolicy.

func (*SecurityPolicy) SetPublishConnectionDetailsTo

func (mg *SecurityPolicy) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this SecurityPolicy.

func (*SecurityPolicy) SetWriteConnectionSecretToReference

func (mg *SecurityPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this SecurityPolicy.

type SecurityPolicyInitParameters

type SecurityPolicyInitParameters struct {

	// Configuration for Google Cloud Armor Adaptive Protection. Structure is documented below.
	AdaptiveProtectionConfig *AdaptiveProtectionConfigInitParameters `json:"adaptiveProtectionConfig,omitempty" tf:"adaptive_protection_config,omitempty"`

	// Advanced Configuration Options.
	// Structure is documented below.
	AdvancedOptionsConfig *AdvancedOptionsConfigInitParameters `json:"advancedOptionsConfig,omitempty" tf:"advanced_options_config,omitempty"`

	// An optional description of this security policy. Max size is 2048.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// reCAPTCHA Configuration Options. Structure is documented below.
	RecaptchaOptionsConfig *RecaptchaOptionsConfigInitParameters `json:"recaptchaOptionsConfig,omitempty" tf:"recaptcha_options_config,omitempty"`

	// The set of rules that belong to this policy. There must always be a default
	// rule (rule with priority 2147483647 and match "*"). If no rules are provided when creating a
	// security policy, a default rule with action "allow" will be added. Structure is documented below.
	Rule []RuleInitParameters `json:"rule,omitempty" tf:"rule,omitempty"`

	// The type indicates the intended use of the security policy. This field can be set only at resource creation time.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*SecurityPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicyInitParameters.

func (*SecurityPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecurityPolicyList

type SecurityPolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SecurityPolicy `json:"items"`
}

SecurityPolicyList contains a list of SecurityPolicys

func (*SecurityPolicyList) DeepCopy

func (in *SecurityPolicyList) DeepCopy() *SecurityPolicyList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicyList.

func (*SecurityPolicyList) DeepCopyInto

func (in *SecurityPolicyList) DeepCopyInto(out *SecurityPolicyList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SecurityPolicyList) DeepCopyObject

func (in *SecurityPolicyList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SecurityPolicyList) GetItems

func (l *SecurityPolicyList) GetItems() []resource.Managed

GetItems of this SecurityPolicyList.

type SecurityPolicyObservation

type SecurityPolicyObservation struct {

	// Configuration for Google Cloud Armor Adaptive Protection. Structure is documented below.
	AdaptiveProtectionConfig *AdaptiveProtectionConfigObservation `json:"adaptiveProtectionConfig,omitempty" tf:"adaptive_protection_config,omitempty"`

	// Advanced Configuration Options.
	// Structure is documented below.
	AdvancedOptionsConfig *AdvancedOptionsConfigObservation `json:"advancedOptionsConfig,omitempty" tf:"advanced_options_config,omitempty"`

	// An optional description of this security policy. Max size is 2048.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Fingerprint of this resource.
	Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"`

	// an identifier for the resource with format projects/{{project}}/global/securityPolicies/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// reCAPTCHA Configuration Options. Structure is documented below.
	RecaptchaOptionsConfig *RecaptchaOptionsConfigObservation `json:"recaptchaOptionsConfig,omitempty" tf:"recaptcha_options_config,omitempty"`

	// The set of rules that belong to this policy. There must always be a default
	// rule (rule with priority 2147483647 and match "*"). If no rules are provided when creating a
	// security policy, a default rule with action "allow" will be added. Structure is documented below.
	Rule []RuleObservation `json:"rule,omitempty" tf:"rule,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// The type indicates the intended use of the security policy. This field can be set only at resource creation time.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*SecurityPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicyObservation.

func (*SecurityPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecurityPolicyParameters

type SecurityPolicyParameters struct {

	// Configuration for Google Cloud Armor Adaptive Protection. Structure is documented below.
	// +kubebuilder:validation:Optional
	AdaptiveProtectionConfig *AdaptiveProtectionConfigParameters `json:"adaptiveProtectionConfig,omitempty" tf:"adaptive_protection_config,omitempty"`

	// Advanced Configuration Options.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	AdvancedOptionsConfig *AdvancedOptionsConfigParameters `json:"advancedOptionsConfig,omitempty" tf:"advanced_options_config,omitempty"`

	// An optional description of this security policy. Max size is 2048.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// reCAPTCHA Configuration Options. Structure is documented below.
	// +kubebuilder:validation:Optional
	RecaptchaOptionsConfig *RecaptchaOptionsConfigParameters `json:"recaptchaOptionsConfig,omitempty" tf:"recaptcha_options_config,omitempty"`

	// The set of rules that belong to this policy. There must always be a default
	// rule (rule with priority 2147483647 and match "*"). If no rules are provided when creating a
	// security policy, a default rule with action "allow" will be added. Structure is documented below.
	// +kubebuilder:validation:Optional
	Rule []RuleParameters `json:"rule,omitempty" tf:"rule,omitempty"`

	// The type indicates the intended use of the security policy. This field can be set only at resource creation time.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*SecurityPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicyParameters.

func (*SecurityPolicyParameters) DeepCopyInto

func (in *SecurityPolicyParameters) DeepCopyInto(out *SecurityPolicyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecurityPolicySpec

type SecurityPolicySpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     SecurityPolicyParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider SecurityPolicyInitParameters `json:"initProvider,omitempty"`
}

SecurityPolicySpec defines the desired state of SecurityPolicy

func (*SecurityPolicySpec) DeepCopy

func (in *SecurityPolicySpec) DeepCopy() *SecurityPolicySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicySpec.

func (*SecurityPolicySpec) DeepCopyInto

func (in *SecurityPolicySpec) DeepCopyInto(out *SecurityPolicySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecurityPolicyStatus

type SecurityPolicyStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        SecurityPolicyObservation `json:"atProvider,omitempty"`
}

SecurityPolicyStatus defines the observed state of SecurityPolicy.

func (*SecurityPolicyStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicyStatus.

func (*SecurityPolicyStatus) DeepCopyInto

func (in *SecurityPolicyStatus) DeepCopyInto(out *SecurityPolicyStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecuritySettingsInitParameters

type SecuritySettingsInitParameters struct {

	// ClientTlsPolicy is a resource that specifies how a client should authenticate
	// connections to backends of a service. This resource itself does not affect
	// configuration unless it is attached to a backend service resource.
	ClientTLSPolicy *string `json:"clientTlsPolicy,omitempty" tf:"client_tls_policy,omitempty"`

	// A list of alternate names to verify the subject identity in the certificate.
	// If specified, the client will verify that the server certificate's subject
	// alt name matches one of the specified values.
	SubjectAltNames []*string `json:"subjectAltNames,omitempty" tf:"subject_alt_names,omitempty"`
}

func (*SecuritySettingsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecuritySettingsInitParameters.

func (*SecuritySettingsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecuritySettingsObservation

type SecuritySettingsObservation struct {

	// ClientTlsPolicy is a resource that specifies how a client should authenticate
	// connections to backends of a service. This resource itself does not affect
	// configuration unless it is attached to a backend service resource.
	ClientTLSPolicy *string `json:"clientTlsPolicy,omitempty" tf:"client_tls_policy,omitempty"`

	// A list of alternate names to verify the subject identity in the certificate.
	// If specified, the client will verify that the server certificate's subject
	// alt name matches one of the specified values.
	SubjectAltNames []*string `json:"subjectAltNames,omitempty" tf:"subject_alt_names,omitempty"`
}

func (*SecuritySettingsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecuritySettingsObservation.

func (*SecuritySettingsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecuritySettingsParameters

type SecuritySettingsParameters struct {

	// ClientTlsPolicy is a resource that specifies how a client should authenticate
	// connections to backends of a service. This resource itself does not affect
	// configuration unless it is attached to a backend service resource.
	// +kubebuilder:validation:Optional
	ClientTLSPolicy *string `json:"clientTlsPolicy" tf:"client_tls_policy,omitempty"`

	// A list of alternate names to verify the subject identity in the certificate.
	// If specified, the client will verify that the server certificate's subject
	// alt name matches one of the specified values.
	// +kubebuilder:validation:Optional
	SubjectAltNames []*string `json:"subjectAltNames" tf:"subject_alt_names,omitempty"`
}

func (*SecuritySettingsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecuritySettingsParameters.

func (*SecuritySettingsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerBindingInitParameters

type ServerBindingInitParameters struct {

	// Type of server binding policy. If RESTART_NODE_ON_ANY_SERVER,
	// nodes using this template will restart on any physical server
	// following a maintenance event.
	// If RESTART_NODE_ON_MINIMAL_SERVER, nodes using this template
	// will restart on the same physical server following a maintenance
	// event, instead of being live migrated to or restarted on a new
	// physical server. This option may be useful if you are using
	// software licenses tied to the underlying server characteristics
	// such as physical sockets or cores, to avoid the need for
	// additional licenses when maintenance occurs. However, VMs on such
	// nodes will experience outages while maintenance is applied.
	// Possible values are: RESTART_NODE_ON_ANY_SERVER, RESTART_NODE_ON_MINIMAL_SERVERS.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ServerBindingInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerBindingInitParameters.

func (*ServerBindingInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerBindingObservation

type ServerBindingObservation struct {

	// Type of server binding policy. If RESTART_NODE_ON_ANY_SERVER,
	// nodes using this template will restart on any physical server
	// following a maintenance event.
	// If RESTART_NODE_ON_MINIMAL_SERVER, nodes using this template
	// will restart on the same physical server following a maintenance
	// event, instead of being live migrated to or restarted on a new
	// physical server. This option may be useful if you are using
	// software licenses tied to the underlying server characteristics
	// such as physical sockets or cores, to avoid the need for
	// additional licenses when maintenance occurs. However, VMs on such
	// nodes will experience outages while maintenance is applied.
	// Possible values are: RESTART_NODE_ON_ANY_SERVER, RESTART_NODE_ON_MINIMAL_SERVERS.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ServerBindingObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerBindingObservation.

func (*ServerBindingObservation) DeepCopyInto

func (in *ServerBindingObservation) DeepCopyInto(out *ServerBindingObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerBindingParameters

type ServerBindingParameters struct {

	// Type of server binding policy. If RESTART_NODE_ON_ANY_SERVER,
	// nodes using this template will restart on any physical server
	// following a maintenance event.
	// If RESTART_NODE_ON_MINIMAL_SERVER, nodes using this template
	// will restart on the same physical server following a maintenance
	// event, instead of being live migrated to or restarted on a new
	// physical server. This option may be useful if you are using
	// software licenses tied to the underlying server characteristics
	// such as physical sockets or cores, to avoid the need for
	// additional licenses when maintenance occurs. However, VMs on such
	// nodes will experience outages while maintenance is applied.
	// Possible values are: RESTART_NODE_ON_ANY_SERVER, RESTART_NODE_ON_MINIMAL_SERVERS.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*ServerBindingParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerBindingParameters.

func (*ServerBindingParameters) DeepCopyInto

func (in *ServerBindingParameters) DeepCopyInto(out *ServerBindingParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceAccountInitParameters

type ServiceAccountInitParameters struct {

	// The service account e-mail address.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true)
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// Reference to a ServiceAccount in cloudplatform to populate email.
	// +kubebuilder:validation:Optional
	EmailRef *v1.Reference `json:"emailRef,omitempty" tf:"-"`

	// Selector for a ServiceAccount in cloudplatform to populate email.
	// +kubebuilder:validation:Optional
	EmailSelector *v1.Selector `json:"emailSelector,omitempty" tf:"-"`

	// A list of service scopes. Both OAuth2 URLs and gcloud
	// short names are supported. To allow full access to all Cloud APIs, use the
	// cloud-platform scope. See a complete list of scopes here.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	// +listType=set
	Scopes []*string `json:"scopes,omitempty" tf:"scopes,omitempty"`
}

func (*ServiceAccountInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountInitParameters.

func (*ServiceAccountInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceAccountObservation

type ServiceAccountObservation struct {

	// The service account e-mail address.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// A list of service scopes. Both OAuth2 URLs and gcloud
	// short names are supported. To allow full access to all Cloud APIs, use the
	// cloud-platform scope. See a complete list of scopes here.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	// +listType=set
	Scopes []*string `json:"scopes,omitempty" tf:"scopes,omitempty"`
}

func (*ServiceAccountObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountObservation.

func (*ServiceAccountObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceAccountParameters

type ServiceAccountParameters struct {

	// The service account e-mail address.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/cloudplatform/v1beta1.ServiceAccount
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("email",true)
	// +kubebuilder:validation:Optional
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// Reference to a ServiceAccount in cloudplatform to populate email.
	// +kubebuilder:validation:Optional
	EmailRef *v1.Reference `json:"emailRef,omitempty" tf:"-"`

	// Selector for a ServiceAccount in cloudplatform to populate email.
	// +kubebuilder:validation:Optional
	EmailSelector *v1.Selector `json:"emailSelector,omitempty" tf:"-"`

	// A list of service scopes. Both OAuth2 URLs and gcloud
	// short names are supported. To allow full access to all Cloud APIs, use the
	// cloud-platform scope. See a complete list of scopes here.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	// +kubebuilder:validation:Optional
	// +listType=set
	Scopes []*string `json:"scopes" tf:"scopes,omitempty"`
}

func (*ServiceAccountParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountParameters.

func (*ServiceAccountParameters) DeepCopyInto

func (in *ServiceAccountParameters) DeepCopyInto(out *ServiceAccountParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceDirectoryRegistrationsInitParameters

type ServiceDirectoryRegistrationsInitParameters struct {

	// Service Directory namespace to register the forwarding rule under.
	Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"`

	// Service Directory service to register the forwarding rule under.
	Service *string `json:"service,omitempty" tf:"service,omitempty"`
}

func (*ServiceDirectoryRegistrationsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceDirectoryRegistrationsInitParameters.

func (*ServiceDirectoryRegistrationsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceDirectoryRegistrationsObservation

type ServiceDirectoryRegistrationsObservation struct {

	// Service Directory namespace to register the forwarding rule under.
	Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"`

	// Service Directory service to register the forwarding rule under.
	Service *string `json:"service,omitempty" tf:"service,omitempty"`
}

func (*ServiceDirectoryRegistrationsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceDirectoryRegistrationsObservation.

func (*ServiceDirectoryRegistrationsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceDirectoryRegistrationsParameters

type ServiceDirectoryRegistrationsParameters struct {

	// Service Directory namespace to register the forwarding rule under.
	// +kubebuilder:validation:Optional
	Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"`

	// Service Directory service to register the forwarding rule under.
	// +kubebuilder:validation:Optional
	Service *string `json:"service,omitempty" tf:"service,omitempty"`
}

func (*ServiceDirectoryRegistrationsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceDirectoryRegistrationsParameters.

func (*ServiceDirectoryRegistrationsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShareSettingsInitParameters

type ShareSettingsInitParameters struct {

	// A map of project id and project config. This is only valid when shareType's value is SPECIFIC_PROJECTS.
	// Structure is documented below.
	ProjectMap []ProjectMapInitParameters `json:"projectMap,omitempty" tf:"project_map,omitempty"`

	// Node group sharing type.
	// Possible values are: ORGANIZATION, SPECIFIC_PROJECTS, LOCAL.
	ShareType *string `json:"shareType,omitempty" tf:"share_type,omitempty"`
}

func (*ShareSettingsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShareSettingsInitParameters.

func (*ShareSettingsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShareSettingsObservation

type ShareSettingsObservation struct {

	// A map of project id and project config. This is only valid when shareType's value is SPECIFIC_PROJECTS.
	// Structure is documented below.
	ProjectMap []ProjectMapObservation `json:"projectMap,omitempty" tf:"project_map,omitempty"`

	// Node group sharing type.
	// Possible values are: ORGANIZATION, SPECIFIC_PROJECTS, LOCAL.
	ShareType *string `json:"shareType,omitempty" tf:"share_type,omitempty"`
}

func (*ShareSettingsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShareSettingsObservation.

func (*ShareSettingsObservation) DeepCopyInto

func (in *ShareSettingsObservation) DeepCopyInto(out *ShareSettingsObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShareSettingsParameters

type ShareSettingsParameters struct {

	// A map of project id and project config. This is only valid when shareType's value is SPECIFIC_PROJECTS.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ProjectMap []ProjectMapParameters `json:"projectMap,omitempty" tf:"project_map,omitempty"`

	// Node group sharing type.
	// Possible values are: ORGANIZATION, SPECIFIC_PROJECTS, LOCAL.
	// +kubebuilder:validation:Optional
	ShareType *string `json:"shareType" tf:"share_type,omitempty"`
}

func (*ShareSettingsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShareSettingsParameters.

func (*ShareSettingsParameters) DeepCopyInto

func (in *ShareSettingsParameters) DeepCopyInto(out *ShareSettingsParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShareSettingsProjectMapInitParameters

type ShareSettingsProjectMapInitParameters struct {

	// The identifier for this object. Format specified above.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The project id/number, should be same as the key of this project config in the project map.
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`
}

func (*ShareSettingsProjectMapInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShareSettingsProjectMapInitParameters.

func (*ShareSettingsProjectMapInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShareSettingsProjectMapObservation

type ShareSettingsProjectMapObservation struct {

	// The identifier for this object. Format specified above.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The project id/number, should be same as the key of this project config in the project map.
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`
}

func (*ShareSettingsProjectMapObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShareSettingsProjectMapObservation.

func (*ShareSettingsProjectMapObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShareSettingsProjectMapParameters

type ShareSettingsProjectMapParameters struct {

	// The identifier for this object. Format specified above.
	// +kubebuilder:validation:Optional
	ID *string `json:"id" tf:"id,omitempty"`

	// The project id/number, should be same as the key of this project config in the project map.
	// +kubebuilder:validation:Optional
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`
}

func (*ShareSettingsProjectMapParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShareSettingsProjectMapParameters.

func (*ShareSettingsProjectMapParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShieldedInstanceConfigInitParameters

type ShieldedInstanceConfigInitParameters struct {

	// - Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring,omitempty" tf:"enable_integrity_monitoring,omitempty"`

	// - Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	EnableSecureBoot *bool `json:"enableSecureBoot,omitempty" tf:"enable_secure_boot,omitempty"`

	// - Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	EnableVtpm *bool `json:"enableVtpm,omitempty" tf:"enable_vtpm,omitempty"`
}

func (*ShieldedInstanceConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShieldedInstanceConfigInitParameters.

func (*ShieldedInstanceConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShieldedInstanceConfigObservation

type ShieldedInstanceConfigObservation struct {

	// - Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring,omitempty" tf:"enable_integrity_monitoring,omitempty"`

	// - Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	EnableSecureBoot *bool `json:"enableSecureBoot,omitempty" tf:"enable_secure_boot,omitempty"`

	// - Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	EnableVtpm *bool `json:"enableVtpm,omitempty" tf:"enable_vtpm,omitempty"`
}

func (*ShieldedInstanceConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShieldedInstanceConfigObservation.

func (*ShieldedInstanceConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShieldedInstanceConfigParameters

type ShieldedInstanceConfigParameters struct {

	// - Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	// +kubebuilder:validation:Optional
	EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring,omitempty" tf:"enable_integrity_monitoring,omitempty"`

	// - Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	// +kubebuilder:validation:Optional
	EnableSecureBoot *bool `json:"enableSecureBoot,omitempty" tf:"enable_secure_boot,omitempty"`

	// - Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
	// Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.
	// +kubebuilder:validation:Optional
	EnableVtpm *bool `json:"enableVtpm,omitempty" tf:"enable_vtpm,omitempty"`
}

func (*ShieldedInstanceConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShieldedInstanceConfigParameters.

func (*ShieldedInstanceConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Snapshot

type Snapshot struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              SnapshotSpec   `json:"spec"`
	Status            SnapshotStatus `json:"status,omitempty"`
}

Snapshot is the Schema for the Snapshots API. Represents a Persistent Disk Snapshot resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*Snapshot) DeepCopy

func (in *Snapshot) DeepCopy() *Snapshot

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Snapshot.

func (*Snapshot) DeepCopyInto

func (in *Snapshot) DeepCopyInto(out *Snapshot)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Snapshot) DeepCopyObject

func (in *Snapshot) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Snapshot) GetCondition

func (mg *Snapshot) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Snapshot.

func (*Snapshot) GetConnectionDetailsMapping

func (tr *Snapshot) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Snapshot

func (*Snapshot) GetDeletionPolicy

func (mg *Snapshot) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Snapshot.

func (*Snapshot) GetID

func (tr *Snapshot) GetID() string

GetID returns ID of underlying Terraform resource of this Snapshot

func (*Snapshot) GetInitParameters

func (tr *Snapshot) GetInitParameters() (map[string]any, error)

GetInitParameters of this Snapshot

func (*Snapshot) GetManagementPolicies

func (mg *Snapshot) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Snapshot.

func (*Snapshot) GetMergedParameters

func (tr *Snapshot) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Snapshot

func (*Snapshot) GetObservation

func (tr *Snapshot) GetObservation() (map[string]any, error)

GetObservation of this Snapshot

func (*Snapshot) GetParameters

func (tr *Snapshot) GetParameters() (map[string]any, error)

GetParameters of this Snapshot

func (*Snapshot) GetProviderConfigReference

func (mg *Snapshot) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Snapshot.

func (*Snapshot) GetPublishConnectionDetailsTo

func (mg *Snapshot) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Snapshot.

func (*Snapshot) GetTerraformResourceType

func (mg *Snapshot) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Snapshot

func (*Snapshot) GetTerraformSchemaVersion

func (tr *Snapshot) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Snapshot) GetWriteConnectionSecretToReference

func (mg *Snapshot) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Snapshot.

func (*Snapshot) Hub

func (tr *Snapshot) Hub()

Hub marks this type as a conversion hub.

func (*Snapshot) LateInitialize

func (tr *Snapshot) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Snapshot using its observed tfState. returns True if there are any spec changes for the resource.

func (*Snapshot) ResolveReferences

func (mg *Snapshot) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Snapshot.

func (*Snapshot) SetConditions

func (mg *Snapshot) SetConditions(c ...xpv1.Condition)

SetConditions of this Snapshot.

func (*Snapshot) SetDeletionPolicy

func (mg *Snapshot) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Snapshot.

func (*Snapshot) SetManagementPolicies

func (mg *Snapshot) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Snapshot.

func (*Snapshot) SetObservation

func (tr *Snapshot) SetObservation(obs map[string]any) error

SetObservation for this Snapshot

func (*Snapshot) SetParameters

func (tr *Snapshot) SetParameters(params map[string]any) error

SetParameters for this Snapshot

func (*Snapshot) SetProviderConfigReference

func (mg *Snapshot) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Snapshot.

func (*Snapshot) SetPublishConnectionDetailsTo

func (mg *Snapshot) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Snapshot.

func (*Snapshot) SetWriteConnectionSecretToReference

func (mg *Snapshot) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Snapshot.

type SnapshotEncryptionKeyInitParameters

type SnapshotEncryptionKeyInitParameters struct {

	// The name of the encryption key that is stored in Google Cloud KMS.
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account used for the encryption request for the given KMS key.
	// If absent, the Compute Engine Service Agent service account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`
}

func (*SnapshotEncryptionKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotEncryptionKeyInitParameters.

func (*SnapshotEncryptionKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotEncryptionKeyObservation

type SnapshotEncryptionKeyObservation struct {

	// The name of the encryption key that is stored in Google Cloud KMS.
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account used for the encryption request for the given KMS key.
	// If absent, the Compute Engine Service Agent service account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`

	// (Output)
	// The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
	// encryption key that protects this resource.
	Sha256 *string `json:"sha256,omitempty" tf:"sha256,omitempty"`
}

func (*SnapshotEncryptionKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotEncryptionKeyObservation.

func (*SnapshotEncryptionKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotEncryptionKeyParameters

type SnapshotEncryptionKeyParameters struct {

	// The name of the encryption key that is stored in Google Cloud KMS.
	// +kubebuilder:validation:Optional
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account used for the encryption request for the given KMS key.
	// If absent, the Compute Engine Service Agent service account is used.
	// +kubebuilder:validation:Optional
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`

	// Specifies a 256-bit customer-supplied encryption key, encoded in
	// RFC 4648 base64 to either encrypt or decrypt this resource.
	// Note: This property is sensitive and will not be displayed in the plan.
	// +kubebuilder:validation:Optional
	RawKeySecretRef *v1.SecretKeySelector `json:"rawKeySecretRef,omitempty" tf:"-"`
}

func (*SnapshotEncryptionKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotEncryptionKeyParameters.

func (*SnapshotEncryptionKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotIAMMember

type SnapshotIAMMember struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.member) || (has(self.initProvider) && has(self.initProvider.member))",message="spec.forProvider.member is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.role) || (has(self.initProvider) && has(self.initProvider.role))",message="spec.forProvider.role is a required parameter"
	Spec   SnapshotIAMMemberSpec   `json:"spec"`
	Status SnapshotIAMMemberStatus `json:"status,omitempty"`
}

SnapshotIAMMember is the Schema for the SnapshotIAMMembers API. <no value> +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*SnapshotIAMMember) DeepCopy

func (in *SnapshotIAMMember) DeepCopy() *SnapshotIAMMember

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotIAMMember.

func (*SnapshotIAMMember) DeepCopyInto

func (in *SnapshotIAMMember) DeepCopyInto(out *SnapshotIAMMember)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SnapshotIAMMember) DeepCopyObject

func (in *SnapshotIAMMember) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SnapshotIAMMember) GetCondition

func (mg *SnapshotIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this SnapshotIAMMember.

func (*SnapshotIAMMember) GetConnectionDetailsMapping

func (tr *SnapshotIAMMember) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this SnapshotIAMMember

func (*SnapshotIAMMember) GetDeletionPolicy

func (mg *SnapshotIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this SnapshotIAMMember.

func (*SnapshotIAMMember) GetID

func (tr *SnapshotIAMMember) GetID() string

GetID returns ID of underlying Terraform resource of this SnapshotIAMMember

func (*SnapshotIAMMember) GetInitParameters

func (tr *SnapshotIAMMember) GetInitParameters() (map[string]any, error)

GetInitParameters of this SnapshotIAMMember

func (*SnapshotIAMMember) GetManagementPolicies

func (mg *SnapshotIAMMember) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this SnapshotIAMMember.

func (*SnapshotIAMMember) GetMergedParameters

func (tr *SnapshotIAMMember) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this SnapshotIAMMember

func (*SnapshotIAMMember) GetObservation

func (tr *SnapshotIAMMember) GetObservation() (map[string]any, error)

GetObservation of this SnapshotIAMMember

func (*SnapshotIAMMember) GetParameters

func (tr *SnapshotIAMMember) GetParameters() (map[string]any, error)

GetParameters of this SnapshotIAMMember

func (*SnapshotIAMMember) GetProviderConfigReference

func (mg *SnapshotIAMMember) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this SnapshotIAMMember.

func (*SnapshotIAMMember) GetPublishConnectionDetailsTo

func (mg *SnapshotIAMMember) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this SnapshotIAMMember.

func (*SnapshotIAMMember) GetTerraformResourceType

func (mg *SnapshotIAMMember) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this SnapshotIAMMember

func (*SnapshotIAMMember) GetTerraformSchemaVersion

func (tr *SnapshotIAMMember) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*SnapshotIAMMember) GetWriteConnectionSecretToReference

func (mg *SnapshotIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this SnapshotIAMMember.

func (*SnapshotIAMMember) Hub

func (tr *SnapshotIAMMember) Hub()

Hub marks this type as a conversion hub.

func (*SnapshotIAMMember) LateInitialize

func (tr *SnapshotIAMMember) LateInitialize(attrs []byte) (bool, error)

LateInitialize this SnapshotIAMMember using its observed tfState. returns True if there are any spec changes for the resource.

func (*SnapshotIAMMember) SetConditions

func (mg *SnapshotIAMMember) SetConditions(c ...xpv1.Condition)

SetConditions of this SnapshotIAMMember.

func (*SnapshotIAMMember) SetDeletionPolicy

func (mg *SnapshotIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this SnapshotIAMMember.

func (*SnapshotIAMMember) SetManagementPolicies

func (mg *SnapshotIAMMember) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this SnapshotIAMMember.

func (*SnapshotIAMMember) SetObservation

func (tr *SnapshotIAMMember) SetObservation(obs map[string]any) error

SetObservation for this SnapshotIAMMember

func (*SnapshotIAMMember) SetParameters

func (tr *SnapshotIAMMember) SetParameters(params map[string]any) error

SetParameters for this SnapshotIAMMember

func (*SnapshotIAMMember) SetProviderConfigReference

func (mg *SnapshotIAMMember) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this SnapshotIAMMember.

func (*SnapshotIAMMember) SetPublishConnectionDetailsTo

func (mg *SnapshotIAMMember) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this SnapshotIAMMember.

func (*SnapshotIAMMember) SetWriteConnectionSecretToReference

func (mg *SnapshotIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this SnapshotIAMMember.

type SnapshotIAMMemberConditionInitParameters

type SnapshotIAMMemberConditionInitParameters struct {
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*SnapshotIAMMemberConditionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotIAMMemberConditionInitParameters.

func (*SnapshotIAMMemberConditionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotIAMMemberConditionObservation

type SnapshotIAMMemberConditionObservation struct {
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*SnapshotIAMMemberConditionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotIAMMemberConditionObservation.

func (*SnapshotIAMMemberConditionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotIAMMemberConditionParameters

type SnapshotIAMMemberConditionParameters struct {

	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// +kubebuilder:validation:Optional
	Expression *string `json:"expression" tf:"expression,omitempty"`

	// +kubebuilder:validation:Optional
	Title *string `json:"title" tf:"title,omitempty"`
}

func (*SnapshotIAMMemberConditionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotIAMMemberConditionParameters.

func (*SnapshotIAMMemberConditionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotIAMMemberInitParameters

type SnapshotIAMMemberInitParameters struct {
	Condition *SnapshotIAMMemberConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"`

	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`
}

func (*SnapshotIAMMemberInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotIAMMemberInitParameters.

func (*SnapshotIAMMemberInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotIAMMemberList

type SnapshotIAMMemberList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SnapshotIAMMember `json:"items"`
}

SnapshotIAMMemberList contains a list of SnapshotIAMMembers

func (*SnapshotIAMMemberList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotIAMMemberList.

func (*SnapshotIAMMemberList) DeepCopyInto

func (in *SnapshotIAMMemberList) DeepCopyInto(out *SnapshotIAMMemberList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SnapshotIAMMemberList) DeepCopyObject

func (in *SnapshotIAMMemberList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SnapshotIAMMemberList) GetItems

func (l *SnapshotIAMMemberList) GetItems() []resource.Managed

GetItems of this SnapshotIAMMemberList.

type SnapshotIAMMemberObservation

type SnapshotIAMMemberObservation struct {
	Condition *SnapshotIAMMemberConditionObservation `json:"condition,omitempty" tf:"condition,omitempty"`

	Etag *string `json:"etag,omitempty" tf:"etag,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`
}

func (*SnapshotIAMMemberObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotIAMMemberObservation.

func (*SnapshotIAMMemberObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotIAMMemberParameters

type SnapshotIAMMemberParameters struct {

	// +kubebuilder:validation:Optional
	Condition *SnapshotIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"`

	// +kubebuilder:validation:Optional
	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// +kubebuilder:validation:Optional
	Role *string `json:"role,omitempty" tf:"role,omitempty"`
}

func (*SnapshotIAMMemberParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotIAMMemberParameters.

func (*SnapshotIAMMemberParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotIAMMemberSpec

type SnapshotIAMMemberSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     SnapshotIAMMemberParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider SnapshotIAMMemberInitParameters `json:"initProvider,omitempty"`
}

SnapshotIAMMemberSpec defines the desired state of SnapshotIAMMember

func (*SnapshotIAMMemberSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotIAMMemberSpec.

func (*SnapshotIAMMemberSpec) DeepCopyInto

func (in *SnapshotIAMMemberSpec) DeepCopyInto(out *SnapshotIAMMemberSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotIAMMemberStatus

type SnapshotIAMMemberStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        SnapshotIAMMemberObservation `json:"atProvider,omitempty"`
}

SnapshotIAMMemberStatus defines the observed state of SnapshotIAMMember.

func (*SnapshotIAMMemberStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotIAMMemberStatus.

func (*SnapshotIAMMemberStatus) DeepCopyInto

func (in *SnapshotIAMMemberStatus) DeepCopyInto(out *SnapshotIAMMemberStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotInitParameters

type SnapshotInitParameters struct {

	// Creates the new snapshot in the snapshot chain labeled with the
	// specified name. The chain name must be 1-63 characters long and
	// comply with RFC1035. This is an uncommon option only for advanced
	// service owners who needs to create separate snapshot chains, for
	// example, for chargeback tracking.  When you describe your snapshot
	// resource, this field is visible only if it has a non-empty value.
	ChainName *string `json:"chainName,omitempty" tf:"chain_name,omitempty"`

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Labels to apply to this Snapshot.
	// Note: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field effective_labels for all of the labels present on the resource.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Encrypts the snapshot using a customer-supplied encryption key.
	// After you encrypt a snapshot using a customer-supplied key, you must
	// provide the same key if you use the snapshot later. For example, you
	// must provide the encryption key when you create a disk from the
	// encrypted snapshot in a future request.
	// Customer-supplied encryption keys do not protect access to metadata of
	// the snapshot.
	// If you do not provide an encryption key when creating the snapshot,
	// then the snapshot will be encrypted using an automatically generated
	// key and you do not need to provide a key to use the snapshot later.
	// Structure is documented below.
	SnapshotEncryptionKey *SnapshotEncryptionKeyInitParameters `json:"snapshotEncryptionKey,omitempty" tf:"snapshot_encryption_key,omitempty"`

	// A reference to the disk used to create this snapshot.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Disk
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	SourceDisk *string `json:"sourceDisk,omitempty" tf:"source_disk,omitempty"`

	// The customer-supplied encryption key of the source snapshot. Required
	// if the source snapshot is protected by a customer-supplied encryption
	// key.
	// Structure is documented below.
	SourceDiskEncryptionKey *SourceDiskEncryptionKeyInitParameters `json:"sourceDiskEncryptionKey,omitempty" tf:"source_disk_encryption_key,omitempty"`

	// Reference to a Disk in compute to populate sourceDisk.
	// +kubebuilder:validation:Optional
	SourceDiskRef *v1.Reference `json:"sourceDiskRef,omitempty" tf:"-"`

	// Selector for a Disk in compute to populate sourceDisk.
	// +kubebuilder:validation:Optional
	SourceDiskSelector *v1.Selector `json:"sourceDiskSelector,omitempty" tf:"-"`

	// Cloud Storage bucket storage location of the snapshot (regional or multi-regional).
	StorageLocations []*string `json:"storageLocations,omitempty" tf:"storage_locations,omitempty"`

	// A reference to the zone where the disk is hosted.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*SnapshotInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotInitParameters.

func (*SnapshotInitParameters) DeepCopyInto

func (in *SnapshotInitParameters) DeepCopyInto(out *SnapshotInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotList

type SnapshotList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Snapshot `json:"items"`
}

SnapshotList contains a list of Snapshots

func (*SnapshotList) DeepCopy

func (in *SnapshotList) DeepCopy() *SnapshotList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotList.

func (*SnapshotList) DeepCopyInto

func (in *SnapshotList) DeepCopyInto(out *SnapshotList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SnapshotList) DeepCopyObject

func (in *SnapshotList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SnapshotList) GetItems

func (l *SnapshotList) GetItems() []resource.Managed

GetItems of this SnapshotList.

type SnapshotObservation

type SnapshotObservation struct {

	// Creates the new snapshot in the snapshot chain labeled with the
	// specified name. The chain name must be 1-63 characters long and
	// comply with RFC1035. This is an uncommon option only for advanced
	// service owners who needs to create separate snapshot chains, for
	// example, for chargeback tracking.  When you describe your snapshot
	// resource, this field is visible only if it has a non-empty value.
	ChainName *string `json:"chainName,omitempty" tf:"chain_name,omitempty"`

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional description of this resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Size of the snapshot, specified in GB.
	DiskSizeGb *float64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"`

	// +mapType=granular
	EffectiveLabels map[string]*string `json:"effectiveLabels,omitempty" tf:"effective_labels,omitempty"`

	// an identifier for the resource with format projects/{{project}}/global/snapshots/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The fingerprint used for optimistic locking of this resource. Used
	// internally during updates.
	LabelFingerprint *string `json:"labelFingerprint,omitempty" tf:"label_fingerprint,omitempty"`

	// Labels to apply to this Snapshot.
	// Note: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field effective_labels for all of the labels present on the resource.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// A list of public visible licenses that apply to this snapshot. This
	// can be because the original image had licenses attached (such as a
	// Windows image).  snapshotEncryptionKey nested object Encrypts the
	// snapshot using a customer-supplied encryption key.
	Licenses []*string `json:"licenses,omitempty" tf:"licenses,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// Encrypts the snapshot using a customer-supplied encryption key.
	// After you encrypt a snapshot using a customer-supplied key, you must
	// provide the same key if you use the snapshot later. For example, you
	// must provide the encryption key when you create a disk from the
	// encrypted snapshot in a future request.
	// Customer-supplied encryption keys do not protect access to metadata of
	// the snapshot.
	// If you do not provide an encryption key when creating the snapshot,
	// then the snapshot will be encrypted using an automatically generated
	// key and you do not need to provide a key to use the snapshot later.
	// Structure is documented below.
	SnapshotEncryptionKey *SnapshotEncryptionKeyObservation `json:"snapshotEncryptionKey,omitempty" tf:"snapshot_encryption_key,omitempty"`

	// The unique identifier for the resource.
	SnapshotID *float64 `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// A reference to the disk used to create this snapshot.
	SourceDisk *string `json:"sourceDisk,omitempty" tf:"source_disk,omitempty"`

	// The customer-supplied encryption key of the source snapshot. Required
	// if the source snapshot is protected by a customer-supplied encryption
	// key.
	// Structure is documented below.
	SourceDiskEncryptionKey *SourceDiskEncryptionKeyObservation `json:"sourceDiskEncryptionKey,omitempty" tf:"source_disk_encryption_key,omitempty"`

	// A size of the storage used by the snapshot. As snapshots share
	// storage, this number is expected to change with snapshot
	// creation/deletion.
	StorageBytes *float64 `json:"storageBytes,omitempty" tf:"storage_bytes,omitempty"`

	// Cloud Storage bucket storage location of the snapshot (regional or multi-regional).
	StorageLocations []*string `json:"storageLocations,omitempty" tf:"storage_locations,omitempty"`

	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	// +mapType=granular
	TerraformLabels map[string]*string `json:"terraformLabels,omitempty" tf:"terraform_labels,omitempty"`

	// A reference to the zone where the disk is hosted.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*SnapshotObservation) DeepCopy

func (in *SnapshotObservation) DeepCopy() *SnapshotObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotObservation.

func (*SnapshotObservation) DeepCopyInto

func (in *SnapshotObservation) DeepCopyInto(out *SnapshotObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotParameters

type SnapshotParameters struct {

	// Creates the new snapshot in the snapshot chain labeled with the
	// specified name. The chain name must be 1-63 characters long and
	// comply with RFC1035. This is an uncommon option only for advanced
	// service owners who needs to create separate snapshot chains, for
	// example, for chargeback tracking.  When you describe your snapshot
	// resource, this field is visible only if it has a non-empty value.
	// +kubebuilder:validation:Optional
	ChainName *string `json:"chainName,omitempty" tf:"chain_name,omitempty"`

	// An optional description of this resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Labels to apply to this Snapshot.
	// Note: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field effective_labels for all of the labels present on the resource.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Encrypts the snapshot using a customer-supplied encryption key.
	// After you encrypt a snapshot using a customer-supplied key, you must
	// provide the same key if you use the snapshot later. For example, you
	// must provide the encryption key when you create a disk from the
	// encrypted snapshot in a future request.
	// Customer-supplied encryption keys do not protect access to metadata of
	// the snapshot.
	// If you do not provide an encryption key when creating the snapshot,
	// then the snapshot will be encrypted using an automatically generated
	// key and you do not need to provide a key to use the snapshot later.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	SnapshotEncryptionKey *SnapshotEncryptionKeyParameters `json:"snapshotEncryptionKey,omitempty" tf:"snapshot_encryption_key,omitempty"`

	// A reference to the disk used to create this snapshot.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Disk
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	SourceDisk *string `json:"sourceDisk,omitempty" tf:"source_disk,omitempty"`

	// The customer-supplied encryption key of the source snapshot. Required
	// if the source snapshot is protected by a customer-supplied encryption
	// key.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	SourceDiskEncryptionKey *SourceDiskEncryptionKeyParameters `json:"sourceDiskEncryptionKey,omitempty" tf:"source_disk_encryption_key,omitempty"`

	// Reference to a Disk in compute to populate sourceDisk.
	// +kubebuilder:validation:Optional
	SourceDiskRef *v1.Reference `json:"sourceDiskRef,omitempty" tf:"-"`

	// Selector for a Disk in compute to populate sourceDisk.
	// +kubebuilder:validation:Optional
	SourceDiskSelector *v1.Selector `json:"sourceDiskSelector,omitempty" tf:"-"`

	// Cloud Storage bucket storage location of the snapshot (regional or multi-regional).
	// +kubebuilder:validation:Optional
	StorageLocations []*string `json:"storageLocations,omitempty" tf:"storage_locations,omitempty"`

	// A reference to the zone where the disk is hosted.
	// +kubebuilder:validation:Optional
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*SnapshotParameters) DeepCopy

func (in *SnapshotParameters) DeepCopy() *SnapshotParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotParameters.

func (*SnapshotParameters) DeepCopyInto

func (in *SnapshotParameters) DeepCopyInto(out *SnapshotParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotPropertiesInitParameters

type SnapshotPropertiesInitParameters struct {

	// Creates the new snapshot in the snapshot chain labeled with the
	// specified name. The chain name must be 1-63 characters long and comply
	// with RFC1035.
	ChainName *string `json:"chainName,omitempty" tf:"chain_name,omitempty"`

	// Whether to perform a 'guest aware' snapshot.
	GuestFlush *bool `json:"guestFlush,omitempty" tf:"guest_flush,omitempty"`

	// A set of key-value pairs.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Cloud Storage bucket location to store the auto snapshot
	// (regional or multi-regional)
	// +listType=set
	StorageLocations []*string `json:"storageLocations,omitempty" tf:"storage_locations,omitempty"`
}

func (*SnapshotPropertiesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotPropertiesInitParameters.

func (*SnapshotPropertiesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotPropertiesObservation

type SnapshotPropertiesObservation struct {

	// Creates the new snapshot in the snapshot chain labeled with the
	// specified name. The chain name must be 1-63 characters long and comply
	// with RFC1035.
	ChainName *string `json:"chainName,omitempty" tf:"chain_name,omitempty"`

	// Whether to perform a 'guest aware' snapshot.
	GuestFlush *bool `json:"guestFlush,omitempty" tf:"guest_flush,omitempty"`

	// A set of key-value pairs.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Cloud Storage bucket location to store the auto snapshot
	// (regional or multi-regional)
	// +listType=set
	StorageLocations []*string `json:"storageLocations,omitempty" tf:"storage_locations,omitempty"`
}

func (*SnapshotPropertiesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotPropertiesObservation.

func (*SnapshotPropertiesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotPropertiesParameters

type SnapshotPropertiesParameters struct {

	// Creates the new snapshot in the snapshot chain labeled with the
	// specified name. The chain name must be 1-63 characters long and comply
	// with RFC1035.
	// +kubebuilder:validation:Optional
	ChainName *string `json:"chainName,omitempty" tf:"chain_name,omitempty"`

	// Whether to perform a 'guest aware' snapshot.
	// +kubebuilder:validation:Optional
	GuestFlush *bool `json:"guestFlush,omitempty" tf:"guest_flush,omitempty"`

	// A set of key-value pairs.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Cloud Storage bucket location to store the auto snapshot
	// (regional or multi-regional)
	// +kubebuilder:validation:Optional
	// +listType=set
	StorageLocations []*string `json:"storageLocations,omitempty" tf:"storage_locations,omitempty"`
}

func (*SnapshotPropertiesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotPropertiesParameters.

func (*SnapshotPropertiesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotSchedulePolicyInitParameters

type SnapshotSchedulePolicyInitParameters struct {

	// Retention policy applied to snapshots created by this resource policy.
	// Structure is documented below.
	RetentionPolicy *RetentionPolicyInitParameters `json:"retentionPolicy,omitempty" tf:"retention_policy,omitempty"`

	// Contains one of an hourlySchedule, dailySchedule, or weeklySchedule.
	// Structure is documented below.
	Schedule *ScheduleInitParameters `json:"schedule,omitempty" tf:"schedule,omitempty"`

	// Properties with which the snapshots are created, such as labels.
	// Structure is documented below.
	SnapshotProperties *SnapshotPropertiesInitParameters `json:"snapshotProperties,omitempty" tf:"snapshot_properties,omitempty"`
}

func (*SnapshotSchedulePolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotSchedulePolicyInitParameters.

func (*SnapshotSchedulePolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotSchedulePolicyObservation

type SnapshotSchedulePolicyObservation struct {

	// Retention policy applied to snapshots created by this resource policy.
	// Structure is documented below.
	RetentionPolicy *RetentionPolicyObservation `json:"retentionPolicy,omitempty" tf:"retention_policy,omitempty"`

	// Contains one of an hourlySchedule, dailySchedule, or weeklySchedule.
	// Structure is documented below.
	Schedule *ScheduleObservation `json:"schedule,omitempty" tf:"schedule,omitempty"`

	// Properties with which the snapshots are created, such as labels.
	// Structure is documented below.
	SnapshotProperties *SnapshotPropertiesObservation `json:"snapshotProperties,omitempty" tf:"snapshot_properties,omitempty"`
}

func (*SnapshotSchedulePolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotSchedulePolicyObservation.

func (*SnapshotSchedulePolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotSchedulePolicyParameters

type SnapshotSchedulePolicyParameters struct {

	// Retention policy applied to snapshots created by this resource policy.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RetentionPolicy *RetentionPolicyParameters `json:"retentionPolicy,omitempty" tf:"retention_policy,omitempty"`

	// Contains one of an hourlySchedule, dailySchedule, or weeklySchedule.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Schedule *ScheduleParameters `json:"schedule" tf:"schedule,omitempty"`

	// Properties with which the snapshots are created, such as labels.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	SnapshotProperties *SnapshotPropertiesParameters `json:"snapshotProperties,omitempty" tf:"snapshot_properties,omitempty"`
}

func (*SnapshotSchedulePolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotSchedulePolicyParameters.

func (*SnapshotSchedulePolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotSpec

type SnapshotSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     SnapshotParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider SnapshotInitParameters `json:"initProvider,omitempty"`
}

SnapshotSpec defines the desired state of Snapshot

func (*SnapshotSpec) DeepCopy

func (in *SnapshotSpec) DeepCopy() *SnapshotSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotSpec.

func (*SnapshotSpec) DeepCopyInto

func (in *SnapshotSpec) DeepCopyInto(out *SnapshotSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotStatus

type SnapshotStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        SnapshotObservation `json:"atProvider,omitempty"`
}

SnapshotStatus defines the observed state of Snapshot.

func (*SnapshotStatus) DeepCopy

func (in *SnapshotStatus) DeepCopy() *SnapshotStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotStatus.

func (*SnapshotStatus) DeepCopyInto

func (in *SnapshotStatus) DeepCopyInto(out *SnapshotStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceDiskEncryptionKeyInitParameters

type SourceDiskEncryptionKeyInitParameters struct {

	// The service account used for the encryption request for the given KMS key.
	// If absent, the Compute Engine Service Agent service account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`
}

func (*SourceDiskEncryptionKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceDiskEncryptionKeyInitParameters.

func (*SourceDiskEncryptionKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceDiskEncryptionKeyObservation

type SourceDiskEncryptionKeyObservation struct {

	// The service account used for the encryption request for the given KMS key.
	// If absent, the Compute Engine Service Agent service account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`
}

func (*SourceDiskEncryptionKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceDiskEncryptionKeyObservation.

func (*SourceDiskEncryptionKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceDiskEncryptionKeyParameters

type SourceDiskEncryptionKeyParameters struct {

	// The service account used for the encryption request for the given KMS key.
	// If absent, the Compute Engine Service Agent service account is used.
	// +kubebuilder:validation:Optional
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`

	// Specifies a 256-bit customer-supplied encryption key, encoded in
	// RFC 4648 base64 to either encrypt or decrypt this resource.
	// Note: This property is sensitive and will not be displayed in the plan.
	// +kubebuilder:validation:Optional
	RawKeySecretRef *v1.SecretKeySelector `json:"rawKeySecretRef,omitempty" tf:"-"`
}

func (*SourceDiskEncryptionKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceDiskEncryptionKeyParameters.

func (*SourceDiskEncryptionKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceImageEncryptionKeyInitParameters

type SourceImageEncryptionKeyInitParameters struct {

	// The self link of the encryption key used to encrypt the disk. Also called KmsKeyName
	// in the cloud console. Your project's Compute Engine System service account
	// (service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com) must have
	// roles/cloudkms.cryptoKeyEncrypterDecrypter to use this feature.
	// See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account used for the encryption request for the given KMS key.
	// If absent, the Compute Engine Service Agent service account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`

	// Specifies a 256-bit customer-supplied encryption key, encoded in
	// RFC 4648 base64 to either encrypt or decrypt this resource.
	RawKey *string `json:"rawKey,omitempty" tf:"raw_key,omitempty"`
}

func (*SourceImageEncryptionKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceImageEncryptionKeyInitParameters.

func (*SourceImageEncryptionKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceImageEncryptionKeyObservation

type SourceImageEncryptionKeyObservation struct {

	// The self link of the encryption key used to encrypt the disk. Also called KmsKeyName
	// in the cloud console. Your project's Compute Engine System service account
	// (service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com) must have
	// roles/cloudkms.cryptoKeyEncrypterDecrypter to use this feature.
	// See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account used for the encryption request for the given KMS key.
	// If absent, the Compute Engine Service Agent service account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`

	// Specifies a 256-bit customer-supplied encryption key, encoded in
	// RFC 4648 base64 to either encrypt or decrypt this resource.
	RawKey *string `json:"rawKey,omitempty" tf:"raw_key,omitempty"`

	// (Output)
	// The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
	// encryption key that protects this resource.
	Sha256 *string `json:"sha256,omitempty" tf:"sha256,omitempty"`
}

func (*SourceImageEncryptionKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceImageEncryptionKeyObservation.

func (*SourceImageEncryptionKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceImageEncryptionKeyParameters

type SourceImageEncryptionKeyParameters struct {

	// The self link of the encryption key used to encrypt the disk. Also called KmsKeyName
	// in the cloud console. Your project's Compute Engine System service account
	// (service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com) must have
	// roles/cloudkms.cryptoKeyEncrypterDecrypter to use this feature.
	// See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
	// +kubebuilder:validation:Optional
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account used for the encryption request for the given KMS key.
	// If absent, the Compute Engine Service Agent service account is used.
	// +kubebuilder:validation:Optional
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`

	// Specifies a 256-bit customer-supplied encryption key, encoded in
	// RFC 4648 base64 to either encrypt or decrypt this resource.
	// +kubebuilder:validation:Optional
	RawKey *string `json:"rawKey,omitempty" tf:"raw_key,omitempty"`
}

func (*SourceImageEncryptionKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceImageEncryptionKeyParameters.

func (*SourceImageEncryptionKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceSnapshotEncryptionKeyInitParameters

type SourceSnapshotEncryptionKeyInitParameters struct {

	// The self link of the encryption key used to encrypt the disk. Also called KmsKeyName
	// in the cloud console. Your project's Compute Engine System service account
	// (service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com) must have
	// roles/cloudkms.cryptoKeyEncrypterDecrypter to use this feature.
	// See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account used for the encryption request for the given KMS key.
	// If absent, the Compute Engine Service Agent service account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`

	// Specifies a 256-bit customer-supplied encryption key, encoded in
	// RFC 4648 base64 to either encrypt or decrypt this resource.
	RawKey *string `json:"rawKey,omitempty" tf:"raw_key,omitempty"`
}

func (*SourceSnapshotEncryptionKeyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceSnapshotEncryptionKeyInitParameters.

func (*SourceSnapshotEncryptionKeyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceSnapshotEncryptionKeyObservation

type SourceSnapshotEncryptionKeyObservation struct {

	// The self link of the encryption key used to encrypt the disk. Also called KmsKeyName
	// in the cloud console. Your project's Compute Engine System service account
	// (service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com) must have
	// roles/cloudkms.cryptoKeyEncrypterDecrypter to use this feature.
	// See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account used for the encryption request for the given KMS key.
	// If absent, the Compute Engine Service Agent service account is used.
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`

	// Specifies a 256-bit customer-supplied encryption key, encoded in
	// RFC 4648 base64 to either encrypt or decrypt this resource.
	RawKey *string `json:"rawKey,omitempty" tf:"raw_key,omitempty"`

	// (Output)
	// The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
	// encryption key that protects this resource.
	Sha256 *string `json:"sha256,omitempty" tf:"sha256,omitempty"`
}

func (*SourceSnapshotEncryptionKeyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceSnapshotEncryptionKeyObservation.

func (*SourceSnapshotEncryptionKeyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourceSnapshotEncryptionKeyParameters

type SourceSnapshotEncryptionKeyParameters struct {

	// The self link of the encryption key used to encrypt the disk. Also called KmsKeyName
	// in the cloud console. Your project's Compute Engine System service account
	// (service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com) must have
	// roles/cloudkms.cryptoKeyEncrypterDecrypter to use this feature.
	// See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
	// +kubebuilder:validation:Optional
	KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"`

	// The service account used for the encryption request for the given KMS key.
	// If absent, the Compute Engine Service Agent service account is used.
	// +kubebuilder:validation:Optional
	KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"`

	// Specifies a 256-bit customer-supplied encryption key, encoded in
	// RFC 4648 base64 to either encrypt or decrypt this resource.
	// +kubebuilder:validation:Optional
	RawKey *string `json:"rawKey,omitempty" tf:"raw_key,omitempty"`
}

func (*SourceSnapshotEncryptionKeyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceSnapshotEncryptionKeyParameters.

func (*SourceSnapshotEncryptionKeyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpecificReservationInitParameters

type SpecificReservationInitParameters struct {

	// Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// Corresponds to the label values of a reservation resource.
	Values []*string `json:"values,omitempty" tf:"values,omitempty"`
}

func (*SpecificReservationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecificReservationInitParameters.

func (*SpecificReservationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpecificReservationObservation

type SpecificReservationObservation struct {

	// Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// Corresponds to the label values of a reservation resource.
	Values []*string `json:"values,omitempty" tf:"values,omitempty"`
}

func (*SpecificReservationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecificReservationObservation.

func (*SpecificReservationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpecificReservationParameters

type SpecificReservationParameters struct {

	// Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

	// Corresponds to the label values of a reservation resource.
	// +kubebuilder:validation:Optional
	Values []*string `json:"values" tf:"values,omitempty"`
}

func (*SpecificReservationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecificReservationParameters.

func (*SpecificReservationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatefulDiskInitParameters

type StatefulDiskInitParameters struct {

	// , A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The device name of the disk to be attached.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`
}

func (*StatefulDiskInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulDiskInitParameters.

func (*StatefulDiskInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatefulDiskObservation

type StatefulDiskObservation struct {

	// , A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The device name of the disk to be attached.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`
}

func (*StatefulDiskObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulDiskObservation.

func (*StatefulDiskObservation) DeepCopyInto

func (in *StatefulDiskObservation) DeepCopyInto(out *StatefulDiskObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatefulDiskParameters

type StatefulDiskParameters struct {

	// , A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER.
	// +kubebuilder:validation:Optional
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The device name of the disk to be attached.
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName" tf:"device_name,omitempty"`
}

func (*StatefulDiskParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulDiskParameters.

func (*StatefulDiskParameters) DeepCopyInto

func (in *StatefulDiskParameters) DeepCopyInto(out *StatefulDiskParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatefulExternalIPInitParameters

type StatefulExternalIPInitParameters struct {

	// , A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the external ip when the VM is permanently deleted from the instance group.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The network interface name of the external Ip. Possible value: nic0
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*StatefulExternalIPInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulExternalIPInitParameters.

func (*StatefulExternalIPInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatefulExternalIPObservation

type StatefulExternalIPObservation struct {

	// , A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the external ip when the VM is permanently deleted from the instance group.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The network interface name of the external Ip. Possible value: nic0
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*StatefulExternalIPObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulExternalIPObservation.

func (*StatefulExternalIPObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatefulExternalIPParameters

type StatefulExternalIPParameters struct {

	// , A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the external ip when the VM is permanently deleted from the instance group.
	// +kubebuilder:validation:Optional
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The network interface name of the external Ip. Possible value: nic0
	// +kubebuilder:validation:Optional
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*StatefulExternalIPParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulExternalIPParameters.

func (*StatefulExternalIPParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatefulInitParameters

type StatefulInitParameters struct {
}

func (*StatefulInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulInitParameters.

func (*StatefulInitParameters) DeepCopyInto

func (in *StatefulInitParameters) DeepCopyInto(out *StatefulInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatefulInternalIPInitParameters

type StatefulInternalIPInitParameters struct {

	// , A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the internal ip when the VM is permanently deleted from the instance group.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The network interface name of the internal Ip. Possible value: nic0
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*StatefulInternalIPInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulInternalIPInitParameters.

func (*StatefulInternalIPInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatefulInternalIPObservation

type StatefulInternalIPObservation struct {

	// , A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the internal ip when the VM is permanently deleted from the instance group.
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The network interface name of the internal Ip. Possible value: nic0
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*StatefulInternalIPObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulInternalIPObservation.

func (*StatefulInternalIPObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatefulInternalIPParameters

type StatefulInternalIPParameters struct {

	// , A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the internal ip when the VM is permanently deleted from the instance group.
	// +kubebuilder:validation:Optional
	DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"`

	// , The network interface name of the internal Ip. Possible value: nic0
	// +kubebuilder:validation:Optional
	InterfaceName *string `json:"interfaceName,omitempty" tf:"interface_name,omitempty"`
}

func (*StatefulInternalIPParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulInternalIPParameters.

func (*StatefulInternalIPParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatefulObservation

type StatefulObservation struct {

	// A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
	HasStatefulConfig *bool `json:"hasStatefulConfig,omitempty" tf:"has_stateful_config,omitempty"`

	// Status of per-instance configs on the instance.
	PerInstanceConfigs []PerInstanceConfigsObservation `json:"perInstanceConfigs,omitempty" tf:"per_instance_configs,omitempty"`
}

func (*StatefulObservation) DeepCopy

func (in *StatefulObservation) DeepCopy() *StatefulObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulObservation.

func (*StatefulObservation) DeepCopyInto

func (in *StatefulObservation) DeepCopyInto(out *StatefulObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatefulParameters

type StatefulParameters struct {
}

func (*StatefulParameters) DeepCopy

func (in *StatefulParameters) DeepCopy() *StatefulParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulParameters.

func (*StatefulParameters) DeepCopyInto

func (in *StatefulParameters) DeepCopyInto(out *StatefulParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatefulPerInstanceConfigsInitParameters

type StatefulPerInstanceConfigsInitParameters struct {
}

func (*StatefulPerInstanceConfigsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulPerInstanceConfigsInitParameters.

func (*StatefulPerInstanceConfigsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatefulPerInstanceConfigsObservation

type StatefulPerInstanceConfigsObservation struct {

	// A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs.
	AllEffective *bool `json:"allEffective,omitempty" tf:"all_effective,omitempty"`
}

func (*StatefulPerInstanceConfigsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulPerInstanceConfigsObservation.

func (*StatefulPerInstanceConfigsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatefulPerInstanceConfigsParameters

type StatefulPerInstanceConfigsParameters struct {
}

func (*StatefulPerInstanceConfigsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulPerInstanceConfigsParameters.

func (*StatefulPerInstanceConfigsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusAllInstancesConfigInitParameters

type StatusAllInstancesConfigInitParameters struct {
}

func (*StatusAllInstancesConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusAllInstancesConfigInitParameters.

func (*StatusAllInstancesConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusAllInstancesConfigObservation

type StatusAllInstancesConfigObservation struct {
	Effective *bool `json:"effective,omitempty" tf:"effective,omitempty"`
}

func (*StatusAllInstancesConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusAllInstancesConfigObservation.

func (*StatusAllInstancesConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusAllInstancesConfigParameters

type StatusAllInstancesConfigParameters struct {
}

func (*StatusAllInstancesConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusAllInstancesConfigParameters.

func (*StatusAllInstancesConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusInitParameters

type StatusInitParameters struct {
}

func (*StatusInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusInitParameters.

func (*StatusInitParameters) DeepCopyInto

func (in *StatusInitParameters) DeepCopyInto(out *StatusInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusObservation

type StatusObservation struct {

	// Properties to set on all instances in the group. After setting
	// allInstancesConfig on the group, you must update the group's instances to
	// apply the configuration.
	AllInstancesConfig []StatusAllInstancesConfigObservation `json:"allInstancesConfig,omitempty" tf:"all_instances_config,omitempty"`

	// A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.
	IsStable *bool `json:"isStable,omitempty" tf:"is_stable,omitempty"`

	// Stateful status of the given Instance Group Manager.
	Stateful []StatefulObservation `json:"stateful,omitempty" tf:"stateful,omitempty"`

	// A status of consistency of Instances' versions with their target version specified by version field on Instance Group Manager.
	VersionTarget []VersionTargetObservation `json:"versionTarget,omitempty" tf:"version_target,omitempty"`
}

func (*StatusObservation) DeepCopy

func (in *StatusObservation) DeepCopy() *StatusObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusObservation.

func (*StatusObservation) DeepCopyInto

func (in *StatusObservation) DeepCopyInto(out *StatusObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusParameters

type StatusParameters struct {
}

func (*StatusParameters) DeepCopy

func (in *StatusParameters) DeepCopy() *StatusParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusParameters.

func (*StatusParameters) DeepCopyInto

func (in *StatusParameters) DeepCopyInto(out *StatusParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusStatefulInitParameters

type StatusStatefulInitParameters struct {
}

func (*StatusStatefulInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusStatefulInitParameters.

func (*StatusStatefulInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusStatefulObservation

type StatusStatefulObservation struct {

	// A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
	HasStatefulConfig *bool `json:"hasStatefulConfig,omitempty" tf:"has_stateful_config,omitempty"`

	// Status of per-instance configs on the instance.
	PerInstanceConfigs []StatefulPerInstanceConfigsObservation `json:"perInstanceConfigs,omitempty" tf:"per_instance_configs,omitempty"`
}

func (*StatusStatefulObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusStatefulObservation.

func (*StatusStatefulObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusStatefulParameters

type StatusStatefulParameters struct {
}

func (*StatusStatefulParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusStatefulParameters.

func (*StatusStatefulParameters) DeepCopyInto

func (in *StatusStatefulParameters) DeepCopyInto(out *StatusStatefulParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusVersionTargetInitParameters

type StatusVersionTargetInitParameters struct {
}

func (*StatusVersionTargetInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusVersionTargetInitParameters.

func (*StatusVersionTargetInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusVersionTargetObservation

type StatusVersionTargetObservation struct {
	IsReached *bool `json:"isReached,omitempty" tf:"is_reached,omitempty"`
}

func (*StatusVersionTargetObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusVersionTargetObservation.

func (*StatusVersionTargetObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusVersionTargetParameters

type StatusVersionTargetParameters struct {
}

func (*StatusVersionTargetParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusVersionTargetParameters.

func (*StatusVersionTargetParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Subnetwork

type Subnetwork struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.ipCidrRange) || (has(self.initProvider) && has(self.initProvider.ipCidrRange))",message="spec.forProvider.ipCidrRange is a required parameter"
	Spec   SubnetworkSpec   `json:"spec"`
	Status SubnetworkStatus `json:"status,omitempty"`
}

Subnetwork is the Schema for the Subnetworks API. A VPC network is a virtual version of the traditional physical networks that exist within and between physical data centers. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*Subnetwork) DeepCopy

func (in *Subnetwork) DeepCopy() *Subnetwork

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subnetwork.

func (*Subnetwork) DeepCopyInto

func (in *Subnetwork) DeepCopyInto(out *Subnetwork)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Subnetwork) DeepCopyObject

func (in *Subnetwork) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Subnetwork) GetCondition

func (mg *Subnetwork) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Subnetwork.

func (*Subnetwork) GetConnectionDetailsMapping

func (tr *Subnetwork) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Subnetwork

func (*Subnetwork) GetDeletionPolicy

func (mg *Subnetwork) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Subnetwork.

func (*Subnetwork) GetID

func (tr *Subnetwork) GetID() string

GetID returns ID of underlying Terraform resource of this Subnetwork

func (*Subnetwork) GetInitParameters

func (tr *Subnetwork) GetInitParameters() (map[string]any, error)

GetInitParameters of this Subnetwork

func (*Subnetwork) GetManagementPolicies

func (mg *Subnetwork) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Subnetwork.

func (*Subnetwork) GetMergedParameters

func (tr *Subnetwork) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Subnetwork

func (*Subnetwork) GetObservation

func (tr *Subnetwork) GetObservation() (map[string]any, error)

GetObservation of this Subnetwork

func (*Subnetwork) GetParameters

func (tr *Subnetwork) GetParameters() (map[string]any, error)

GetParameters of this Subnetwork

func (*Subnetwork) GetProviderConfigReference

func (mg *Subnetwork) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Subnetwork.

func (*Subnetwork) GetPublishConnectionDetailsTo

func (mg *Subnetwork) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Subnetwork.

func (*Subnetwork) GetTerraformResourceType

func (mg *Subnetwork) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Subnetwork

func (*Subnetwork) GetTerraformSchemaVersion

func (tr *Subnetwork) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Subnetwork) GetWriteConnectionSecretToReference

func (mg *Subnetwork) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Subnetwork.

func (*Subnetwork) Hub

func (tr *Subnetwork) Hub()

Hub marks this type as a conversion hub.

func (*Subnetwork) LateInitialize

func (tr *Subnetwork) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Subnetwork using its observed tfState. returns True if there are any spec changes for the resource.

func (*Subnetwork) ResolveReferences

func (mg *Subnetwork) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Subnetwork.

func (*Subnetwork) SetConditions

func (mg *Subnetwork) SetConditions(c ...xpv1.Condition)

SetConditions of this Subnetwork.

func (*Subnetwork) SetDeletionPolicy

func (mg *Subnetwork) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Subnetwork.

func (*Subnetwork) SetManagementPolicies

func (mg *Subnetwork) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Subnetwork.

func (*Subnetwork) SetObservation

func (tr *Subnetwork) SetObservation(obs map[string]any) error

SetObservation for this Subnetwork

func (*Subnetwork) SetParameters

func (tr *Subnetwork) SetParameters(params map[string]any) error

SetParameters for this Subnetwork

func (*Subnetwork) SetProviderConfigReference

func (mg *Subnetwork) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Subnetwork.

func (*Subnetwork) SetPublishConnectionDetailsTo

func (mg *Subnetwork) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Subnetwork.

func (*Subnetwork) SetWriteConnectionSecretToReference

func (mg *Subnetwork) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Subnetwork.

type SubnetworkIAMMember

type SubnetworkIAMMember struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.member) || (has(self.initProvider) && has(self.initProvider.member))",message="spec.forProvider.member is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.region) || (has(self.initProvider) && has(self.initProvider.region))",message="spec.forProvider.region is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.role) || (has(self.initProvider) && has(self.initProvider.role))",message="spec.forProvider.role is a required parameter"
	Spec   SubnetworkIAMMemberSpec   `json:"spec"`
	Status SubnetworkIAMMemberStatus `json:"status,omitempty"`
}

SubnetworkIAMMember is the Schema for the SubnetworkIAMMembers API. <no value> +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*SubnetworkIAMMember) DeepCopy

func (in *SubnetworkIAMMember) DeepCopy() *SubnetworkIAMMember

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMember.

func (*SubnetworkIAMMember) DeepCopyInto

func (in *SubnetworkIAMMember) DeepCopyInto(out *SubnetworkIAMMember)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SubnetworkIAMMember) DeepCopyObject

func (in *SubnetworkIAMMember) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SubnetworkIAMMember) GetCondition

func (mg *SubnetworkIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this SubnetworkIAMMember.

func (*SubnetworkIAMMember) GetConnectionDetailsMapping

func (tr *SubnetworkIAMMember) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this SubnetworkIAMMember

func (*SubnetworkIAMMember) GetDeletionPolicy

func (mg *SubnetworkIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this SubnetworkIAMMember.

func (*SubnetworkIAMMember) GetID

func (tr *SubnetworkIAMMember) GetID() string

GetID returns ID of underlying Terraform resource of this SubnetworkIAMMember

func (*SubnetworkIAMMember) GetInitParameters

func (tr *SubnetworkIAMMember) GetInitParameters() (map[string]any, error)

GetInitParameters of this SubnetworkIAMMember

func (*SubnetworkIAMMember) GetManagementPolicies

func (mg *SubnetworkIAMMember) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this SubnetworkIAMMember.

func (*SubnetworkIAMMember) GetMergedParameters

func (tr *SubnetworkIAMMember) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this SubnetworkIAMMember

func (*SubnetworkIAMMember) GetObservation

func (tr *SubnetworkIAMMember) GetObservation() (map[string]any, error)

GetObservation of this SubnetworkIAMMember

func (*SubnetworkIAMMember) GetParameters

func (tr *SubnetworkIAMMember) GetParameters() (map[string]any, error)

GetParameters of this SubnetworkIAMMember

func (*SubnetworkIAMMember) GetProviderConfigReference

func (mg *SubnetworkIAMMember) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this SubnetworkIAMMember.

func (*SubnetworkIAMMember) GetPublishConnectionDetailsTo

func (mg *SubnetworkIAMMember) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this SubnetworkIAMMember.

func (*SubnetworkIAMMember) GetTerraformResourceType

func (mg *SubnetworkIAMMember) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this SubnetworkIAMMember

func (*SubnetworkIAMMember) GetTerraformSchemaVersion

func (tr *SubnetworkIAMMember) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*SubnetworkIAMMember) GetWriteConnectionSecretToReference

func (mg *SubnetworkIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this SubnetworkIAMMember.

func (*SubnetworkIAMMember) Hub

func (tr *SubnetworkIAMMember) Hub()

Hub marks this type as a conversion hub.

func (*SubnetworkIAMMember) LateInitialize

func (tr *SubnetworkIAMMember) LateInitialize(attrs []byte) (bool, error)

LateInitialize this SubnetworkIAMMember using its observed tfState. returns True if there are any spec changes for the resource.

func (*SubnetworkIAMMember) ResolveReferences

func (mg *SubnetworkIAMMember) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this SubnetworkIAMMember.

func (*SubnetworkIAMMember) SetConditions

func (mg *SubnetworkIAMMember) SetConditions(c ...xpv1.Condition)

SetConditions of this SubnetworkIAMMember.

func (*SubnetworkIAMMember) SetDeletionPolicy

func (mg *SubnetworkIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this SubnetworkIAMMember.

func (*SubnetworkIAMMember) SetManagementPolicies

func (mg *SubnetworkIAMMember) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this SubnetworkIAMMember.

func (*SubnetworkIAMMember) SetObservation

func (tr *SubnetworkIAMMember) SetObservation(obs map[string]any) error

SetObservation for this SubnetworkIAMMember

func (*SubnetworkIAMMember) SetParameters

func (tr *SubnetworkIAMMember) SetParameters(params map[string]any) error

SetParameters for this SubnetworkIAMMember

func (*SubnetworkIAMMember) SetProviderConfigReference

func (mg *SubnetworkIAMMember) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this SubnetworkIAMMember.

func (*SubnetworkIAMMember) SetPublishConnectionDetailsTo

func (mg *SubnetworkIAMMember) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this SubnetworkIAMMember.

func (*SubnetworkIAMMember) SetWriteConnectionSecretToReference

func (mg *SubnetworkIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this SubnetworkIAMMember.

type SubnetworkIAMMemberConditionInitParameters

type SubnetworkIAMMemberConditionInitParameters struct {
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*SubnetworkIAMMemberConditionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberConditionInitParameters.

func (*SubnetworkIAMMemberConditionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkIAMMemberConditionObservation

type SubnetworkIAMMemberConditionObservation struct {
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*SubnetworkIAMMemberConditionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberConditionObservation.

func (*SubnetworkIAMMemberConditionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkIAMMemberConditionParameters

type SubnetworkIAMMemberConditionParameters struct {

	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// +kubebuilder:validation:Optional
	Expression *string `json:"expression" tf:"expression,omitempty"`

	// +kubebuilder:validation:Optional
	Title *string `json:"title" tf:"title,omitempty"`
}

func (*SubnetworkIAMMemberConditionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberConditionParameters.

func (*SubnetworkIAMMemberConditionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkIAMMemberInitParameters

type SubnetworkIAMMemberInitParameters struct {
	Condition *SubnetworkIAMMemberConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"`

	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// Reference to a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"`
}

func (*SubnetworkIAMMemberInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberInitParameters.

func (*SubnetworkIAMMemberInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkIAMMemberList

type SubnetworkIAMMemberList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SubnetworkIAMMember `json:"items"`
}

SubnetworkIAMMemberList contains a list of SubnetworkIAMMembers

func (*SubnetworkIAMMemberList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberList.

func (*SubnetworkIAMMemberList) DeepCopyInto

func (in *SubnetworkIAMMemberList) DeepCopyInto(out *SubnetworkIAMMemberList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SubnetworkIAMMemberList) DeepCopyObject

func (in *SubnetworkIAMMemberList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SubnetworkIAMMemberList) GetItems

func (l *SubnetworkIAMMemberList) GetItems() []resource.Managed

GetItems of this SubnetworkIAMMemberList.

type SubnetworkIAMMemberObservation

type SubnetworkIAMMemberObservation struct {
	Condition *SubnetworkIAMMemberConditionObservation `json:"condition,omitempty" tf:"condition,omitempty"`

	Etag *string `json:"etag,omitempty" tf:"etag,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`
}

func (*SubnetworkIAMMemberObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberObservation.

func (*SubnetworkIAMMemberObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkIAMMemberParameters

type SubnetworkIAMMemberParameters struct {

	// +kubebuilder:validation:Optional
	Condition *SubnetworkIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"`

	// +kubebuilder:validation:Optional
	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// +kubebuilder:validation:Optional
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// +kubebuilder:validation:Optional
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	// +kubebuilder:validation:Optional
	Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"`

	// Reference to a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate subnetwork.
	// +kubebuilder:validation:Optional
	SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"`
}

func (*SubnetworkIAMMemberParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberParameters.

func (*SubnetworkIAMMemberParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkIAMMemberSpec

type SubnetworkIAMMemberSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     SubnetworkIAMMemberParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider SubnetworkIAMMemberInitParameters `json:"initProvider,omitempty"`
}

SubnetworkIAMMemberSpec defines the desired state of SubnetworkIAMMember

func (*SubnetworkIAMMemberSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberSpec.

func (*SubnetworkIAMMemberSpec) DeepCopyInto

func (in *SubnetworkIAMMemberSpec) DeepCopyInto(out *SubnetworkIAMMemberSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkIAMMemberStatus

type SubnetworkIAMMemberStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        SubnetworkIAMMemberObservation `json:"atProvider,omitempty"`
}

SubnetworkIAMMemberStatus defines the observed state of SubnetworkIAMMember.

func (*SubnetworkIAMMemberStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberStatus.

func (*SubnetworkIAMMemberStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkInitParameters

type SubnetworkInitParameters struct {

	// Self-link of subnetwork to NAT
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Reference to a Subnetwork in compute to populate name.
	// +kubebuilder:validation:Optional
	NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate name.
	// +kubebuilder:validation:Optional
	NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"`

	// 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
	// sourceIpRangesToNat
	// +listType=set
	SecondaryIPRangeNames []*string `json:"secondaryIpRangeNames,omitempty" tf:"secondary_ip_range_names,omitempty"`

	// List of options for which source IPs in the subnetwork
	// should have NAT enabled. Supported values include:
	// ALL_IP_RANGES, LIST_OF_SECONDARY_IP_RANGES,
	// PRIMARY_IP_RANGE.
	// +listType=set
	SourceIPRangesToNAT []*string `json:"sourceIpRangesToNat,omitempty" tf:"source_ip_ranges_to_nat,omitempty"`
}

func (*SubnetworkInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkInitParameters.

func (*SubnetworkInitParameters) DeepCopyInto

func (in *SubnetworkInitParameters) DeepCopyInto(out *SubnetworkInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkInitParameters_2

type SubnetworkInitParameters_2 struct {

	// An optional description of this resource. Provide this property when
	// you create the resource. This field can be set only at resource
	// creation time.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The range of external IPv6 addresses that are owned by this subnetwork.
	ExternalIPv6Prefix *string `json:"externalIpv6Prefix,omitempty" tf:"external_ipv6_prefix,omitempty"`

	// The range of internal addresses that are owned by this subnetwork.
	// Provide this property when you create the subnetwork. For example,
	// 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
	// non-overlapping within a network. Only IPv4 is supported.
	IPCidrRange *string `json:"ipCidrRange,omitempty" tf:"ip_cidr_range,omitempty"`

	// The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation
	// or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet
	// cannot enable direct path.
	// Possible values are: EXTERNAL, INTERNAL.
	IPv6AccessType *string `json:"ipv6AccessType,omitempty" tf:"ipv6_access_type,omitempty"`

	// This field denotes the VPC flow logging options for this subnetwork. If
	// logging is enabled, logs are exported to Cloud Logging. Flow logging
	// isn't supported if the subnet purpose field is set to subnetwork is
	// REGIONAL_MANAGED_PROXY or GLOBAL_MANAGED_PROXY.
	// Structure is documented below.
	LogConfig *SubnetworkLogConfigInitParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// The network this subnet belongs to.
	// Only networks that are in the distributed mode can have subnetworks.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// When enabled, VMs in this subnetwork without external IP addresses can
	// access Google APIs and services by using Private Google Access.
	PrivateIPGoogleAccess *bool `json:"privateIpGoogleAccess,omitempty" tf:"private_ip_google_access,omitempty"`

	// The private IPv6 google access type for the VMs in this subnet.
	PrivateIPv6GoogleAccess *string `json:"privateIpv6GoogleAccess,omitempty" tf:"private_ipv6_google_access,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The purpose of the resource. This field can be either PRIVATE_RFC_1918, REGIONAL_MANAGED_PROXY, GLOBAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT or PRIVATE_NAT(Beta).
	// A subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork that is reserved for regional Envoy-based load balancers.
	// A subnetwork in a given region with purpose set to GLOBAL_MANAGED_PROXY is a proxy-only subnet and is shared between all the cross-regional Envoy-based load balancers.
	// A subnetwork with purpose set to PRIVATE_SERVICE_CONNECT reserves the subnet for hosting a Private Service Connect published service.
	// A subnetwork with purpose set to PRIVATE_NAT is used as source range for Private NAT gateways.
	// Note that REGIONAL_MANAGED_PROXY is the preferred setting for all regional Envoy load balancers.
	// If unspecified, the purpose defaults to PRIVATE_RFC_1918.
	Purpose *string `json:"purpose,omitempty" tf:"purpose,omitempty"`

	// The role of subnetwork.
	// Currently, this field is only used when purpose is REGIONAL_MANAGED_PROXY.
	// The value can be set to ACTIVE or BACKUP.
	// An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region.
	// A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining.
	// Possible values are: ACTIVE, BACKUP.
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// An array of configurations for secondary IP ranges for VM instances
	// contained in this subnetwork. The primary IP of such VM must belong
	// to the primary ipCidrRange of the subnetwork. The alias IPs may belong
	// to either primary or secondary ranges.
	// Note: This field uses attr-as-block mode to avoid
	// breaking users during the 0.12 upgrade. To explicitly send a list
	// of zero objects you must use the following syntax:
	// example=[]
	// For more details about this behavior, see this section.
	// Structure is documented below.
	SecondaryIPRange []SecondaryIPRangeInitParameters `json:"secondaryIpRange,omitempty" tf:"secondary_ip_range,omitempty"`

	// The stack type for this subnet to identify whether the IPv6 feature is enabled or not.
	// If not specified IPV4_ONLY will be used.
	// Possible values are: IPV4_ONLY, IPV4_IPV6.
	StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"`
}

func (*SubnetworkInitParameters_2) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkInitParameters_2.

func (*SubnetworkInitParameters_2) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkList

type SubnetworkList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Subnetwork `json:"items"`
}

SubnetworkList contains a list of Subnetworks

func (*SubnetworkList) DeepCopy

func (in *SubnetworkList) DeepCopy() *SubnetworkList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkList.

func (*SubnetworkList) DeepCopyInto

func (in *SubnetworkList) DeepCopyInto(out *SubnetworkList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SubnetworkList) DeepCopyObject

func (in *SubnetworkList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SubnetworkList) GetItems

func (l *SubnetworkList) GetItems() []resource.Managed

GetItems of this SubnetworkList.

type SubnetworkLogConfigInitParameters

type SubnetworkLogConfigInitParameters struct {

	// Can only be specified if VPC flow logging for this subnetwork is enabled.
	// Toggles the aggregation interval for collecting flow logs. Increasing the
	// interval time will reduce the amount of generated flow logs for long
	// lasting connections. Default is an interval of 5 seconds per connection.
	// Default value is INTERVAL_5_SEC.
	// Possible values are: INTERVAL_5_SEC, INTERVAL_30_SEC, INTERVAL_1_MIN, INTERVAL_5_MIN, INTERVAL_10_MIN, INTERVAL_15_MIN.
	AggregationInterval *string `json:"aggregationInterval,omitempty" tf:"aggregation_interval,omitempty"`

	// Export filter used to define which VPC flow logs should be logged, as as CEL expression. See
	// https://cloud.google.com/vpc/docs/flow-logs#filtering for details on how to format this field.
	// The default value is 'true', which evaluates to include everything.
	FilterExpr *string `json:"filterExpr,omitempty" tf:"filter_expr,omitempty"`

	// Can only be specified if VPC flow logging for this subnetwork is enabled.
	// The value of the field must be in [0, 1]. Set the sampling rate of VPC
	// flow logs within the subnetwork where 1.0 means all collected logs are
	// reported and 0.0 means no logs are reported. Default is 0.5 which means
	// half of all collected logs are reported.
	FlowSampling *float64 `json:"flowSampling,omitempty" tf:"flow_sampling,omitempty"`

	// Can only be specified if VPC flow logging for this subnetwork is enabled.
	// Configures whether metadata fields should be added to the reported VPC
	// flow logs.
	// Default value is INCLUDE_ALL_METADATA.
	// Possible values are: EXCLUDE_ALL_METADATA, INCLUDE_ALL_METADATA, CUSTOM_METADATA.
	Metadata *string `json:"metadata,omitempty" tf:"metadata,omitempty"`

	// List of metadata fields that should be added to reported logs.
	// Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" is set to CUSTOM_METADATA.
	// +listType=set
	MetadataFields []*string `json:"metadataFields,omitempty" tf:"metadata_fields,omitempty"`
}

func (*SubnetworkLogConfigInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkLogConfigInitParameters.

func (*SubnetworkLogConfigInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkLogConfigObservation

type SubnetworkLogConfigObservation struct {

	// Can only be specified if VPC flow logging for this subnetwork is enabled.
	// Toggles the aggregation interval for collecting flow logs. Increasing the
	// interval time will reduce the amount of generated flow logs for long
	// lasting connections. Default is an interval of 5 seconds per connection.
	// Default value is INTERVAL_5_SEC.
	// Possible values are: INTERVAL_5_SEC, INTERVAL_30_SEC, INTERVAL_1_MIN, INTERVAL_5_MIN, INTERVAL_10_MIN, INTERVAL_15_MIN.
	AggregationInterval *string `json:"aggregationInterval,omitempty" tf:"aggregation_interval,omitempty"`

	// Export filter used to define which VPC flow logs should be logged, as as CEL expression. See
	// https://cloud.google.com/vpc/docs/flow-logs#filtering for details on how to format this field.
	// The default value is 'true', which evaluates to include everything.
	FilterExpr *string `json:"filterExpr,omitempty" tf:"filter_expr,omitempty"`

	// Can only be specified if VPC flow logging for this subnetwork is enabled.
	// The value of the field must be in [0, 1]. Set the sampling rate of VPC
	// flow logs within the subnetwork where 1.0 means all collected logs are
	// reported and 0.0 means no logs are reported. Default is 0.5 which means
	// half of all collected logs are reported.
	FlowSampling *float64 `json:"flowSampling,omitempty" tf:"flow_sampling,omitempty"`

	// Can only be specified if VPC flow logging for this subnetwork is enabled.
	// Configures whether metadata fields should be added to the reported VPC
	// flow logs.
	// Default value is INCLUDE_ALL_METADATA.
	// Possible values are: EXCLUDE_ALL_METADATA, INCLUDE_ALL_METADATA, CUSTOM_METADATA.
	Metadata *string `json:"metadata,omitempty" tf:"metadata,omitempty"`

	// List of metadata fields that should be added to reported logs.
	// Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" is set to CUSTOM_METADATA.
	// +listType=set
	MetadataFields []*string `json:"metadataFields,omitempty" tf:"metadata_fields,omitempty"`
}

func (*SubnetworkLogConfigObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkLogConfigObservation.

func (*SubnetworkLogConfigObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkLogConfigParameters

type SubnetworkLogConfigParameters struct {

	// Can only be specified if VPC flow logging for this subnetwork is enabled.
	// Toggles the aggregation interval for collecting flow logs. Increasing the
	// interval time will reduce the amount of generated flow logs for long
	// lasting connections. Default is an interval of 5 seconds per connection.
	// Default value is INTERVAL_5_SEC.
	// Possible values are: INTERVAL_5_SEC, INTERVAL_30_SEC, INTERVAL_1_MIN, INTERVAL_5_MIN, INTERVAL_10_MIN, INTERVAL_15_MIN.
	// +kubebuilder:validation:Optional
	AggregationInterval *string `json:"aggregationInterval,omitempty" tf:"aggregation_interval,omitempty"`

	// Export filter used to define which VPC flow logs should be logged, as as CEL expression. See
	// https://cloud.google.com/vpc/docs/flow-logs#filtering for details on how to format this field.
	// The default value is 'true', which evaluates to include everything.
	// +kubebuilder:validation:Optional
	FilterExpr *string `json:"filterExpr,omitempty" tf:"filter_expr,omitempty"`

	// Can only be specified if VPC flow logging for this subnetwork is enabled.
	// The value of the field must be in [0, 1]. Set the sampling rate of VPC
	// flow logs within the subnetwork where 1.0 means all collected logs are
	// reported and 0.0 means no logs are reported. Default is 0.5 which means
	// half of all collected logs are reported.
	// +kubebuilder:validation:Optional
	FlowSampling *float64 `json:"flowSampling,omitempty" tf:"flow_sampling,omitempty"`

	// Can only be specified if VPC flow logging for this subnetwork is enabled.
	// Configures whether metadata fields should be added to the reported VPC
	// flow logs.
	// Default value is INCLUDE_ALL_METADATA.
	// Possible values are: EXCLUDE_ALL_METADATA, INCLUDE_ALL_METADATA, CUSTOM_METADATA.
	// +kubebuilder:validation:Optional
	Metadata *string `json:"metadata,omitempty" tf:"metadata,omitempty"`

	// List of metadata fields that should be added to reported logs.
	// Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" is set to CUSTOM_METADATA.
	// +kubebuilder:validation:Optional
	// +listType=set
	MetadataFields []*string `json:"metadataFields,omitempty" tf:"metadata_fields,omitempty"`
}

func (*SubnetworkLogConfigParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkLogConfigParameters.

func (*SubnetworkLogConfigParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkObservation

type SubnetworkObservation struct {

	// Self-link of subnetwork to NAT
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// 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
	// sourceIpRangesToNat
	// +listType=set
	SecondaryIPRangeNames []*string `json:"secondaryIpRangeNames,omitempty" tf:"secondary_ip_range_names,omitempty"`

	// List of options for which source IPs in the subnetwork
	// should have NAT enabled. Supported values include:
	// ALL_IP_RANGES, LIST_OF_SECONDARY_IP_RANGES,
	// PRIMARY_IP_RANGE.
	// +listType=set
	SourceIPRangesToNAT []*string `json:"sourceIpRangesToNat,omitempty" tf:"source_ip_ranges_to_nat,omitempty"`
}

func (*SubnetworkObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkObservation.

func (*SubnetworkObservation) DeepCopyInto

func (in *SubnetworkObservation) DeepCopyInto(out *SubnetworkObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkObservation_2

type SubnetworkObservation_2 struct {

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// An optional description of this resource. Provide this property when
	// you create the resource. This field can be set only at resource
	// creation time.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The range of external IPv6 addresses that are owned by this subnetwork.
	ExternalIPv6Prefix *string `json:"externalIpv6Prefix,omitempty" tf:"external_ipv6_prefix,omitempty"`

	Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"`

	// The gateway address for default routes to reach destination addresses
	// outside this subnetwork.
	GatewayAddress *string `json:"gatewayAddress,omitempty" tf:"gateway_address,omitempty"`

	// an identifier for the resource with format projects/{{project}}/regions/{{region}}/subnetworks/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The range of internal addresses that are owned by this subnetwork.
	// Provide this property when you create the subnetwork. For example,
	// 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
	// non-overlapping within a network. Only IPv4 is supported.
	IPCidrRange *string `json:"ipCidrRange,omitempty" tf:"ip_cidr_range,omitempty"`

	// The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation
	// or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet
	// cannot enable direct path.
	// Possible values are: EXTERNAL, INTERNAL.
	IPv6AccessType *string `json:"ipv6AccessType,omitempty" tf:"ipv6_access_type,omitempty"`

	// The range of internal IPv6 addresses that are owned by this subnetwork.
	IPv6CidrRange *string `json:"ipv6CidrRange,omitempty" tf:"ipv6_cidr_range,omitempty"`

	// The internal IPv6 address range that is assigned to this subnetwork.
	InternalIPv6Prefix *string `json:"internalIpv6Prefix,omitempty" tf:"internal_ipv6_prefix,omitempty"`

	// This field denotes the VPC flow logging options for this subnetwork. If
	// logging is enabled, logs are exported to Cloud Logging. Flow logging
	// isn't supported if the subnet purpose field is set to subnetwork is
	// REGIONAL_MANAGED_PROXY or GLOBAL_MANAGED_PROXY.
	// Structure is documented below.
	LogConfig *SubnetworkLogConfigObservation `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// The network this subnet belongs to.
	// Only networks that are in the distributed mode can have subnetworks.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// When enabled, VMs in this subnetwork without external IP addresses can
	// access Google APIs and services by using Private Google Access.
	PrivateIPGoogleAccess *bool `json:"privateIpGoogleAccess,omitempty" tf:"private_ip_google_access,omitempty"`

	// The private IPv6 google access type for the VMs in this subnet.
	PrivateIPv6GoogleAccess *string `json:"privateIpv6GoogleAccess,omitempty" tf:"private_ipv6_google_access,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The purpose of the resource. This field can be either PRIVATE_RFC_1918, REGIONAL_MANAGED_PROXY, GLOBAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT or PRIVATE_NAT(Beta).
	// A subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork that is reserved for regional Envoy-based load balancers.
	// A subnetwork in a given region with purpose set to GLOBAL_MANAGED_PROXY is a proxy-only subnet and is shared between all the cross-regional Envoy-based load balancers.
	// A subnetwork with purpose set to PRIVATE_SERVICE_CONNECT reserves the subnet for hosting a Private Service Connect published service.
	// A subnetwork with purpose set to PRIVATE_NAT is used as source range for Private NAT gateways.
	// Note that REGIONAL_MANAGED_PROXY is the preferred setting for all regional Envoy load balancers.
	// If unspecified, the purpose defaults to PRIVATE_RFC_1918.
	Purpose *string `json:"purpose,omitempty" tf:"purpose,omitempty"`

	// The GCP region for this subnetwork.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The role of subnetwork.
	// Currently, this field is only used when purpose is REGIONAL_MANAGED_PROXY.
	// The value can be set to ACTIVE or BACKUP.
	// An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region.
	// A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining.
	// Possible values are: ACTIVE, BACKUP.
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// An array of configurations for secondary IP ranges for VM instances
	// contained in this subnetwork. The primary IP of such VM must belong
	// to the primary ipCidrRange of the subnetwork. The alias IPs may belong
	// to either primary or secondary ranges.
	// Note: This field uses attr-as-block mode to avoid
	// breaking users during the 0.12 upgrade. To explicitly send a list
	// of zero objects you must use the following syntax:
	// example=[]
	// For more details about this behavior, see this section.
	// Structure is documented below.
	SecondaryIPRange []SecondaryIPRangeObservation `json:"secondaryIpRange,omitempty" tf:"secondary_ip_range,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// The stack type for this subnet to identify whether the IPv6 feature is enabled or not.
	// If not specified IPV4_ONLY will be used.
	// Possible values are: IPV4_ONLY, IPV4_IPV6.
	StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"`
}

func (*SubnetworkObservation_2) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkObservation_2.

func (*SubnetworkObservation_2) DeepCopyInto

func (in *SubnetworkObservation_2) DeepCopyInto(out *SubnetworkObservation_2)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkParameters

type SubnetworkParameters struct {

	// Self-link of subnetwork to NAT
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.Subnetwork
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Reference to a Subnetwork in compute to populate name.
	// +kubebuilder:validation:Optional
	NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"`

	// Selector for a Subnetwork in compute to populate name.
	// +kubebuilder:validation:Optional
	NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"`

	// 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
	// sourceIpRangesToNat
	// +kubebuilder:validation:Optional
	// +listType=set
	SecondaryIPRangeNames []*string `json:"secondaryIpRangeNames,omitempty" tf:"secondary_ip_range_names,omitempty"`

	// List of options for which source IPs in the subnetwork
	// should have NAT enabled. Supported values include:
	// ALL_IP_RANGES, LIST_OF_SECONDARY_IP_RANGES,
	// PRIMARY_IP_RANGE.
	// +kubebuilder:validation:Optional
	// +listType=set
	SourceIPRangesToNAT []*string `json:"sourceIpRangesToNat" tf:"source_ip_ranges_to_nat,omitempty"`
}

func (*SubnetworkParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkParameters.

func (*SubnetworkParameters) DeepCopyInto

func (in *SubnetworkParameters) DeepCopyInto(out *SubnetworkParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkParameters_2

type SubnetworkParameters_2 struct {

	// An optional description of this resource. Provide this property when
	// you create the resource. This field can be set only at resource
	// creation time.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The range of external IPv6 addresses that are owned by this subnetwork.
	// +kubebuilder:validation:Optional
	ExternalIPv6Prefix *string `json:"externalIpv6Prefix,omitempty" tf:"external_ipv6_prefix,omitempty"`

	// The range of internal addresses that are owned by this subnetwork.
	// Provide this property when you create the subnetwork. For example,
	// 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
	// non-overlapping within a network. Only IPv4 is supported.
	// +kubebuilder:validation:Optional
	IPCidrRange *string `json:"ipCidrRange,omitempty" tf:"ip_cidr_range,omitempty"`

	// The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation
	// or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet
	// cannot enable direct path.
	// Possible values are: EXTERNAL, INTERNAL.
	// +kubebuilder:validation:Optional
	IPv6AccessType *string `json:"ipv6AccessType,omitempty" tf:"ipv6_access_type,omitempty"`

	// This field denotes the VPC flow logging options for this subnetwork. If
	// logging is enabled, logs are exported to Cloud Logging. Flow logging
	// isn't supported if the subnet purpose field is set to subnetwork is
	// REGIONAL_MANAGED_PROXY or GLOBAL_MANAGED_PROXY.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	LogConfig *SubnetworkLogConfigParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"`

	// The network this subnet belongs to.
	// Only networks that are in the distributed mode can have subnetworks.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
	// +kubebuilder:validation:Optional
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// Reference to a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`

	// Selector for a Network in compute to populate network.
	// +kubebuilder:validation:Optional
	NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`

	// When enabled, VMs in this subnetwork without external IP addresses can
	// access Google APIs and services by using Private Google Access.
	// +kubebuilder:validation:Optional
	PrivateIPGoogleAccess *bool `json:"privateIpGoogleAccess,omitempty" tf:"private_ip_google_access,omitempty"`

	// The private IPv6 google access type for the VMs in this subnet.
	// +kubebuilder:validation:Optional
	PrivateIPv6GoogleAccess *string `json:"privateIpv6GoogleAccess,omitempty" tf:"private_ipv6_google_access,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The purpose of the resource. This field can be either PRIVATE_RFC_1918, REGIONAL_MANAGED_PROXY, GLOBAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT or PRIVATE_NAT(Beta).
	// A subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork that is reserved for regional Envoy-based load balancers.
	// A subnetwork in a given region with purpose set to GLOBAL_MANAGED_PROXY is a proxy-only subnet and is shared between all the cross-regional Envoy-based load balancers.
	// A subnetwork with purpose set to PRIVATE_SERVICE_CONNECT reserves the subnet for hosting a Private Service Connect published service.
	// A subnetwork with purpose set to PRIVATE_NAT is used as source range for Private NAT gateways.
	// Note that REGIONAL_MANAGED_PROXY is the preferred setting for all regional Envoy load balancers.
	// If unspecified, the purpose defaults to PRIVATE_RFC_1918.
	// +kubebuilder:validation:Optional
	Purpose *string `json:"purpose,omitempty" tf:"purpose,omitempty"`

	// The GCP region for this subnetwork.
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"region,omitempty"`

	// The role of subnetwork.
	// Currently, this field is only used when purpose is REGIONAL_MANAGED_PROXY.
	// The value can be set to ACTIVE or BACKUP.
	// An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region.
	// A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining.
	// Possible values are: ACTIVE, BACKUP.
	// +kubebuilder:validation:Optional
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// An array of configurations for secondary IP ranges for VM instances
	// contained in this subnetwork. The primary IP of such VM must belong
	// to the primary ipCidrRange of the subnetwork. The alias IPs may belong
	// to either primary or secondary ranges.
	// Note: This field uses attr-as-block mode to avoid
	// breaking users during the 0.12 upgrade. To explicitly send a list
	// of zero objects you must use the following syntax:
	// example=[]
	// For more details about this behavior, see this section.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	SecondaryIPRange []SecondaryIPRangeParameters `json:"secondaryIpRange,omitempty" tf:"secondary_ip_range,omitempty"`

	// The stack type for this subnet to identify whether the IPv6 feature is enabled or not.
	// If not specified IPV4_ONLY will be used.
	// Possible values are: IPV4_ONLY, IPV4_IPV6.
	// +kubebuilder:validation:Optional
	StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"`
}

func (*SubnetworkParameters_2) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkParameters_2.

func (*SubnetworkParameters_2) DeepCopyInto

func (in *SubnetworkParameters_2) DeepCopyInto(out *SubnetworkParameters_2)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkSpec

type SubnetworkSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     SubnetworkParameters_2 `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider SubnetworkInitParameters_2 `json:"initProvider,omitempty"`
}

SubnetworkSpec defines the desired state of Subnetwork

func (*SubnetworkSpec) DeepCopy

func (in *SubnetworkSpec) DeepCopy() *SubnetworkSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkSpec.

func (*SubnetworkSpec) DeepCopyInto

func (in *SubnetworkSpec) DeepCopyInto(out *SubnetworkSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworkStatus

type SubnetworkStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        SubnetworkObservation_2 `json:"atProvider,omitempty"`
}

SubnetworkStatus defines the observed state of Subnetwork.

func (*SubnetworkStatus) DeepCopy

func (in *SubnetworkStatus) DeepCopy() *SubnetworkStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkStatus.

func (*SubnetworkStatus) DeepCopyInto

func (in *SubnetworkStatus) DeepCopyInto(out *SubnetworkStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworksInitParameters

type SubnetworksInitParameters struct {

	// The URL of the subnetwork where this rule should be active.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*SubnetworksInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworksInitParameters.

func (*SubnetworksInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworksObservation

type SubnetworksObservation struct {

	// The URL of the subnetwork where this rule should be active.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`
}

func (*SubnetworksObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworksObservation.

func (*SubnetworksObservation) DeepCopyInto

func (in *SubnetworksObservation) DeepCopyInto(out *SubnetworksObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetworksParameters

type SubnetworksParameters struct {

	// The URL of the subnetwork where this rule should be active.
	// +kubebuilder:validation:Optional
	URL *string `json:"url" tf:"url,omitempty"`
}

func (*SubnetworksParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworksParameters.

func (*SubnetworksParameters) DeepCopyInto

func (in *SubnetworksParameters) DeepCopyInto(out *SubnetworksParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TCPHealthCheckInitParameters

type TCPHealthCheckInitParameters struct {

	// The TCP port number for the TCP health check request.
	// The default value is 443.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The application data to send once the TCP connection has been
	// established (default value is empty). If both request and response are
	// empty, the connection establishment alone will indicate health. The request
	// data can only be ASCII.
	Request *string `json:"request,omitempty" tf:"request,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*TCPHealthCheckInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPHealthCheckInitParameters.

func (*TCPHealthCheckInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TCPHealthCheckObservation

type TCPHealthCheckObservation struct {

	// The TCP port number for the TCP health check request.
	// The default value is 443.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The application data to send once the TCP connection has been
	// established (default value is empty). If both request and response are
	// empty, the connection establishment alone will indicate health. The request
	// data can only be ASCII.
	Request *string `json:"request,omitempty" tf:"request,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*TCPHealthCheckObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPHealthCheckObservation.

func (*TCPHealthCheckObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TCPHealthCheckParameters

type TCPHealthCheckParameters struct {

	// The TCP port number for the TCP health check request.
	// The default value is 443.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// Port name as defined in InstanceGroup#NamedPort#name. If both port and
	// port_name are defined, port takes precedence.
	// +kubebuilder:validation:Optional
	PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"`

	// Specifies how port is selected for health checking, can be one of the
	// following values:
	// +kubebuilder:validation:Optional
	PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"`

	// Specifies the type of proxy header to append before sending data to the
	// backend.
	// Default value is NONE.
	// Possible values are: NONE, PROXY_V1.
	// +kubebuilder:validation:Optional
	ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"`

	// The application data to send once the TCP connection has been
	// established (default value is empty). If both request and response are
	// empty, the connection establishment alone will indicate health. The request
	// data can only be ASCII.
	// +kubebuilder:validation:Optional
	Request *string `json:"request,omitempty" tf:"request,omitempty"`

	// The bytes to match against the beginning of the response data. If left empty
	// (the default value), any response will indicate health. The response data
	// can only be ASCII.
	// +kubebuilder:validation:Optional
	Response *string `json:"response,omitempty" tf:"response,omitempty"`
}

func (*TCPHealthCheckParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPHealthCheckParameters.

func (*TCPHealthCheckParameters) DeepCopyInto

func (in *TCPHealthCheckParameters) DeepCopyInto(out *TCPHealthCheckParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TTLInitParameters

type TTLInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*TTLInitParameters) DeepCopy

func (in *TTLInitParameters) DeepCopy() *TTLInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TTLInitParameters.

func (*TTLInitParameters) DeepCopyInto

func (in *TTLInitParameters) DeepCopyInto(out *TTLInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TTLObservation

type TTLObservation struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	Seconds *float64 `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*TTLObservation) DeepCopy

func (in *TTLObservation) DeepCopy() *TTLObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TTLObservation.

func (*TTLObservation) DeepCopyInto

func (in *TTLObservation) DeepCopyInto(out *TTLObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TTLParameters

type TTLParameters struct {

	// Span of time that's a fraction of a second at nanosecond
	// resolution. Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second.
	// Must be from 0 to 315,576,000,000 inclusive.
	// +kubebuilder:validation:Optional
	Seconds *float64 `json:"seconds" tf:"seconds,omitempty"`
}

func (*TTLParameters) DeepCopy

func (in *TTLParameters) DeepCopy() *TTLParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TTLParameters.

func (*TTLParameters) DeepCopyInto

func (in *TTLParameters) DeepCopyInto(out *TTLParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetSizeInitParameters

type TargetSizeInitParameters struct {

	// , The number of instances which are managed for this version. Conflicts with percent.
	Fixed *float64 `json:"fixed,omitempty" tf:"fixed,omitempty"`

	// , The number of instances (calculated as percentage) which are managed for this version. Conflicts with fixed.
	// Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions,
	// one of which has a target_size.percent of 60 will create 2 instances of that version.
	Percent *float64 `json:"percent,omitempty" tf:"percent,omitempty"`
}

func (*TargetSizeInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetSizeInitParameters.

func (*TargetSizeInitParameters) DeepCopyInto

func (in *TargetSizeInitParameters) DeepCopyInto(out *TargetSizeInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetSizeObservation

type TargetSizeObservation struct {

	// , The number of instances which are managed for this version. Conflicts with percent.
	Fixed *float64 `json:"fixed,omitempty" tf:"fixed,omitempty"`

	// , The number of instances (calculated as percentage) which are managed for this version. Conflicts with fixed.
	// Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions,
	// one of which has a target_size.percent of 60 will create 2 instances of that version.
	Percent *float64 `json:"percent,omitempty" tf:"percent,omitempty"`
}

func (*TargetSizeObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetSizeObservation.

func (*TargetSizeObservation) DeepCopyInto

func (in *TargetSizeObservation) DeepCopyInto(out *TargetSizeObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetSizeParameters

type TargetSizeParameters struct {

	// , The number of instances which are managed for this version. Conflicts with percent.
	// +kubebuilder:validation:Optional
	Fixed *float64 `json:"fixed,omitempty" tf:"fixed,omitempty"`

	// , The number of instances (calculated as percentage) which are managed for this version. Conflicts with fixed.
	// Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions,
	// one of which has a target_size.percent of 60 will create 2 instances of that version.
	// +kubebuilder:validation:Optional
	Percent *float64 `json:"percent,omitempty" tf:"percent,omitempty"`
}

func (*TargetSizeParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetSizeParameters.

func (*TargetSizeParameters) DeepCopyInto

func (in *TargetSizeParameters) DeepCopyInto(out *TargetSizeParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TestInitParameters

type TestInitParameters struct {

	// Description of this test case.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Host portion of the URL.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// Path portion of the URL.
	Path *string `json:"path,omitempty" tf:"path,omitempty"`

	// A reference to expected RegionBackendService resource the given URL should be mapped to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// Reference to a RegionBackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"`
}

func (*TestInitParameters) DeepCopy

func (in *TestInitParameters) DeepCopy() *TestInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestInitParameters.

func (*TestInitParameters) DeepCopyInto

func (in *TestInitParameters) DeepCopyInto(out *TestInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TestObservation

type TestObservation struct {

	// Description of this test case.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Host portion of the URL.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// Path portion of the URL.
	Path *string `json:"path,omitempty" tf:"path,omitempty"`

	// A reference to expected RegionBackendService resource the given URL should be mapped to.
	Service *string `json:"service,omitempty" tf:"service,omitempty"`
}

func (*TestObservation) DeepCopy

func (in *TestObservation) DeepCopy() *TestObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestObservation.

func (*TestObservation) DeepCopyInto

func (in *TestObservation) DeepCopyInto(out *TestObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TestParameters

type TestParameters struct {

	// Description of this test case.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Host portion of the URL.
	// +kubebuilder:validation:Optional
	Host *string `json:"host" tf:"host,omitempty"`

	// Path portion of the URL.
	// +kubebuilder:validation:Optional
	Path *string `json:"path" tf:"path,omitempty"`

	// A reference to expected RegionBackendService resource the given URL should be mapped to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// Reference to a RegionBackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"`
}

func (*TestParameters) DeepCopy

func (in *TestParameters) DeepCopy() *TestParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestParameters.

func (*TestParameters) DeepCopyInto

func (in *TestParameters) DeepCopyInto(out *TestParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TimeoutInitParameters

type TimeoutInitParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*TimeoutInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutInitParameters.

func (*TimeoutInitParameters) DeepCopyInto

func (in *TimeoutInitParameters) DeepCopyInto(out *TimeoutInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TimeoutObservation

type TimeoutObservation struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*TimeoutObservation) DeepCopy

func (in *TimeoutObservation) DeepCopy() *TimeoutObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutObservation.

func (*TimeoutObservation) DeepCopyInto

func (in *TimeoutObservation) DeepCopyInto(out *TimeoutObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TimeoutParameters

type TimeoutParameters struct {

	// Span of time that's a fraction of a second at nanosecond resolution. Durations
	// less than one second are represented with a 0 seconds field and a positive
	// nanos field. Must be from 0 to 999,999,999 inclusive.
	// +kubebuilder:validation:Optional
	Nanos *float64 `json:"nanos,omitempty" tf:"nanos,omitempty"`

	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
	// inclusive.
	// +kubebuilder:validation:Optional
	Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"`
}

func (*TimeoutParameters) DeepCopy

func (in *TimeoutParameters) DeepCopy() *TimeoutParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutParameters.

func (*TimeoutParameters) DeepCopyInto

func (in *TimeoutParameters) DeepCopyInto(out *TimeoutParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMap

type URLMap struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              URLMapSpec   `json:"spec"`
	Status            URLMapStatus `json:"status,omitempty"`
}

URLMap is the Schema for the URLMaps API. UrlMaps are used to route requests to a backend service based on rules that you define for the host and path of an incoming URL. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*URLMap) DeepCopy

func (in *URLMap) DeepCopy() *URLMap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMap.

func (*URLMap) DeepCopyInto

func (in *URLMap) DeepCopyInto(out *URLMap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*URLMap) DeepCopyObject

func (in *URLMap) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*URLMap) GetCondition

func (mg *URLMap) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this URLMap.

func (*URLMap) GetConnectionDetailsMapping

func (tr *URLMap) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this URLMap

func (*URLMap) GetDeletionPolicy

func (mg *URLMap) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this URLMap.

func (*URLMap) GetID

func (tr *URLMap) GetID() string

GetID returns ID of underlying Terraform resource of this URLMap

func (*URLMap) GetInitParameters

func (tr *URLMap) GetInitParameters() (map[string]any, error)

GetInitParameters of this URLMap

func (*URLMap) GetManagementPolicies

func (mg *URLMap) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this URLMap.

func (*URLMap) GetMergedParameters

func (tr *URLMap) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this URLMap

func (*URLMap) GetObservation

func (tr *URLMap) GetObservation() (map[string]any, error)

GetObservation of this URLMap

func (*URLMap) GetParameters

func (tr *URLMap) GetParameters() (map[string]any, error)

GetParameters of this URLMap

func (*URLMap) GetProviderConfigReference

func (mg *URLMap) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this URLMap.

func (*URLMap) GetPublishConnectionDetailsTo

func (mg *URLMap) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this URLMap.

func (*URLMap) GetTerraformResourceType

func (mg *URLMap) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this URLMap

func (*URLMap) GetTerraformSchemaVersion

func (tr *URLMap) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*URLMap) GetWriteConnectionSecretToReference

func (mg *URLMap) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this URLMap.

func (*URLMap) Hub

func (tr *URLMap) Hub()

Hub marks this type as a conversion hub.

func (*URLMap) LateInitialize

func (tr *URLMap) LateInitialize(attrs []byte) (bool, error)

LateInitialize this URLMap using its observed tfState. returns True if there are any spec changes for the resource.

func (*URLMap) ResolveReferences

func (mg *URLMap) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this URLMap.

func (*URLMap) SetConditions

func (mg *URLMap) SetConditions(c ...xpv1.Condition)

SetConditions of this URLMap.

func (*URLMap) SetDeletionPolicy

func (mg *URLMap) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this URLMap.

func (*URLMap) SetManagementPolicies

func (mg *URLMap) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this URLMap.

func (*URLMap) SetObservation

func (tr *URLMap) SetObservation(obs map[string]any) error

SetObservation for this URLMap

func (*URLMap) SetParameters

func (tr *URLMap) SetParameters(params map[string]any) error

SetParameters for this URLMap

func (*URLMap) SetProviderConfigReference

func (mg *URLMap) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this URLMap.

func (*URLMap) SetPublishConnectionDetailsTo

func (mg *URLMap) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this URLMap.

func (*URLMap) SetWriteConnectionSecretToReference

func (mg *URLMap) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this URLMap.

type URLMapDefaultRouteActionInitParameters

type URLMapDefaultRouteActionInitParameters struct {

	// The specification for allowing client side cross-origin requests. Please see
	// W3C Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	CorsPolicy *DefaultRouteActionCorsPolicyInitParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure.
	// As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a
	// percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted
	// by the Loadbalancer for a percentage of requests.
	// timeout and retryPolicy will be ignored by clients that are configured with a faultInjectionPolicy.
	// Structure is documented below.
	FaultInjectionPolicy *DefaultRouteActionFaultInjectionPolicyInitParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service.
	// Loadbalancer does not wait for responses from the shadow service. Prior to sending traffic to the shadow service,
	// the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	RequestMirrorPolicy *DefaultRouteActionRequestMirrorPolicyInitParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	RetryPolicy *DefaultRouteActionRetryPolicyInitParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time the request has been
	// fully processed (i.e. end-of-stream) up until the response has been completely processed. Timeout includes all retries.
	// If not specified, will use the largest timeout among all backend services associated with the route.
	// Structure is documented below.
	Timeout *DefaultRouteActionTimeoutInitParameters `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to the matched service.
	// Structure is documented below.
	URLRewrite *DefaultRouteActionURLRewriteInitParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match occurs.
	// The weights determine the fraction of traffic that flows to their corresponding backend service.
	// If all traffic needs to go to a single backend service, there must be one weightedBackendService
	// with weight set to a non 0 number.
	// Once a backendService is identified and before forwarding the request to the backend service,
	// advanced routing actions like Url rewrites and header transformations are applied depending on
	// additional settings specified in this HttpRouteAction.
	// Structure is documented below.
	WeightedBackendServices []DefaultRouteActionWeightedBackendServicesInitParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*URLMapDefaultRouteActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapDefaultRouteActionInitParameters.

func (*URLMapDefaultRouteActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapDefaultRouteActionObservation

type URLMapDefaultRouteActionObservation struct {

	// The specification for allowing client side cross-origin requests. Please see
	// W3C Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	CorsPolicy *DefaultRouteActionCorsPolicyObservation `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure.
	// As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a
	// percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted
	// by the Loadbalancer for a percentage of requests.
	// timeout and retryPolicy will be ignored by clients that are configured with a faultInjectionPolicy.
	// Structure is documented below.
	FaultInjectionPolicy *DefaultRouteActionFaultInjectionPolicyObservation `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service.
	// Loadbalancer does not wait for responses from the shadow service. Prior to sending traffic to the shadow service,
	// the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	RequestMirrorPolicy *DefaultRouteActionRequestMirrorPolicyObservation `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	RetryPolicy *DefaultRouteActionRetryPolicyObservation `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time the request has been
	// fully processed (i.e. end-of-stream) up until the response has been completely processed. Timeout includes all retries.
	// If not specified, will use the largest timeout among all backend services associated with the route.
	// Structure is documented below.
	Timeout *DefaultRouteActionTimeoutObservation `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to the matched service.
	// Structure is documented below.
	URLRewrite *DefaultRouteActionURLRewriteObservation `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match occurs.
	// The weights determine the fraction of traffic that flows to their corresponding backend service.
	// If all traffic needs to go to a single backend service, there must be one weightedBackendService
	// with weight set to a non 0 number.
	// Once a backendService is identified and before forwarding the request to the backend service,
	// advanced routing actions like Url rewrites and header transformations are applied depending on
	// additional settings specified in this HttpRouteAction.
	// Structure is documented below.
	WeightedBackendServices []DefaultRouteActionWeightedBackendServicesObservation `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*URLMapDefaultRouteActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapDefaultRouteActionObservation.

func (*URLMapDefaultRouteActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapDefaultRouteActionParameters

type URLMapDefaultRouteActionParameters struct {

	// The specification for allowing client side cross-origin requests. Please see
	// W3C Recommendation for Cross Origin Resource Sharing
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	CorsPolicy *DefaultRouteActionCorsPolicyParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"`

	// The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure.
	// As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a
	// percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted
	// by the Loadbalancer for a percentage of requests.
	// timeout and retryPolicy will be ignored by clients that are configured with a faultInjectionPolicy.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	FaultInjectionPolicy *DefaultRouteActionFaultInjectionPolicyParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"`

	// Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service.
	// Loadbalancer does not wait for responses from the shadow service. Prior to sending traffic to the shadow service,
	// the host / authority header is suffixed with -shadow.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestMirrorPolicy *DefaultRouteActionRequestMirrorPolicyParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"`

	// Specifies the retry policy associated with this route.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RetryPolicy *DefaultRouteActionRetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"`

	// Specifies the timeout for the selected route. Timeout is computed from the time the request has been
	// fully processed (i.e. end-of-stream) up until the response has been completely processed. Timeout includes all retries.
	// If not specified, will use the largest timeout among all backend services associated with the route.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Timeout *DefaultRouteActionTimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"`

	// The spec to modify the URL of the request, prior to forwarding the request to the matched service.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	URLRewrite *DefaultRouteActionURLRewriteParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"`

	// A list of weighted backend services to send traffic to when a route match occurs.
	// The weights determine the fraction of traffic that flows to their corresponding backend service.
	// If all traffic needs to go to a single backend service, there must be one weightedBackendService
	// with weight set to a non 0 number.
	// Once a backendService is identified and before forwarding the request to the backend service,
	// advanced routing actions like Url rewrites and header transformations are applied depending on
	// additional settings specified in this HttpRouteAction.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	WeightedBackendServices []DefaultRouteActionWeightedBackendServicesParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"`
}

func (*URLMapDefaultRouteActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapDefaultRouteActionParameters.

func (*URLMapDefaultRouteActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapDefaultURLRedirectInitParameters

type URLMapDefaultURLRedirectInitParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https. If set to
	// false, the URL scheme of the redirected request will remain the same as that of the
	// request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this
	// true for TargetHttpsProxy is not permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one that was
	// supplied in the request. The value must be between 1 and 255 characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one that was
	// supplied in the request. pathRedirect cannot be supplied together with
	// prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the
	// original request will be used for the redirect. The value must be between 1 and 1024
	// characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
	// retaining the remaining portion of the URL before redirecting the request.
	// prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or
	// neither. If neither is supplied, the path of the original request will be used for
	// the redirect. The value must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is removed prior
	// to redirecting the request. If set to false, the query portion of the original URL is
	// retained.
	// This field is required to ensure an empty block is not set. The normal default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*URLMapDefaultURLRedirectInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapDefaultURLRedirectInitParameters.

func (*URLMapDefaultURLRedirectInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapDefaultURLRedirectObservation

type URLMapDefaultURLRedirectObservation struct {

	// If set to true, the URL scheme in the redirected request is set to https. If set to
	// false, the URL scheme of the redirected request will remain the same as that of the
	// request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this
	// true for TargetHttpsProxy is not permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one that was
	// supplied in the request. The value must be between 1 and 255 characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one that was
	// supplied in the request. pathRedirect cannot be supplied together with
	// prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the
	// original request will be used for the redirect. The value must be between 1 and 1024
	// characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
	// retaining the remaining portion of the URL before redirecting the request.
	// prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or
	// neither. If neither is supplied, the path of the original request will be used for
	// the redirect. The value must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is removed prior
	// to redirecting the request. If set to false, the query portion of the original URL is
	// retained.
	// This field is required to ensure an empty block is not set. The normal default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*URLMapDefaultURLRedirectObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapDefaultURLRedirectObservation.

func (*URLMapDefaultURLRedirectObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapDefaultURLRedirectParameters

type URLMapDefaultURLRedirectParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https. If set to
	// false, the URL scheme of the redirected request will remain the same as that of the
	// request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this
	// true for TargetHttpsProxy is not permitted. The default is set to false.
	// +kubebuilder:validation:Optional
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one that was
	// supplied in the request. The value must be between 1 and 255 characters.
	// +kubebuilder:validation:Optional
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one that was
	// supplied in the request. pathRedirect cannot be supplied together with
	// prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the
	// original request will be used for the redirect. The value must be between 1 and 1024
	// characters.
	// +kubebuilder:validation:Optional
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
	// retaining the remaining portion of the URL before redirecting the request.
	// prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or
	// neither. If neither is supplied, the path of the original request will be used for
	// the redirect. The value must be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	// +kubebuilder:validation:Optional
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is removed prior
	// to redirecting the request. If set to false, the query portion of the original URL is
	// retained.
	// This field is required to ensure an empty block is not set. The normal default value is false.
	// +kubebuilder:validation:Optional
	StripQuery *bool `json:"stripQuery" tf:"strip_query,omitempty"`
}

func (*URLMapDefaultURLRedirectParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapDefaultURLRedirectParameters.

func (*URLMapDefaultURLRedirectParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapHeaderActionInitParameters

type URLMapHeaderActionInitParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []URLMapHeaderActionRequestHeadersToAddInitParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []URLMapHeaderActionResponseHeadersToAddInitParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*URLMapHeaderActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHeaderActionInitParameters.

func (*URLMapHeaderActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapHeaderActionObservation

type URLMapHeaderActionObservation struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []URLMapHeaderActionRequestHeadersToAddObservation `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []URLMapHeaderActionResponseHeadersToAddObservation `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*URLMapHeaderActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHeaderActionObservation.

func (*URLMapHeaderActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapHeaderActionParameters

type URLMapHeaderActionParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestHeadersToAdd []URLMapHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	// +kubebuilder:validation:Optional
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ResponseHeadersToAdd []URLMapHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	// +kubebuilder:validation:Optional
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*URLMapHeaderActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHeaderActionParameters.

func (*URLMapHeaderActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapHeaderActionRequestHeadersToAddInitParameters

type URLMapHeaderActionRequestHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*URLMapHeaderActionRequestHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHeaderActionRequestHeadersToAddInitParameters.

func (*URLMapHeaderActionRequestHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapHeaderActionRequestHeadersToAddObservation

type URLMapHeaderActionRequestHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*URLMapHeaderActionRequestHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHeaderActionRequestHeadersToAddObservation.

func (*URLMapHeaderActionRequestHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapHeaderActionRequestHeadersToAddParameters

type URLMapHeaderActionRequestHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*URLMapHeaderActionRequestHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHeaderActionRequestHeadersToAddParameters.

func (*URLMapHeaderActionRequestHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapHeaderActionResponseHeadersToAddInitParameters

type URLMapHeaderActionResponseHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*URLMapHeaderActionResponseHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHeaderActionResponseHeadersToAddInitParameters.

func (*URLMapHeaderActionResponseHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapHeaderActionResponseHeadersToAddObservation

type URLMapHeaderActionResponseHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*URLMapHeaderActionResponseHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHeaderActionResponseHeadersToAddObservation.

func (*URLMapHeaderActionResponseHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapHeaderActionResponseHeadersToAddParameters

type URLMapHeaderActionResponseHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*URLMapHeaderActionResponseHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHeaderActionResponseHeadersToAddParameters.

func (*URLMapHeaderActionResponseHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapHostRuleInitParameters

type URLMapHostRuleInitParameters struct {

	// An optional description of this resource. Provide this property when you create
	// the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The list of host patterns to match. They must be valid hostnames, except * will
	// match any string of ([a-z0-9-.]*). In that case, * must be the first character
	// and must be followed in the pattern by either - or ..
	// +listType=set
	Hosts []*string `json:"hosts,omitempty" tf:"hosts,omitempty"`

	// The name of the PathMatcher to use to match the path portion of the URL if the
	// hostRule matches the URL's host portion.
	PathMatcher *string `json:"pathMatcher,omitempty" tf:"path_matcher,omitempty"`
}

func (*URLMapHostRuleInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHostRuleInitParameters.

func (*URLMapHostRuleInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapHostRuleObservation

type URLMapHostRuleObservation struct {

	// An optional description of this resource. Provide this property when you create
	// the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The list of host patterns to match. They must be valid hostnames, except * will
	// match any string of ([a-z0-9-.]*). In that case, * must be the first character
	// and must be followed in the pattern by either - or ..
	// +listType=set
	Hosts []*string `json:"hosts,omitempty" tf:"hosts,omitempty"`

	// The name of the PathMatcher to use to match the path portion of the URL if the
	// hostRule matches the URL's host portion.
	PathMatcher *string `json:"pathMatcher,omitempty" tf:"path_matcher,omitempty"`
}

func (*URLMapHostRuleObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHostRuleObservation.

func (*URLMapHostRuleObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapHostRuleParameters

type URLMapHostRuleParameters struct {

	// An optional description of this resource. Provide this property when you create
	// the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The list of host patterns to match. They must be valid hostnames, except * will
	// match any string of ([a-z0-9-.]*). In that case, * must be the first character
	// and must be followed in the pattern by either - or ..
	// +kubebuilder:validation:Optional
	// +listType=set
	Hosts []*string `json:"hosts" tf:"hosts,omitempty"`

	// The name of the PathMatcher to use to match the path portion of the URL if the
	// hostRule matches the URL's host portion.
	// +kubebuilder:validation:Optional
	PathMatcher *string `json:"pathMatcher" tf:"path_matcher,omitempty"`
}

func (*URLMapHostRuleParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHostRuleParameters.

func (*URLMapHostRuleParameters) DeepCopyInto

func (in *URLMapHostRuleParameters) DeepCopyInto(out *URLMapHostRuleParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapInitParameters

type URLMapInitParameters struct {

	// defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions
	// like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend.
	// If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService
	// is set, defaultRouteAction cannot contain any weightedBackendServices.
	// Only one of defaultRouteAction or defaultUrlRedirect must be set.
	// Structure is documented below.
	DefaultRouteAction *URLMapDefaultRouteActionInitParameters `json:"defaultRouteAction,omitempty" tf:"default_route_action,omitempty"`

	// The backend service or backend bucket to use when none of the given rules match.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.BackendBucket
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"`

	// Reference to a BackendBucket in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceRef *v1.Reference `json:"defaultServiceRef,omitempty" tf:"-"`

	// Selector for a BackendBucket in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceSelector *v1.Selector `json:"defaultServiceSelector,omitempty" tf:"-"`

	// When none of the specified hostRules match, the request is redirected to a URL specified
	// by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
	// defaultRouteAction must not be set.
	// Structure is documented below.
	DefaultURLRedirect *URLMapDefaultURLRedirectInitParameters `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"`

	// An optional description of this resource. Provide this property when you create
	// the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. The headerAction specified here take effect after
	// headerAction specified under pathMatcher.
	// Structure is documented below.
	HeaderAction *URLMapHeaderActionInitParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// The list of HostRules to use against the URL.
	// Structure is documented below.
	HostRule []URLMapHostRuleInitParameters `json:"hostRule,omitempty" tf:"host_rule,omitempty"`

	// The list of named PathMatchers to use against the URL.
	// Structure is documented below.
	PathMatcher []URLMapPathMatcherInitParameters `json:"pathMatcher,omitempty" tf:"path_matcher,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The list of expected URL mapping tests. Request to update this UrlMap will
	// succeed only if all of the test cases pass. You can specify a maximum of 100
	// tests per UrlMap.
	// Structure is documented below.
	Test []URLMapTestInitParameters `json:"test,omitempty" tf:"test,omitempty"`
}

func (*URLMapInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapInitParameters.

func (*URLMapInitParameters) DeepCopyInto

func (in *URLMapInitParameters) DeepCopyInto(out *URLMapInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapList

type URLMapList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []URLMap `json:"items"`
}

URLMapList contains a list of URLMaps

func (*URLMapList) DeepCopy

func (in *URLMapList) DeepCopy() *URLMapList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapList.

func (*URLMapList) DeepCopyInto

func (in *URLMapList) DeepCopyInto(out *URLMapList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*URLMapList) DeepCopyObject

func (in *URLMapList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*URLMapList) GetItems

func (l *URLMapList) GetItems() []resource.Managed

GetItems of this URLMapList.

type URLMapObservation

type URLMapObservation struct {

	// Creation timestamp in RFC3339 text format.
	CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"`

	// defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions
	// like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend.
	// If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService
	// is set, defaultRouteAction cannot contain any weightedBackendServices.
	// Only one of defaultRouteAction or defaultUrlRedirect must be set.
	// Structure is documented below.
	DefaultRouteAction *URLMapDefaultRouteActionObservation `json:"defaultRouteAction,omitempty" tf:"default_route_action,omitempty"`

	// The backend service or backend bucket to use when none of the given rules match.
	DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"`

	// When none of the specified hostRules match, the request is redirected to a URL specified
	// by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
	// defaultRouteAction must not be set.
	// Structure is documented below.
	DefaultURLRedirect *URLMapDefaultURLRedirectObservation `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"`

	// An optional description of this resource. Provide this property when you create
	// the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Fingerprint of this resource. A hash of the contents stored in this object. This
	// field is used in optimistic locking.
	Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. The headerAction specified here take effect after
	// headerAction specified under pathMatcher.
	// Structure is documented below.
	HeaderAction *URLMapHeaderActionObservation `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// The list of HostRules to use against the URL.
	// Structure is documented below.
	HostRule []URLMapHostRuleObservation `json:"hostRule,omitempty" tf:"host_rule,omitempty"`

	// an identifier for the resource with format projects/{{project}}/global/urlMaps/{{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The unique identifier for the resource.
	MapID *float64 `json:"mapId,omitempty" tf:"map_id,omitempty"`

	// The list of named PathMatchers to use against the URL.
	// Structure is documented below.
	PathMatcher []URLMapPathMatcherObservation `json:"pathMatcher,omitempty" tf:"path_matcher,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The URI of the created resource.
	SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"`

	// The list of expected URL mapping tests. Request to update this UrlMap will
	// succeed only if all of the test cases pass. You can specify a maximum of 100
	// tests per UrlMap.
	// Structure is documented below.
	Test []URLMapTestObservation `json:"test,omitempty" tf:"test,omitempty"`
}

func (*URLMapObservation) DeepCopy

func (in *URLMapObservation) DeepCopy() *URLMapObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapObservation.

func (*URLMapObservation) DeepCopyInto

func (in *URLMapObservation) DeepCopyInto(out *URLMapObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapParameters

type URLMapParameters struct {

	// defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions
	// like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend.
	// If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService
	// is set, defaultRouteAction cannot contain any weightedBackendServices.
	// Only one of defaultRouteAction or defaultUrlRedirect must be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	DefaultRouteAction *URLMapDefaultRouteActionParameters `json:"defaultRouteAction,omitempty" tf:"default_route_action,omitempty"`

	// The backend service or backend bucket to use when none of the given rules match.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.BackendBucket
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"`

	// Reference to a BackendBucket in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceRef *v1.Reference `json:"defaultServiceRef,omitempty" tf:"-"`

	// Selector for a BackendBucket in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceSelector *v1.Selector `json:"defaultServiceSelector,omitempty" tf:"-"`

	// When none of the specified hostRules match, the request is redirected to a URL specified
	// by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
	// defaultRouteAction must not be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	DefaultURLRedirect *URLMapDefaultURLRedirectParameters `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"`

	// An optional description of this resource. Provide this property when you create
	// the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. The headerAction specified here take effect after
	// headerAction specified under pathMatcher.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HeaderAction *URLMapHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// The list of HostRules to use against the URL.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HostRule []URLMapHostRuleParameters `json:"hostRule,omitempty" tf:"host_rule,omitempty"`

	// The list of named PathMatchers to use against the URL.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	PathMatcher []URLMapPathMatcherParameters `json:"pathMatcher,omitempty" tf:"path_matcher,omitempty"`

	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	// +kubebuilder:validation:Optional
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// The list of expected URL mapping tests. Request to update this UrlMap will
	// succeed only if all of the test cases pass. You can specify a maximum of 100
	// tests per UrlMap.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Test []URLMapTestParameters `json:"test,omitempty" tf:"test,omitempty"`
}

func (*URLMapParameters) DeepCopy

func (in *URLMapParameters) DeepCopy() *URLMapParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapParameters.

func (*URLMapParameters) DeepCopyInto

func (in *URLMapParameters) DeepCopyInto(out *URLMapParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapPathMatcherDefaultURLRedirectInitParameters

type URLMapPathMatcherDefaultURLRedirectInitParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained.
	// This field is required to ensure an empty block is not set. The normal default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*URLMapPathMatcherDefaultURLRedirectInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapPathMatcherDefaultURLRedirectInitParameters.

func (*URLMapPathMatcherDefaultURLRedirectInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapPathMatcherDefaultURLRedirectObservation

type URLMapPathMatcherDefaultURLRedirectObservation struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained.
	// This field is required to ensure an empty block is not set. The normal default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*URLMapPathMatcherDefaultURLRedirectObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapPathMatcherDefaultURLRedirectObservation.

func (*URLMapPathMatcherDefaultURLRedirectObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapPathMatcherDefaultURLRedirectParameters

type URLMapPathMatcherDefaultURLRedirectParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	// +kubebuilder:validation:Optional
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	// +kubebuilder:validation:Optional
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	// +kubebuilder:validation:Optional
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained.
	// This field is required to ensure an empty block is not set. The normal default value is false.
	// +kubebuilder:validation:Optional
	StripQuery *bool `json:"stripQuery" tf:"strip_query,omitempty"`
}

func (*URLMapPathMatcherDefaultURLRedirectParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapPathMatcherDefaultURLRedirectParameters.

func (*URLMapPathMatcherDefaultURLRedirectParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapPathMatcherInitParameters

type URLMapPathMatcherInitParameters struct {

	// defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs
	// advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request
	// to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set.
	// Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.
	// Only one of defaultRouteAction or defaultUrlRedirect must be set.
	// Structure is documented below.
	DefaultRouteAction *PathMatcherDefaultRouteActionInitParameters `json:"defaultRouteAction,omitempty" tf:"default_route_action,omitempty"`

	// The backend service or backend bucket to use when none of the given paths match.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.BackendBucket
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"`

	// Reference to a BackendBucket in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceRef *v1.Reference `json:"defaultServiceRef,omitempty" tf:"-"`

	// Selector for a BackendBucket in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceSelector *v1.Selector `json:"defaultServiceSelector,omitempty" tf:"-"`

	// When none of the specified hostRules match, the request is redirected to a URL specified
	// by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
	// defaultRouteAction must not be set.
	// Structure is documented below.
	DefaultURLRedirect *URLMapPathMatcherDefaultURLRedirectInitParameters `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"`

	// An optional description of this resource. Provide this property when you create
	// the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. HeaderAction specified here are applied after the
	// matching HttpRouteRule HeaderAction and before the HeaderAction in the UrlMap
	// Structure is documented below.
	HeaderAction *PathMatcherHeaderActionInitParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// The name to which this PathMatcher is referred by the HostRule.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The list of path rules. Use this list instead of routeRules when routing based
	// on simple path matching is all that's required. The order by which path rules
	// are specified does not matter. Matches are always done on the longest-path-first
	// basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/*
	// irrespective of the order in which those paths appear in this list. Within a
	// given pathMatcher, only one of pathRules or routeRules must be set.
	// Structure is documented below.
	PathRule []PathMatcherPathRuleInitParameters `json:"pathRule,omitempty" tf:"path_rule,omitempty"`

	// The list of ordered HTTP route rules. Use this list instead of pathRules when
	// advanced route matching and routing actions are desired. The order of specifying
	// routeRules matters: the first rule that matches will cause its specified routing
	// action to take effect. Within a given pathMatcher, only one of pathRules or
	// routeRules must be set. routeRules are not supported in UrlMaps intended for
	// External load balancers.
	// Structure is documented below.
	RouteRules []PathMatcherRouteRulesInitParameters `json:"routeRules,omitempty" tf:"route_rules,omitempty"`
}

func (*URLMapPathMatcherInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapPathMatcherInitParameters.

func (*URLMapPathMatcherInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapPathMatcherObservation

type URLMapPathMatcherObservation struct {

	// defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs
	// advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request
	// to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set.
	// Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.
	// Only one of defaultRouteAction or defaultUrlRedirect must be set.
	// Structure is documented below.
	DefaultRouteAction *PathMatcherDefaultRouteActionObservation `json:"defaultRouteAction,omitempty" tf:"default_route_action,omitempty"`

	// The backend service or backend bucket to use when none of the given paths match.
	DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"`

	// When none of the specified hostRules match, the request is redirected to a URL specified
	// by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
	// defaultRouteAction must not be set.
	// Structure is documented below.
	DefaultURLRedirect *URLMapPathMatcherDefaultURLRedirectObservation `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"`

	// An optional description of this resource. Provide this property when you create
	// the resource.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. HeaderAction specified here are applied after the
	// matching HttpRouteRule HeaderAction and before the HeaderAction in the UrlMap
	// Structure is documented below.
	HeaderAction *PathMatcherHeaderActionObservation `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// The name to which this PathMatcher is referred by the HostRule.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The list of path rules. Use this list instead of routeRules when routing based
	// on simple path matching is all that's required. The order by which path rules
	// are specified does not matter. Matches are always done on the longest-path-first
	// basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/*
	// irrespective of the order in which those paths appear in this list. Within a
	// given pathMatcher, only one of pathRules or routeRules must be set.
	// Structure is documented below.
	PathRule []PathMatcherPathRuleObservation `json:"pathRule,omitempty" tf:"path_rule,omitempty"`

	// The list of ordered HTTP route rules. Use this list instead of pathRules when
	// advanced route matching and routing actions are desired. The order of specifying
	// routeRules matters: the first rule that matches will cause its specified routing
	// action to take effect. Within a given pathMatcher, only one of pathRules or
	// routeRules must be set. routeRules are not supported in UrlMaps intended for
	// External load balancers.
	// Structure is documented below.
	RouteRules []PathMatcherRouteRulesObservation `json:"routeRules,omitempty" tf:"route_rules,omitempty"`
}

func (*URLMapPathMatcherObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapPathMatcherObservation.

func (*URLMapPathMatcherObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapPathMatcherParameters

type URLMapPathMatcherParameters struct {

	// defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs
	// advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request
	// to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set.
	// Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.
	// Only one of defaultRouteAction or defaultUrlRedirect must be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	DefaultRouteAction *PathMatcherDefaultRouteActionParameters `json:"defaultRouteAction,omitempty" tf:"default_route_action,omitempty"`

	// The backend service or backend bucket to use when none of the given paths match.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.BackendBucket
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"`

	// Reference to a BackendBucket in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceRef *v1.Reference `json:"defaultServiceRef,omitempty" tf:"-"`

	// Selector for a BackendBucket in compute to populate defaultService.
	// +kubebuilder:validation:Optional
	DefaultServiceSelector *v1.Selector `json:"defaultServiceSelector,omitempty" tf:"-"`

	// When none of the specified hostRules match, the request is redirected to a URL specified
	// by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
	// defaultRouteAction must not be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	DefaultURLRedirect *URLMapPathMatcherDefaultURLRedirectParameters `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"`

	// An optional description of this resource. Provide this property when you create
	// the resource.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. HeaderAction specified here are applied after the
	// matching HttpRouteRule HeaderAction and before the HeaderAction in the UrlMap
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HeaderAction *PathMatcherHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// The name to which this PathMatcher is referred by the HostRule.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The list of path rules. Use this list instead of routeRules when routing based
	// on simple path matching is all that's required. The order by which path rules
	// are specified does not matter. Matches are always done on the longest-path-first
	// basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/*
	// irrespective of the order in which those paths appear in this list. Within a
	// given pathMatcher, only one of pathRules or routeRules must be set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	PathRule []PathMatcherPathRuleParameters `json:"pathRule,omitempty" tf:"path_rule,omitempty"`

	// The list of ordered HTTP route rules. Use this list instead of pathRules when
	// advanced route matching and routing actions are desired. The order of specifying
	// routeRules matters: the first rule that matches will cause its specified routing
	// action to take effect. Within a given pathMatcher, only one of pathRules or
	// routeRules must be set. routeRules are not supported in UrlMaps intended for
	// External load balancers.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RouteRules []PathMatcherRouteRulesParameters `json:"routeRules,omitempty" tf:"route_rules,omitempty"`
}

func (*URLMapPathMatcherParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapPathMatcherParameters.

func (*URLMapPathMatcherParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapSpec

type URLMapSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     URLMapParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider URLMapInitParameters `json:"initProvider,omitempty"`
}

URLMapSpec defines the desired state of URLMap

func (*URLMapSpec) DeepCopy

func (in *URLMapSpec) DeepCopy() *URLMapSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapSpec.

func (*URLMapSpec) DeepCopyInto

func (in *URLMapSpec) DeepCopyInto(out *URLMapSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapStatus

type URLMapStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        URLMapObservation `json:"atProvider,omitempty"`
}

URLMapStatus defines the observed state of URLMap.

func (*URLMapStatus) DeepCopy

func (in *URLMapStatus) DeepCopy() *URLMapStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapStatus.

func (*URLMapStatus) DeepCopyInto

func (in *URLMapStatus) DeepCopyInto(out *URLMapStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapTestInitParameters

type URLMapTestInitParameters struct {

	// Description of this test case.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Host portion of the URL.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// Path portion of the URL.
	Path *string `json:"path,omitempty" tf:"path,omitempty"`

	// The backend service or backend bucket link that should be matched by this test.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.BackendBucket
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// Reference to a BackendBucket in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"`

	// Selector for a BackendBucket in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"`
}

func (*URLMapTestInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapTestInitParameters.

func (*URLMapTestInitParameters) DeepCopyInto

func (in *URLMapTestInitParameters) DeepCopyInto(out *URLMapTestInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapTestObservation

type URLMapTestObservation struct {

	// Description of this test case.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Host portion of the URL.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// Path portion of the URL.
	Path *string `json:"path,omitempty" tf:"path,omitempty"`

	// The backend service or backend bucket link that should be matched by this test.
	Service *string `json:"service,omitempty" tf:"service,omitempty"`
}

func (*URLMapTestObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapTestObservation.

func (*URLMapTestObservation) DeepCopyInto

func (in *URLMapTestObservation) DeepCopyInto(out *URLMapTestObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLMapTestParameters

type URLMapTestParameters struct {

	// Description of this test case.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Host portion of the URL.
	// +kubebuilder:validation:Optional
	Host *string `json:"host" tf:"host,omitempty"`

	// Path portion of the URL.
	// +kubebuilder:validation:Optional
	Path *string `json:"path" tf:"path,omitempty"`

	// The backend service or backend bucket link that should be matched by this test.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.BackendBucket
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	Service *string `json:"service,omitempty" tf:"service,omitempty"`

	// Reference to a BackendBucket in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceRef *v1.Reference `json:"serviceRef,omitempty" tf:"-"`

	// Selector for a BackendBucket in compute to populate service.
	// +kubebuilder:validation:Optional
	ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"`
}

func (*URLMapTestParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapTestParameters.

func (*URLMapTestParameters) DeepCopyInto

func (in *URLMapTestParameters) DeepCopyInto(out *URLMapTestParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLRedirectInitParameters

type URLRedirectInitParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained. The default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*URLRedirectInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRedirectInitParameters.

func (*URLRedirectInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLRedirectObservation

type URLRedirectObservation struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained. The default value is false.
	StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"`
}

func (*URLRedirectObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRedirectObservation.

func (*URLRedirectObservation) DeepCopyInto

func (in *URLRedirectObservation) DeepCopyInto(out *URLRedirectObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLRedirectParameters

type URLRedirectParameters struct {

	// If set to true, the URL scheme in the redirected request is set to https.
	// If set to false, the URL scheme of the redirected request will remain the
	// same as that of the request. This must only be set for UrlMaps used in
	// TargetHttpProxys. Setting this true for TargetHttpsProxy is not
	// permitted. The default is set to false.
	// +kubebuilder:validation:Optional
	HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"`

	// The host that will be used in the redirect response instead of the one
	// that was supplied in the request. The value must be between 1 and 255
	// characters.
	// +kubebuilder:validation:Optional
	HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"`

	// The path that will be used in the redirect response instead of the one
	// that was supplied in the request. pathRedirect cannot be supplied
	// together with prefixRedirect. Supply one alone or neither. If neither is
	// supplied, the path of the original request will be used for the redirect.
	// The value must be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"`

	// The prefix that replaces the prefixMatch specified in the
	// HttpRouteRuleMatch, retaining the remaining portion of the URL before
	// redirecting the request. prefixRedirect cannot be supplied together with
	// pathRedirect. Supply one alone or neither. If neither is supplied, the
	// path of the original request will be used for the redirect. The value
	// must be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"`

	// The HTTP Status code to use for this RedirectAction. Supported values are:
	// +kubebuilder:validation:Optional
	RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"`

	// If set to true, any accompanying query portion of the original URL is
	// removed prior to redirecting the request. If set to false, the query
	// portion of the original URL is retained. The default value is false.
	// +kubebuilder:validation:Optional
	StripQuery *bool `json:"stripQuery" tf:"strip_query,omitempty"`
}

func (*URLRedirectParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRedirectParameters.

func (*URLRedirectParameters) DeepCopyInto

func (in *URLRedirectParameters) DeepCopyInto(out *URLRedirectParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLRewriteInitParameters

type URLRewriteInitParameters struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*URLRewriteInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRewriteInitParameters.

func (*URLRewriteInitParameters) DeepCopyInto

func (in *URLRewriteInitParameters) DeepCopyInto(out *URLRewriteInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLRewriteObservation

type URLRewriteObservation struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*URLRewriteObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRewriteObservation.

func (*URLRewriteObservation) DeepCopyInto

func (in *URLRewriteObservation) DeepCopyInto(out *URLRewriteObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type URLRewriteParameters

type URLRewriteParameters struct {

	// Prior to forwarding the request to the selected service, the request's host
	// header is replaced with contents of hostRewrite. The value must be between 1 and
	// 255 characters.
	// +kubebuilder:validation:Optional
	HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"`

	// Prior to forwarding the request to the selected backend service, the matching
	// portion of the request's path is replaced by pathPrefixRewrite. The value must
	// be between 1 and 1024 characters.
	// +kubebuilder:validation:Optional
	PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"`
}

func (*URLRewriteParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRewriteParameters.

func (*URLRewriteParameters) DeepCopyInto

func (in *URLRewriteParameters) DeepCopyInto(out *URLRewriteParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UpdatePolicyInitParameters

type UpdatePolicyInitParameters struct {

	// , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with max_surge_percent. If neither is set, defaults to 1
	MaxSurgeFixed *float64 `json:"maxSurgeFixed,omitempty" tf:"max_surge_fixed,omitempty"`

	// , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with max_surge_fixed.
	MaxSurgePercent *float64 `json:"maxSurgePercent,omitempty" tf:"max_surge_percent,omitempty"`

	// , The maximum number of instances that can be unavailable during the update process. Conflicts with max_unavailable_percent. If neither is set, defaults to 1
	MaxUnavailableFixed *float64 `json:"maxUnavailableFixed,omitempty" tf:"max_unavailable_fixed,omitempty"`

	// , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed.
	MaxUnavailablePercent *float64 `json:"maxUnavailablePercent,omitempty" tf:"max_unavailable_percent,omitempty"`

	// - Minimal action to be taken on an instance. You can specify either REFRESH to update without stopping instances, RESTART to restart existing instances or REPLACE to delete and create new instances from the target template. If you specify a REFRESH, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action.
	MinimalAction *string `json:"minimalAction,omitempty" tf:"minimal_action,omitempty"`

	// - Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
	MostDisruptiveAllowedAction *string `json:"mostDisruptiveAllowedAction,omitempty" tf:"most_disruptive_allowed_action,omitempty"`

	// , The instance replacement method for managed instance groups. Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved.  You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0.
	ReplacementMethod *string `json:"replacementMethod,omitempty" tf:"replacement_method,omitempty"`

	// - The type of update process. You can specify either PROACTIVE so that the instance group manager proactively executes actions in order to bring instances to their target versions or OPPORTUNISTIC so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*UpdatePolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdatePolicyInitParameters.

func (*UpdatePolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UpdatePolicyObservation

type UpdatePolicyObservation struct {

	// , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with max_surge_percent. If neither is set, defaults to 1
	MaxSurgeFixed *float64 `json:"maxSurgeFixed,omitempty" tf:"max_surge_fixed,omitempty"`

	// , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with max_surge_fixed.
	MaxSurgePercent *float64 `json:"maxSurgePercent,omitempty" tf:"max_surge_percent,omitempty"`

	// , The maximum number of instances that can be unavailable during the update process. Conflicts with max_unavailable_percent. If neither is set, defaults to 1
	MaxUnavailableFixed *float64 `json:"maxUnavailableFixed,omitempty" tf:"max_unavailable_fixed,omitempty"`

	// , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed.
	MaxUnavailablePercent *float64 `json:"maxUnavailablePercent,omitempty" tf:"max_unavailable_percent,omitempty"`

	// - Minimal action to be taken on an instance. You can specify either REFRESH to update without stopping instances, RESTART to restart existing instances or REPLACE to delete and create new instances from the target template. If you specify a REFRESH, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action.
	MinimalAction *string `json:"minimalAction,omitempty" tf:"minimal_action,omitempty"`

	// - Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
	MostDisruptiveAllowedAction *string `json:"mostDisruptiveAllowedAction,omitempty" tf:"most_disruptive_allowed_action,omitempty"`

	// , The instance replacement method for managed instance groups. Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved.  You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0.
	ReplacementMethod *string `json:"replacementMethod,omitempty" tf:"replacement_method,omitempty"`

	// - The type of update process. You can specify either PROACTIVE so that the instance group manager proactively executes actions in order to bring instances to their target versions or OPPORTUNISTIC so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*UpdatePolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdatePolicyObservation.

func (*UpdatePolicyObservation) DeepCopyInto

func (in *UpdatePolicyObservation) DeepCopyInto(out *UpdatePolicyObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UpdatePolicyParameters

type UpdatePolicyParameters struct {

	// , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with max_surge_percent. If neither is set, defaults to 1
	// +kubebuilder:validation:Optional
	MaxSurgeFixed *float64 `json:"maxSurgeFixed,omitempty" tf:"max_surge_fixed,omitempty"`

	// , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with max_surge_fixed.
	// +kubebuilder:validation:Optional
	MaxSurgePercent *float64 `json:"maxSurgePercent,omitempty" tf:"max_surge_percent,omitempty"`

	// , The maximum number of instances that can be unavailable during the update process. Conflicts with max_unavailable_percent. If neither is set, defaults to 1
	// +kubebuilder:validation:Optional
	MaxUnavailableFixed *float64 `json:"maxUnavailableFixed,omitempty" tf:"max_unavailable_fixed,omitempty"`

	// , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed.
	// +kubebuilder:validation:Optional
	MaxUnavailablePercent *float64 `json:"maxUnavailablePercent,omitempty" tf:"max_unavailable_percent,omitempty"`

	// - Minimal action to be taken on an instance. You can specify either REFRESH to update without stopping instances, RESTART to restart existing instances or REPLACE to delete and create new instances from the target template. If you specify a REFRESH, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action.
	// +kubebuilder:validation:Optional
	MinimalAction *string `json:"minimalAction" tf:"minimal_action,omitempty"`

	// - Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
	// +kubebuilder:validation:Optional
	MostDisruptiveAllowedAction *string `json:"mostDisruptiveAllowedAction,omitempty" tf:"most_disruptive_allowed_action,omitempty"`

	// , The instance replacement method for managed instance groups. Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved.  You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0.
	// +kubebuilder:validation:Optional
	ReplacementMethod *string `json:"replacementMethod,omitempty" tf:"replacement_method,omitempty"`

	// - The type of update process. You can specify either PROACTIVE so that the instance group manager proactively executes actions in order to bring instances to their target versions or OPPORTUNISTIC so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls).
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*UpdatePolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdatePolicyParameters.

func (*UpdatePolicyParameters) DeepCopyInto

func (in *UpdatePolicyParameters) DeepCopyInto(out *UpdatePolicyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VMStartScheduleInitParameters

type VMStartScheduleInitParameters struct {

	// Specifies the frequency for the operation, using the unix-cron format.
	Schedule *string `json:"schedule,omitempty" tf:"schedule,omitempty"`
}

func (*VMStartScheduleInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMStartScheduleInitParameters.

func (*VMStartScheduleInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VMStartScheduleObservation

type VMStartScheduleObservation struct {

	// Specifies the frequency for the operation, using the unix-cron format.
	Schedule *string `json:"schedule,omitempty" tf:"schedule,omitempty"`
}

func (*VMStartScheduleObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMStartScheduleObservation.

func (*VMStartScheduleObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VMStartScheduleParameters

type VMStartScheduleParameters struct {

	// Specifies the frequency for the operation, using the unix-cron format.
	// +kubebuilder:validation:Optional
	Schedule *string `json:"schedule" tf:"schedule,omitempty"`
}

func (*VMStartScheduleParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMStartScheduleParameters.

func (*VMStartScheduleParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VMStopScheduleInitParameters

type VMStopScheduleInitParameters struct {

	// Specifies the frequency for the operation, using the unix-cron format.
	Schedule *string `json:"schedule,omitempty" tf:"schedule,omitempty"`
}

func (*VMStopScheduleInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMStopScheduleInitParameters.

func (*VMStopScheduleInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VMStopScheduleObservation

type VMStopScheduleObservation struct {

	// Specifies the frequency for the operation, using the unix-cron format.
	Schedule *string `json:"schedule,omitempty" tf:"schedule,omitempty"`
}

func (*VMStopScheduleObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMStopScheduleObservation.

func (*VMStopScheduleObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VMStopScheduleParameters

type VMStopScheduleParameters struct {

	// Specifies the frequency for the operation, using the unix-cron format.
	// +kubebuilder:validation:Optional
	Schedule *string `json:"schedule" tf:"schedule,omitempty"`
}

func (*VMStopScheduleParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMStopScheduleParameters.

func (*VMStopScheduleParameters) DeepCopyInto

func (in *VMStopScheduleParameters) DeepCopyInto(out *VMStopScheduleParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VersionInitParameters

type VersionInitParameters struct {

	// - The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (self_link_unique attribute).
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.InstanceTemplate
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID()
	InstanceTemplate *string `json:"instanceTemplate,omitempty" tf:"instance_template,omitempty"`

	// Reference to a InstanceTemplate in compute to populate instanceTemplate.
	// +kubebuilder:validation:Optional
	InstanceTemplateRef *v1.Reference `json:"instanceTemplateRef,omitempty" tf:"-"`

	// Selector for a InstanceTemplate in compute to populate instanceTemplate.
	// +kubebuilder:validation:Optional
	InstanceTemplateSelector *v1.Selector `json:"instanceTemplateSelector,omitempty" tf:"-"`

	// - Version name.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// - The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.
	TargetSize *TargetSizeInitParameters `json:"targetSize,omitempty" tf:"target_size,omitempty"`
}

func (*VersionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionInitParameters.

func (*VersionInitParameters) DeepCopyInto

func (in *VersionInitParameters) DeepCopyInto(out *VersionInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VersionObservation

type VersionObservation struct {

	// - The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (self_link_unique attribute).
	InstanceTemplate *string `json:"instanceTemplate,omitempty" tf:"instance_template,omitempty"`

	// - Version name.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// - The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.
	TargetSize *TargetSizeObservation `json:"targetSize,omitempty" tf:"target_size,omitempty"`
}

func (*VersionObservation) DeepCopy

func (in *VersionObservation) DeepCopy() *VersionObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionObservation.

func (*VersionObservation) DeepCopyInto

func (in *VersionObservation) DeepCopyInto(out *VersionObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VersionParameters

type VersionParameters struct {

	// - The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (self_link_unique attribute).
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.InstanceTemplate
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-gcp/config/common.ExtractResourceID()
	// +kubebuilder:validation:Optional
	InstanceTemplate *string `json:"instanceTemplate,omitempty" tf:"instance_template,omitempty"`

	// Reference to a InstanceTemplate in compute to populate instanceTemplate.
	// +kubebuilder:validation:Optional
	InstanceTemplateRef *v1.Reference `json:"instanceTemplateRef,omitempty" tf:"-"`

	// Selector for a InstanceTemplate in compute to populate instanceTemplate.
	// +kubebuilder:validation:Optional
	InstanceTemplateSelector *v1.Selector `json:"instanceTemplateSelector,omitempty" tf:"-"`

	// - Version name.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// - The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.
	// +kubebuilder:validation:Optional
	TargetSize *TargetSizeParameters `json:"targetSize,omitempty" tf:"target_size,omitempty"`
}

func (*VersionParameters) DeepCopy

func (in *VersionParameters) DeepCopy() *VersionParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionParameters.

func (*VersionParameters) DeepCopyInto

func (in *VersionParameters) DeepCopyInto(out *VersionParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VersionTargetInitParameters

type VersionTargetInitParameters struct {
}

func (*VersionTargetInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionTargetInitParameters.

func (*VersionTargetInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VersionTargetObservation

type VersionTargetObservation struct {
	IsReached *bool `json:"isReached,omitempty" tf:"is_reached,omitempty"`
}

func (*VersionTargetObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionTargetObservation.

func (*VersionTargetObservation) DeepCopyInto

func (in *VersionTargetObservation) DeepCopyInto(out *VersionTargetObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VersionTargetParameters

type VersionTargetParameters struct {
}

func (*VersionTargetParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionTargetParameters.

func (*VersionTargetParameters) DeepCopyInto

func (in *VersionTargetParameters) DeepCopyInto(out *VersionTargetParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VersionTargetSizeInitParameters

type VersionTargetSizeInitParameters struct {

	// , The number of instances which are managed for this version. Conflicts with percent.
	Fixed *float64 `json:"fixed,omitempty" tf:"fixed,omitempty"`

	// , The number of instances (calculated as percentage) which are managed for this version. Conflicts with fixed.
	// Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions,
	// one of which has a target_size.percent of 60 will create 2 instances of that version.
	Percent *float64 `json:"percent,omitempty" tf:"percent,omitempty"`
}

func (*VersionTargetSizeInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionTargetSizeInitParameters.

func (*VersionTargetSizeInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VersionTargetSizeObservation

type VersionTargetSizeObservation struct {

	// , The number of instances which are managed for this version. Conflicts with percent.
	Fixed *float64 `json:"fixed,omitempty" tf:"fixed,omitempty"`

	// , The number of instances (calculated as percentage) which are managed for this version. Conflicts with fixed.
	// Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions,
	// one of which has a target_size.percent of 60 will create 2 instances of that version.
	Percent *float64 `json:"percent,omitempty" tf:"percent,omitempty"`
}

func (*VersionTargetSizeObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionTargetSizeObservation.

func (*VersionTargetSizeObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VersionTargetSizeParameters

type VersionTargetSizeParameters struct {

	// , The number of instances which are managed for this version. Conflicts with percent.
	// +kubebuilder:validation:Optional
	Fixed *float64 `json:"fixed,omitempty" tf:"fixed,omitempty"`

	// , The number of instances (calculated as percentage) which are managed for this version. Conflicts with fixed.
	// Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions,
	// one of which has a target_size.percent of 60 will create 2 instances of that version.
	// +kubebuilder:validation:Optional
	Percent *float64 `json:"percent,omitempty" tf:"percent,omitempty"`
}

func (*VersionTargetSizeParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionTargetSizeParameters.

func (*VersionTargetSizeParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeeklyScheduleInitParameters

type WeeklyScheduleInitParameters struct {

	// May contain up to seven (one for each day of the week) snapshot times.
	// Structure is documented below.
	DayOfWeeks []DayOfWeeksInitParameters `json:"dayOfWeeks,omitempty" tf:"day_of_weeks,omitempty"`
}

func (*WeeklyScheduleInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeeklyScheduleInitParameters.

func (*WeeklyScheduleInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeeklyScheduleObservation

type WeeklyScheduleObservation struct {

	// May contain up to seven (one for each day of the week) snapshot times.
	// Structure is documented below.
	DayOfWeeks []DayOfWeeksObservation `json:"dayOfWeeks,omitempty" tf:"day_of_weeks,omitempty"`
}

func (*WeeklyScheduleObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeeklyScheduleObservation.

func (*WeeklyScheduleObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeeklyScheduleParameters

type WeeklyScheduleParameters struct {

	// May contain up to seven (one for each day of the week) snapshot times.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	DayOfWeeks []DayOfWeeksParameters `json:"dayOfWeeks" tf:"day_of_weeks,omitempty"`
}

func (*WeeklyScheduleParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeeklyScheduleParameters.

func (*WeeklyScheduleParameters) DeepCopyInto

func (in *WeeklyScheduleParameters) DeepCopyInto(out *WeeklyScheduleParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeightedBackendServicesHeaderActionInitParameters

type WeightedBackendServicesHeaderActionInitParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []HeaderActionRequestHeadersToAddInitParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []HeaderActionResponseHeadersToAddInitParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*WeightedBackendServicesHeaderActionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesHeaderActionInitParameters.

func (*WeightedBackendServicesHeaderActionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeightedBackendServicesHeaderActionObservation

type WeightedBackendServicesHeaderActionObservation struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	RequestHeadersToAdd []HeaderActionRequestHeadersToAddObservation `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	ResponseHeadersToAdd []HeaderActionResponseHeadersToAddObservation `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*WeightedBackendServicesHeaderActionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesHeaderActionObservation.

func (*WeightedBackendServicesHeaderActionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeightedBackendServicesHeaderActionParameters

type WeightedBackendServicesHeaderActionParameters struct {

	// Headers to add to a matching request prior to forwarding the request to the
	// backendService.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	RequestHeadersToAdd []HeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the request
	// prior to forwarding the request to the backendService.
	// +kubebuilder:validation:Optional
	RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"`

	// Headers to add the response prior to sending the response back to the client.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	ResponseHeadersToAdd []HeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"`

	// A list of header names for headers that need to be removed from the response
	// prior to sending the response back to the client.
	// +kubebuilder:validation:Optional
	ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"`
}

func (*WeightedBackendServicesHeaderActionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesHeaderActionParameters.

func (*WeightedBackendServicesHeaderActionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters

type WeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*WeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters.

func (*WeightedBackendServicesHeaderActionRequestHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeightedBackendServicesHeaderActionRequestHeadersToAddObservation

type WeightedBackendServicesHeaderActionRequestHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*WeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesHeaderActionRequestHeadersToAddObservation.

func (*WeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeightedBackendServicesHeaderActionRequestHeadersToAddParameters

type WeightedBackendServicesHeaderActionRequestHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*WeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesHeaderActionRequestHeadersToAddParameters.

func (*WeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters

type WeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*WeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters.

func (*WeightedBackendServicesHeaderActionResponseHeadersToAddInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeightedBackendServicesHeaderActionResponseHeadersToAddObservation

type WeightedBackendServicesHeaderActionResponseHeadersToAddObservation struct {

	// The name of the header.
	HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"`

	// The value of the header to add.
	HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"`
}

func (*WeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesHeaderActionResponseHeadersToAddObservation.

func (*WeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeightedBackendServicesHeaderActionResponseHeadersToAddParameters

type WeightedBackendServicesHeaderActionResponseHeadersToAddParameters struct {

	// The name of the header.
	// +kubebuilder:validation:Optional
	HeaderName *string `json:"headerName" tf:"header_name,omitempty"`

	// The value of the header to add.
	// +kubebuilder:validation:Optional
	HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"`

	// If false, headerValue is appended to any values that already exist for the
	// header. If true, headerValue is set for the header, discarding any values that
	// were set for that header.
	// +kubebuilder:validation:Optional
	Replace *bool `json:"replace" tf:"replace,omitempty"`
}

func (*WeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesHeaderActionResponseHeadersToAddParameters.

func (*WeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeightedBackendServicesInitParameters

type WeightedBackendServicesInitParameters struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Reference to a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *HeaderActionInitParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*WeightedBackendServicesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesInitParameters.

func (*WeightedBackendServicesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeightedBackendServicesObservation

type WeightedBackendServicesObservation struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	HeaderAction *HeaderActionObservation `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*WeightedBackendServicesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesObservation.

func (*WeightedBackendServicesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeightedBackendServicesParameters

type WeightedBackendServicesParameters struct {

	// The default RegionBackendService resource. Before
	// forwarding the request to backendService, the loadbalancer applies any relevant
	// headerActions specified as part of this backendServiceWeight.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta2.RegionBackendService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"`

	// Reference to a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceRef *v1.Reference `json:"backendServiceRef,omitempty" tf:"-"`

	// Selector for a RegionBackendService in compute to populate backendService.
	// +kubebuilder:validation:Optional
	BackendServiceSelector *v1.Selector `json:"backendServiceSelector,omitempty" tf:"-"`

	// Specifies changes to request and response headers that need to take effect for
	// the selected backendService. headerAction specified here take effect before
	// headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	HeaderAction *HeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"`

	// Specifies the fraction of traffic sent to backendService, computed as weight /
	// (sum of all weightedBackendService weights in routeAction) . The selection of a
	// backend service is determined only for new traffic. Once a user's request has
	// been directed to a backendService, subsequent requests will be sent to the same
	// backendService as determined by the BackendService's session affinity policy.
	// The value must be between 0 and 1000
	// +kubebuilder:validation:Optional
	Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}

func (*WeightedBackendServicesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesParameters.

func (*WeightedBackendServicesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL