Documentation
¶
Overview ¶
+kubebuilder:object:generate=true +groupName=asg.ionoscloud.io +versionName=v1alpha1
Index ¶
- Constants
- Variables
- type AutoscalingGroup
- func (in *AutoscalingGroup) DeepCopy() *AutoscalingGroup
- func (in *AutoscalingGroup) DeepCopyInto(out *AutoscalingGroup)
- func (in *AutoscalingGroup) DeepCopyObject() runtime.Object
- func (mg *AutoscalingGroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (tr *AutoscalingGroup) GetConnectionDetailsMapping() map[string]string
- func (mg *AutoscalingGroup) GetDeletionPolicy() xpv1.DeletionPolicy
- func (tr *AutoscalingGroup) GetID() string
- func (tr *AutoscalingGroup) GetInitParameters() (map[string]any, error)
- func (mg *AutoscalingGroup) GetManagementPolicies() xpv1.ManagementPolicies
- func (tr *AutoscalingGroup) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)
- func (tr *AutoscalingGroup) GetObservation() (map[string]any, error)
- func (tr *AutoscalingGroup) GetParameters() (map[string]any, error)
- func (mg *AutoscalingGroup) GetProviderConfigReference() *xpv1.Reference
- func (mg *AutoscalingGroup) GetTerraformResourceType() string
- func (tr *AutoscalingGroup) GetTerraformSchemaVersion() int
- func (mg *AutoscalingGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (tr *AutoscalingGroup) Hub()
- func (tr *AutoscalingGroup) LateInitialize(attrs []byte) (bool, error)
- func (mg *AutoscalingGroup) ResolveReferences(ctx context.Context, c client.Reader) error
- func (mg *AutoscalingGroup) SetConditions(c ...xpv1.Condition)
- func (mg *AutoscalingGroup) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *AutoscalingGroup) SetManagementPolicies(r xpv1.ManagementPolicies)
- func (tr *AutoscalingGroup) SetObservation(obs map[string]any) error
- func (tr *AutoscalingGroup) SetParameters(params map[string]any) error
- func (mg *AutoscalingGroup) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *AutoscalingGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type AutoscalingGroupInitParameters
- type AutoscalingGroupList
- type AutoscalingGroupObservation
- type AutoscalingGroupParameters
- type AutoscalingGroupSpec
- type AutoscalingGroupStatus
- type FirewallRuleInitParameters
- type FirewallRuleObservation
- type FirewallRuleParameters
- type FlowLogInitParameters
- type FlowLogObservation
- type FlowLogParameters
- type NicInitParameters
- type NicObservation
- type NicParameters
- type PolicyInitParameters
- type PolicyObservation
- type PolicyParameters
- type ReplicaConfigurationInitParameters
- type ReplicaConfigurationObservation
- type ReplicaConfigurationParameters
- type ScaleInActionInitParameters
- type ScaleInActionObservation
- type ScaleInActionParameters
- type ScaleOutActionInitParameters
- type ScaleOutActionObservation
- type ScaleOutActionParameters
- type TargetGroupInitParameters
- type TargetGroupObservation
- type TargetGroupParameters
- type VolumeInitParameters
- type VolumeObservation
- type VolumeParameters
Constants ¶
const ( CRDGroup = "asg.ionoscloud.io" CRDVersion = "v1alpha1" )
Package type metadata.
Variables ¶
var ( AutoscalingGroup_Kind = "AutoscalingGroup" AutoscalingGroup_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AutoscalingGroup_Kind}.String() AutoscalingGroup_KindAPIVersion = AutoscalingGroup_Kind + "." + CRDGroupVersion.String() AutoscalingGroup_GroupVersionKind = CRDGroupVersion.WithKind(AutoscalingGroup_Kind) )
Repository type metadata.
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 )
Functions ¶
This section is empty.
Types ¶
type AutoscalingGroup ¶
type AutoscalingGroup 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.maxReplicaCount) || (has(self.initProvider) && has(self.initProvider.maxReplicaCount))",message="spec.forProvider.maxReplicaCount is a required parameter"
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.minReplicaCount) || (has(self.initProvider) && has(self.initProvider.minReplicaCount))",message="spec.forProvider.minReplicaCount 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.policy) || (has(self.initProvider) && has(self.initProvider.policy))",message="spec.forProvider.policy is a required parameter"
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.replicaConfiguration) || (has(self.initProvider) && has(self.initProvider.replicaConfiguration))",message="spec.forProvider.replicaConfiguration is a required parameter"
Spec AutoscalingGroupSpec `json:"spec"`
Status AutoscalingGroupStatus `json:"status,omitempty"`
}
AutoscalingGroup is the Schema for the AutoscalingGroups 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,ionos}
func (*AutoscalingGroup) DeepCopy ¶
func (in *AutoscalingGroup) DeepCopy() *AutoscalingGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingGroup.
func (*AutoscalingGroup) DeepCopyInto ¶
func (in *AutoscalingGroup) DeepCopyInto(out *AutoscalingGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AutoscalingGroup) DeepCopyObject ¶
func (in *AutoscalingGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AutoscalingGroup) GetCondition ¶
func (mg *AutoscalingGroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition
GetCondition of this AutoscalingGroup.
func (*AutoscalingGroup) GetConnectionDetailsMapping ¶
func (tr *AutoscalingGroup) GetConnectionDetailsMapping() map[string]string
GetConnectionDetailsMapping for this AutoscalingGroup
func (*AutoscalingGroup) GetDeletionPolicy ¶
func (mg *AutoscalingGroup) GetDeletionPolicy() xpv1.DeletionPolicy
GetDeletionPolicy of this AutoscalingGroup.
func (*AutoscalingGroup) GetID ¶
func (tr *AutoscalingGroup) GetID() string
GetID returns ID of underlying Terraform resource of this AutoscalingGroup
func (*AutoscalingGroup) GetInitParameters ¶
func (tr *AutoscalingGroup) GetInitParameters() (map[string]any, error)
GetInitParameters of this AutoscalingGroup
func (*AutoscalingGroup) GetManagementPolicies ¶
func (mg *AutoscalingGroup) GetManagementPolicies() xpv1.ManagementPolicies
GetManagementPolicies of this AutoscalingGroup.
func (*AutoscalingGroup) GetMergedParameters ¶
func (tr *AutoscalingGroup) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)
GetInitParameters of this AutoscalingGroup
func (*AutoscalingGroup) GetObservation ¶
func (tr *AutoscalingGroup) GetObservation() (map[string]any, error)
GetObservation of this AutoscalingGroup
func (*AutoscalingGroup) GetParameters ¶
func (tr *AutoscalingGroup) GetParameters() (map[string]any, error)
GetParameters of this AutoscalingGroup
func (*AutoscalingGroup) GetProviderConfigReference ¶
func (mg *AutoscalingGroup) GetProviderConfigReference() *xpv1.Reference
GetProviderConfigReference of this AutoscalingGroup.
func (*AutoscalingGroup) GetTerraformResourceType ¶
func (mg *AutoscalingGroup) GetTerraformResourceType() string
GetTerraformResourceType returns Terraform resource type for this AutoscalingGroup
func (*AutoscalingGroup) GetTerraformSchemaVersion ¶
func (tr *AutoscalingGroup) GetTerraformSchemaVersion() int
GetTerraformSchemaVersion returns the associated Terraform schema version
func (*AutoscalingGroup) GetWriteConnectionSecretToReference ¶
func (mg *AutoscalingGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference
GetWriteConnectionSecretToReference of this AutoscalingGroup.
func (*AutoscalingGroup) Hub ¶
func (tr *AutoscalingGroup) Hub()
Hub marks this type as a conversion hub.
func (*AutoscalingGroup) LateInitialize ¶
func (tr *AutoscalingGroup) LateInitialize(attrs []byte) (bool, error)
LateInitialize this AutoscalingGroup using its observed tfState. returns True if there are any spec changes for the resource.
func (*AutoscalingGroup) ResolveReferences ¶
func (*AutoscalingGroup) SetConditions ¶
func (mg *AutoscalingGroup) SetConditions(c ...xpv1.Condition)
SetConditions of this AutoscalingGroup.
func (*AutoscalingGroup) SetDeletionPolicy ¶
func (mg *AutoscalingGroup) SetDeletionPolicy(r xpv1.DeletionPolicy)
SetDeletionPolicy of this AutoscalingGroup.
func (*AutoscalingGroup) SetManagementPolicies ¶
func (mg *AutoscalingGroup) SetManagementPolicies(r xpv1.ManagementPolicies)
SetManagementPolicies of this AutoscalingGroup.
func (*AutoscalingGroup) SetObservation ¶
func (tr *AutoscalingGroup) SetObservation(obs map[string]any) error
SetObservation for this AutoscalingGroup
func (*AutoscalingGroup) SetParameters ¶
func (tr *AutoscalingGroup) SetParameters(params map[string]any) error
SetParameters for this AutoscalingGroup
func (*AutoscalingGroup) SetProviderConfigReference ¶
func (mg *AutoscalingGroup) SetProviderConfigReference(r *xpv1.Reference)
SetProviderConfigReference of this AutoscalingGroup.
func (*AutoscalingGroup) SetWriteConnectionSecretToReference ¶
func (mg *AutoscalingGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
SetWriteConnectionSecretToReference of this AutoscalingGroup.
type AutoscalingGroupInitParameters ¶
type AutoscalingGroupInitParameters struct {
// Unique identifier for the resource
// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/cluster/compute/v1alpha1.Datacenter
DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`
// Reference to a Datacenter in compute to populate datacenterId.
// +kubebuilder:validation:Optional
DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`
// Selector for a Datacenter in compute to populate datacenterId.
// +kubebuilder:validation:Optional
DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`
// The maximum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
MaxReplicaCount *float64 `json:"maxReplicaCount,omitempty" tf:"max_replica_count,omitempty"`
// The minimum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes
MinReplicaCount *float64 `json:"minReplicaCount,omitempty" tf:"min_replica_count,omitempty"`
// User-defined name for the Autoscaling Group.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// Defines the behavior of this VM Auto Scaling Group. A policy consists of triggers and actions, where an action is an automated behavior, and the trigger defines the circumstances under which the action is triggered. Currently, two separate actions are supported, namely scaling inward and outward, triggered by the thresholds defined for a particular metric.
Policy *PolicyInitParameters `json:"policy,omitempty" tf:"policy,omitempty"`
ReplicaConfiguration []ReplicaConfigurationInitParameters `json:"replicaConfiguration,omitempty" tf:"replica_configuration,omitempty"`
}
func (*AutoscalingGroupInitParameters) DeepCopy ¶
func (in *AutoscalingGroupInitParameters) DeepCopy() *AutoscalingGroupInitParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingGroupInitParameters.
func (*AutoscalingGroupInitParameters) DeepCopyInto ¶
func (in *AutoscalingGroupInitParameters) DeepCopyInto(out *AutoscalingGroupInitParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AutoscalingGroupList ¶
type AutoscalingGroupList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []AutoscalingGroup `json:"items"`
}
AutoscalingGroupList contains a list of AutoscalingGroups
func (*AutoscalingGroupList) DeepCopy ¶
func (in *AutoscalingGroupList) DeepCopy() *AutoscalingGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingGroupList.
func (*AutoscalingGroupList) DeepCopyInto ¶
func (in *AutoscalingGroupList) DeepCopyInto(out *AutoscalingGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AutoscalingGroupList) DeepCopyObject ¶
func (in *AutoscalingGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AutoscalingGroupList) GetItems ¶
func (l *AutoscalingGroupList) GetItems() []resource.Managed
GetItems of this AutoscalingGroupList.
type AutoscalingGroupObservation ¶
type AutoscalingGroupObservation struct {
// Unique identifier for the resource
DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// Location of the data center.
Location *string `json:"location,omitempty" tf:"location,omitempty"`
// The maximum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
MaxReplicaCount *float64 `json:"maxReplicaCount,omitempty" tf:"max_replica_count,omitempty"`
// The minimum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes
MinReplicaCount *float64 `json:"minReplicaCount,omitempty" tf:"min_replica_count,omitempty"`
// User-defined name for the Autoscaling Group.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// Defines the behavior of this VM Auto Scaling Group. A policy consists of triggers and actions, where an action is an automated behavior, and the trigger defines the circumstances under which the action is triggered. Currently, two separate actions are supported, namely scaling inward and outward, triggered by the thresholds defined for a particular metric.
Policy *PolicyObservation `json:"policy,omitempty" tf:"policy,omitempty"`
ReplicaConfiguration []ReplicaConfigurationObservation `json:"replicaConfiguration,omitempty" tf:"replica_configuration,omitempty"`
}
func (*AutoscalingGroupObservation) DeepCopy ¶
func (in *AutoscalingGroupObservation) DeepCopy() *AutoscalingGroupObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingGroupObservation.
func (*AutoscalingGroupObservation) DeepCopyInto ¶
func (in *AutoscalingGroupObservation) DeepCopyInto(out *AutoscalingGroupObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AutoscalingGroupParameters ¶
type AutoscalingGroupParameters struct {
// Unique identifier for the resource
// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/cluster/compute/v1alpha1.Datacenter
// +kubebuilder:validation:Optional
DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`
// Reference to a Datacenter in compute to populate datacenterId.
// +kubebuilder:validation:Optional
DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`
// Selector for a Datacenter in compute to populate datacenterId.
// +kubebuilder:validation:Optional
DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`
// The maximum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
// +kubebuilder:validation:Optional
MaxReplicaCount *float64 `json:"maxReplicaCount,omitempty" tf:"max_replica_count,omitempty"`
// The minimum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes
// +kubebuilder:validation:Optional
MinReplicaCount *float64 `json:"minReplicaCount,omitempty" tf:"min_replica_count,omitempty"`
// User-defined name for the Autoscaling Group.
// +kubebuilder:validation:Optional
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// Defines the behavior of this VM Auto Scaling Group. A policy consists of triggers and actions, where an action is an automated behavior, and the trigger defines the circumstances under which the action is triggered. Currently, two separate actions are supported, namely scaling inward and outward, triggered by the thresholds defined for a particular metric.
// +kubebuilder:validation:Optional
Policy *PolicyParameters `json:"policy,omitempty" tf:"policy,omitempty"`
// +kubebuilder:validation:Optional
ReplicaConfiguration []ReplicaConfigurationParameters `json:"replicaConfiguration,omitempty" tf:"replica_configuration,omitempty"`
}
func (*AutoscalingGroupParameters) DeepCopy ¶
func (in *AutoscalingGroupParameters) DeepCopy() *AutoscalingGroupParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingGroupParameters.
func (*AutoscalingGroupParameters) DeepCopyInto ¶
func (in *AutoscalingGroupParameters) DeepCopyInto(out *AutoscalingGroupParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AutoscalingGroupSpec ¶
type AutoscalingGroupSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider AutoscalingGroupParameters `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 AutoscalingGroupInitParameters `json:"initProvider,omitempty"`
}
AutoscalingGroupSpec defines the desired state of AutoscalingGroup
func (*AutoscalingGroupSpec) DeepCopy ¶
func (in *AutoscalingGroupSpec) DeepCopy() *AutoscalingGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingGroupSpec.
func (*AutoscalingGroupSpec) DeepCopyInto ¶
func (in *AutoscalingGroupSpec) DeepCopyInto(out *AutoscalingGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AutoscalingGroupStatus ¶
type AutoscalingGroupStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider AutoscalingGroupObservation `json:"atProvider,omitempty"`
}
AutoscalingGroupStatus defines the observed state of AutoscalingGroup.
func (*AutoscalingGroupStatus) DeepCopy ¶
func (in *AutoscalingGroupStatus) DeepCopy() *AutoscalingGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingGroupStatus.
func (*AutoscalingGroupStatus) DeepCopyInto ¶
func (in *AutoscalingGroupStatus) DeepCopyInto(out *AutoscalingGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FirewallRuleInitParameters ¶
type FirewallRuleInitParameters struct {
// Sets the allowed code (from 0 to 254) when ICMP protocol is selected. The value 'null' allows all codes.
IcmpCode *float64 `json:"icmpCode,omitempty" tf:"icmp_code,omitempty"`
// Sets the allowed type (from 0 to 254) if the protocol ICMP is selected. The value 'null' allows all types.
IcmpType *float64 `json:"icmpType,omitempty" tf:"icmp_type,omitempty"`
// The name of the firewall rule.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// Sets the end range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
PortRangeEnd *float64 `json:"portRangeEnd,omitempty" tf:"port_range_end,omitempty"`
// Sets the initial range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
PortRangeStart *float64 `json:"portRangeStart,omitempty" tf:"port_range_start,omitempty"`
// The protocol for the rule. The property cannot be modified after its creation (not allowed in update requests).
Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
// Only traffic originating from the respective IPv4 address is permitted. The value 'null' allows traffic from any IP address.
SourceIP *string `json:"sourceIp,omitempty" tf:"source_ip,omitempty"`
// Only traffic originating from the respective MAC address is permitted. Valid format: 'aa:bb:cc:dd:ee:ff'. The value 'null' allows traffic from any MAC address.
SourceMac *string `json:"sourceMac,omitempty" tf:"source_mac,omitempty"`
// If the target NIC has multiple IP addresses, only the traffic directed to the respective IP address of the NIC is allowed. The value 'null' allows traffic to any target IP address.
TargetIP *string `json:"targetIp,omitempty" tf:"target_ip,omitempty"`
// The firewall rule type. If not specified, the default value 'INGRESS' is used.
Type *string `json:"type,omitempty" tf:"type,omitempty"`
}
func (*FirewallRuleInitParameters) DeepCopy ¶
func (in *FirewallRuleInitParameters) DeepCopy() *FirewallRuleInitParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleInitParameters.
func (*FirewallRuleInitParameters) DeepCopyInto ¶
func (in *FirewallRuleInitParameters) DeepCopyInto(out *FirewallRuleInitParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FirewallRuleObservation ¶
type FirewallRuleObservation struct {
// Sets the allowed code (from 0 to 254) when ICMP protocol is selected. The value 'null' allows all codes.
IcmpCode *float64 `json:"icmpCode,omitempty" tf:"icmp_code,omitempty"`
// Sets the allowed type (from 0 to 254) if the protocol ICMP is selected. The value 'null' allows all types.
IcmpType *float64 `json:"icmpType,omitempty" tf:"icmp_type,omitempty"`
// The name of the firewall rule.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// Sets the end range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
PortRangeEnd *float64 `json:"portRangeEnd,omitempty" tf:"port_range_end,omitempty"`
// Sets the initial range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
PortRangeStart *float64 `json:"portRangeStart,omitempty" tf:"port_range_start,omitempty"`
// The protocol for the rule. The property cannot be modified after its creation (not allowed in update requests).
Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
// Only traffic originating from the respective IPv4 address is permitted. The value 'null' allows traffic from any IP address.
SourceIP *string `json:"sourceIp,omitempty" tf:"source_ip,omitempty"`
// Only traffic originating from the respective MAC address is permitted. Valid format: 'aa:bb:cc:dd:ee:ff'. The value 'null' allows traffic from any MAC address.
SourceMac *string `json:"sourceMac,omitempty" tf:"source_mac,omitempty"`
// If the target NIC has multiple IP addresses, only the traffic directed to the respective IP address of the NIC is allowed. The value 'null' allows traffic to any target IP address.
TargetIP *string `json:"targetIp,omitempty" tf:"target_ip,omitempty"`
// The firewall rule type. If not specified, the default value 'INGRESS' is used.
Type *string `json:"type,omitempty" tf:"type,omitempty"`
}
func (*FirewallRuleObservation) DeepCopy ¶
func (in *FirewallRuleObservation) DeepCopy() *FirewallRuleObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleObservation.
func (*FirewallRuleObservation) DeepCopyInto ¶
func (in *FirewallRuleObservation) DeepCopyInto(out *FirewallRuleObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FirewallRuleParameters ¶
type FirewallRuleParameters struct {
// Sets the allowed code (from 0 to 254) when ICMP protocol is selected. The value 'null' allows all codes.
// +kubebuilder:validation:Optional
IcmpCode *float64 `json:"icmpCode,omitempty" tf:"icmp_code,omitempty"`
// Sets the allowed type (from 0 to 254) if the protocol ICMP is selected. The value 'null' allows all types.
// +kubebuilder:validation:Optional
IcmpType *float64 `json:"icmpType,omitempty" tf:"icmp_type,omitempty"`
// The name of the firewall rule.
// +kubebuilder:validation:Optional
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// Sets the end range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
// +kubebuilder:validation:Optional
PortRangeEnd *float64 `json:"portRangeEnd,omitempty" tf:"port_range_end,omitempty"`
// Sets the initial range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
// +kubebuilder:validation:Optional
PortRangeStart *float64 `json:"portRangeStart,omitempty" tf:"port_range_start,omitempty"`
// The protocol for the rule. The property cannot be modified after its creation (not allowed in update requests).
// +kubebuilder:validation:Optional
Protocol *string `json:"protocol" tf:"protocol,omitempty"`
// Only traffic originating from the respective IPv4 address is permitted. The value 'null' allows traffic from any IP address.
// +kubebuilder:validation:Optional
SourceIP *string `json:"sourceIp,omitempty" tf:"source_ip,omitempty"`
// Only traffic originating from the respective MAC address is permitted. Valid format: 'aa:bb:cc:dd:ee:ff'. The value 'null' allows traffic from any MAC address.
// +kubebuilder:validation:Optional
SourceMac *string `json:"sourceMac,omitempty" tf:"source_mac,omitempty"`
// If the target NIC has multiple IP addresses, only the traffic directed to the respective IP address of the NIC is allowed. The value 'null' allows traffic to any target IP address.
// +kubebuilder:validation:Optional
TargetIP *string `json:"targetIp,omitempty" tf:"target_ip,omitempty"`
// The firewall rule type. If not specified, the default value 'INGRESS' is used.
// +kubebuilder:validation:Optional
Type *string `json:"type,omitempty" tf:"type,omitempty"`
}
func (*FirewallRuleParameters) DeepCopy ¶
func (in *FirewallRuleParameters) DeepCopy() *FirewallRuleParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleParameters.
func (*FirewallRuleParameters) DeepCopyInto ¶
func (in *FirewallRuleParameters) DeepCopyInto(out *FirewallRuleParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlowLogInitParameters ¶
type FlowLogInitParameters struct {
// Specifies the traffic direction pattern. Valid values: ACCEPTED, REJECTED, ALL. Immutable, forces re-recreation of the nic resource.
Action *string `json:"action,omitempty" tf:"action,omitempty"`
// The bucket name of an existing IONOS Object Storage bucket. Immutable, forces re-recreation of the nic resource.
Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"`
// Specifies the traffic direction pattern. Valid values: INGRESS, EGRESS, BIDIRECTIONAL. Immutable, forces re-recreation of the nic resource.
Direction *string `json:"direction,omitempty" tf:"direction,omitempty"`
// The resource name.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
}
func (*FlowLogInitParameters) DeepCopy ¶
func (in *FlowLogInitParameters) DeepCopy() *FlowLogInitParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowLogInitParameters.
func (*FlowLogInitParameters) DeepCopyInto ¶
func (in *FlowLogInitParameters) DeepCopyInto(out *FlowLogInitParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlowLogObservation ¶
type FlowLogObservation struct {
// Specifies the traffic direction pattern. Valid values: ACCEPTED, REJECTED, ALL. Immutable, forces re-recreation of the nic resource.
Action *string `json:"action,omitempty" tf:"action,omitempty"`
// The bucket name of an existing IONOS Object Storage bucket. Immutable, forces re-recreation of the nic resource.
Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"`
// Specifies the traffic direction pattern. Valid values: INGRESS, EGRESS, BIDIRECTIONAL. Immutable, forces re-recreation of the nic resource.
Direction *string `json:"direction,omitempty" tf:"direction,omitempty"`
// The resource's unique identifier.
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// The resource name.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
}
func (*FlowLogObservation) DeepCopy ¶
func (in *FlowLogObservation) DeepCopy() *FlowLogObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowLogObservation.
func (*FlowLogObservation) DeepCopyInto ¶
func (in *FlowLogObservation) DeepCopyInto(out *FlowLogObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlowLogParameters ¶
type FlowLogParameters struct {
// Specifies the traffic direction pattern. Valid values: ACCEPTED, REJECTED, ALL. Immutable, forces re-recreation of the nic resource.
// +kubebuilder:validation:Optional
Action *string `json:"action" tf:"action,omitempty"`
// The bucket name of an existing IONOS Object Storage bucket. Immutable, forces re-recreation of the nic resource.
// +kubebuilder:validation:Optional
Bucket *string `json:"bucket" tf:"bucket,omitempty"`
// Specifies the traffic direction pattern. Valid values: INGRESS, EGRESS, BIDIRECTIONAL. Immutable, forces re-recreation of the nic resource.
// +kubebuilder:validation:Optional
Direction *string `json:"direction" tf:"direction,omitempty"`
// The resource name.
// +kubebuilder:validation:Optional
Name *string `json:"name" tf:"name,omitempty"`
}
func (*FlowLogParameters) DeepCopy ¶
func (in *FlowLogParameters) DeepCopy() *FlowLogParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowLogParameters.
func (*FlowLogParameters) DeepCopyInto ¶
func (in *FlowLogParameters) DeepCopyInto(out *FlowLogParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NicInitParameters ¶
type NicInitParameters struct {
// Dhcp flag for this replica Nic. This is an optional attribute with default value of 'true' if not given in the request payload or given as null.
DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`
// Activate or deactivate the firewall. By default, an active firewall without any defined rules will block all incoming network traffic except for the firewall rules that explicitly allows certain protocols, IP addresses and ports.
FirewallActive *bool `json:"firewallActive,omitempty" tf:"firewall_active,omitempty"`
// List of all firewall rules for the specified NIC.
FirewallRule []FirewallRuleInitParameters `json:"firewallRule,omitempty" tf:"firewall_rule,omitempty"`
// The type of firewall rules that will be allowed on the NIC. If not specified, the default INGRESS value is used.
FirewallType *string `json:"firewallType,omitempty" tf:"firewall_type,omitempty"`
// List of all flow logs for the specified NIC.
FlowLog []FlowLogInitParameters `json:"flowLog,omitempty" tf:"flow_log,omitempty"`
// Lan ID for this replica Nic.
// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/cluster/compute/v1alpha1.Lan
Lan *float64 `json:"lan,omitempty" tf:"lan,omitempty"`
// Reference to a Lan in compute to populate lan.
// +kubebuilder:validation:Optional
LanRef *v1.Reference `json:"lanRef,omitempty" tf:"-"`
// Selector for a Lan in compute to populate lan.
// +kubebuilder:validation:Optional
LanSelector *v1.Selector `json:"lanSelector,omitempty" tf:"-"`
// Name for this replica NIC.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// In order to link VM to ALB, target group must be provided.
TargetGroup *TargetGroupInitParameters `json:"targetGroup,omitempty" tf:"target_group,omitempty"`
}
func (*NicInitParameters) DeepCopy ¶
func (in *NicInitParameters) DeepCopy() *NicInitParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NicInitParameters.
func (*NicInitParameters) DeepCopyInto ¶
func (in *NicInitParameters) DeepCopyInto(out *NicInitParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NicObservation ¶
type NicObservation struct {
// Dhcp flag for this replica Nic. This is an optional attribute with default value of 'true' if not given in the request payload or given as null.
DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`
// Activate or deactivate the firewall. By default, an active firewall without any defined rules will block all incoming network traffic except for the firewall rules that explicitly allows certain protocols, IP addresses and ports.
FirewallActive *bool `json:"firewallActive,omitempty" tf:"firewall_active,omitempty"`
// List of all firewall rules for the specified NIC.
FirewallRule []FirewallRuleObservation `json:"firewallRule,omitempty" tf:"firewall_rule,omitempty"`
// The type of firewall rules that will be allowed on the NIC. If not specified, the default INGRESS value is used.
FirewallType *string `json:"firewallType,omitempty" tf:"firewall_type,omitempty"`
// List of all flow logs for the specified NIC.
FlowLog []FlowLogObservation `json:"flowLog,omitempty" tf:"flow_log,omitempty"`
// Lan ID for this replica Nic.
Lan *float64 `json:"lan,omitempty" tf:"lan,omitempty"`
// Name for this replica NIC.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// In order to link VM to ALB, target group must be provided.
TargetGroup *TargetGroupObservation `json:"targetGroup,omitempty" tf:"target_group,omitempty"`
}
func (*NicObservation) DeepCopy ¶
func (in *NicObservation) DeepCopy() *NicObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NicObservation.
func (*NicObservation) DeepCopyInto ¶
func (in *NicObservation) DeepCopyInto(out *NicObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NicParameters ¶
type NicParameters struct {
// Dhcp flag for this replica Nic. This is an optional attribute with default value of 'true' if not given in the request payload or given as null.
// +kubebuilder:validation:Optional
DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`
// Activate or deactivate the firewall. By default, an active firewall without any defined rules will block all incoming network traffic except for the firewall rules that explicitly allows certain protocols, IP addresses and ports.
// +kubebuilder:validation:Optional
FirewallActive *bool `json:"firewallActive,omitempty" tf:"firewall_active,omitempty"`
// List of all firewall rules for the specified NIC.
// +kubebuilder:validation:Optional
FirewallRule []FirewallRuleParameters `json:"firewallRule,omitempty" tf:"firewall_rule,omitempty"`
// The type of firewall rules that will be allowed on the NIC. If not specified, the default INGRESS value is used.
// +kubebuilder:validation:Optional
FirewallType *string `json:"firewallType,omitempty" tf:"firewall_type,omitempty"`
// List of all flow logs for the specified NIC.
// +kubebuilder:validation:Optional
FlowLog []FlowLogParameters `json:"flowLog,omitempty" tf:"flow_log,omitempty"`
// Lan ID for this replica Nic.
// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/cluster/compute/v1alpha1.Lan
// +kubebuilder:validation:Optional
Lan *float64 `json:"lan,omitempty" tf:"lan,omitempty"`
// Reference to a Lan in compute to populate lan.
// +kubebuilder:validation:Optional
LanRef *v1.Reference `json:"lanRef,omitempty" tf:"-"`
// Selector for a Lan in compute to populate lan.
// +kubebuilder:validation:Optional
LanSelector *v1.Selector `json:"lanSelector,omitempty" tf:"-"`
// Name for this replica NIC.
// +kubebuilder:validation:Optional
Name *string `json:"name" tf:"name,omitempty"`
// In order to link VM to ALB, target group must be provided.
// +kubebuilder:validation:Optional
TargetGroup *TargetGroupParameters `json:"targetGroup,omitempty" tf:"target_group,omitempty"`
}
func (*NicParameters) DeepCopy ¶
func (in *NicParameters) DeepCopy() *NicParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NicParameters.
func (*NicParameters) DeepCopyInto ¶
func (in *NicParameters) DeepCopyInto(out *NicParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PolicyInitParameters ¶
type PolicyInitParameters struct {
// The Metric that should trigger the scaling actions. Metric values are checked at fixed intervals.
Metric *string `json:"metric,omitempty" tf:"metric,omitempty"`
// Specifies the time range for which the samples are to be aggregated. Must be >= 2 minutes.
Range *string `json:"range,omitempty" tf:"range,omitempty"`
// Defines the action to be taken when the 'scaleInThreshold' is exceeded. Here, scaling is always about removing VMs associated with this VM Auto Scaling Group. By default, the termination policy is 'OLDEST_SERVER_FIRST' is effective.
ScaleInAction *ScaleInActionInitParameters `json:"scaleInAction,omitempty" tf:"scale_in_action,omitempty"`
// The upper threshold for the value of the 'metric'. Used with the 'greater than' (>) operator. A scale-out action is triggered when this value is exceeded, specified by the 'scale_out_action' property. The value must have a lower minimum delta to the 'scale_in_threshold', depending on the metric, to avoid competing for actions simultaneously. If 'properties.policy.unit=TOTAL', a value >= 40 must be chosen.
ScaleInThreshold *float64 `json:"scaleInThreshold,omitempty" tf:"scale_in_threshold,omitempty"`
// Defines the action to be performed when the 'scaleOutThreshold' is exceeded. Here, scaling is always about adding new VMs to this VM Auto Scaling Group.
ScaleOutAction *ScaleOutActionInitParameters `json:"scaleOutAction,omitempty" tf:"scale_out_action,omitempty"`
// The upper threshold for the value of the 'metric'. Used with the 'greater than' (>) operator. A scale-out action is triggered when this value is exceeded, specified by the 'scaleOutAction' property. The value must have a lower minimum delta to the 'scaleInThreshold', depending on the metric, to avoid competing for actions simultaneously. If 'properties.policy.unit=TOTAL', a value >= 40 must be chosen.
ScaleOutThreshold *float64 `json:"scaleOutThreshold,omitempty" tf:"scale_out_threshold,omitempty"`
// Units of the applied Metric. Possible values are: PER_HOUR, PER_MINUTE, PER_SECOND, TOTAL.
Unit *string `json:"unit,omitempty" tf:"unit,omitempty"`
}
func (*PolicyInitParameters) DeepCopy ¶
func (in *PolicyInitParameters) DeepCopy() *PolicyInitParameters
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 Metric that should trigger the scaling actions. Metric values are checked at fixed intervals.
Metric *string `json:"metric,omitempty" tf:"metric,omitempty"`
// Specifies the time range for which the samples are to be aggregated. Must be >= 2 minutes.
Range *string `json:"range,omitempty" tf:"range,omitempty"`
// Defines the action to be taken when the 'scaleInThreshold' is exceeded. Here, scaling is always about removing VMs associated with this VM Auto Scaling Group. By default, the termination policy is 'OLDEST_SERVER_FIRST' is effective.
ScaleInAction *ScaleInActionObservation `json:"scaleInAction,omitempty" tf:"scale_in_action,omitempty"`
// The upper threshold for the value of the 'metric'. Used with the 'greater than' (>) operator. A scale-out action is triggered when this value is exceeded, specified by the 'scale_out_action' property. The value must have a lower minimum delta to the 'scale_in_threshold', depending on the metric, to avoid competing for actions simultaneously. If 'properties.policy.unit=TOTAL', a value >= 40 must be chosen.
ScaleInThreshold *float64 `json:"scaleInThreshold,omitempty" tf:"scale_in_threshold,omitempty"`
// Defines the action to be performed when the 'scaleOutThreshold' is exceeded. Here, scaling is always about adding new VMs to this VM Auto Scaling Group.
ScaleOutAction *ScaleOutActionObservation `json:"scaleOutAction,omitempty" tf:"scale_out_action,omitempty"`
// The upper threshold for the value of the 'metric'. Used with the 'greater than' (>) operator. A scale-out action is triggered when this value is exceeded, specified by the 'scaleOutAction' property. The value must have a lower minimum delta to the 'scaleInThreshold', depending on the metric, to avoid competing for actions simultaneously. If 'properties.policy.unit=TOTAL', a value >= 40 must be chosen.
ScaleOutThreshold *float64 `json:"scaleOutThreshold,omitempty" tf:"scale_out_threshold,omitempty"`
// Units of the applied Metric. Possible values are: PER_HOUR, PER_MINUTE, PER_SECOND, TOTAL.
Unit *string `json:"unit,omitempty" tf:"unit,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 Metric that should trigger the scaling actions. Metric values are checked at fixed intervals.
// +kubebuilder:validation:Optional
Metric *string `json:"metric" tf:"metric,omitempty"`
// Specifies the time range for which the samples are to be aggregated. Must be >= 2 minutes.
// +kubebuilder:validation:Optional
Range *string `json:"range,omitempty" tf:"range,omitempty"`
// Defines the action to be taken when the 'scaleInThreshold' is exceeded. Here, scaling is always about removing VMs associated with this VM Auto Scaling Group. By default, the termination policy is 'OLDEST_SERVER_FIRST' is effective.
// +kubebuilder:validation:Optional
ScaleInAction *ScaleInActionParameters `json:"scaleInAction" tf:"scale_in_action,omitempty"`
// The upper threshold for the value of the 'metric'. Used with the 'greater than' (>) operator. A scale-out action is triggered when this value is exceeded, specified by the 'scale_out_action' property. The value must have a lower minimum delta to the 'scale_in_threshold', depending on the metric, to avoid competing for actions simultaneously. If 'properties.policy.unit=TOTAL', a value >= 40 must be chosen.
// +kubebuilder:validation:Optional
ScaleInThreshold *float64 `json:"scaleInThreshold" tf:"scale_in_threshold,omitempty"`
// Defines the action to be performed when the 'scaleOutThreshold' is exceeded. Here, scaling is always about adding new VMs to this VM Auto Scaling Group.
// +kubebuilder:validation:Optional
ScaleOutAction *ScaleOutActionParameters `json:"scaleOutAction" tf:"scale_out_action,omitempty"`
// The upper threshold for the value of the 'metric'. Used with the 'greater than' (>) operator. A scale-out action is triggered when this value is exceeded, specified by the 'scaleOutAction' property. The value must have a lower minimum delta to the 'scaleInThreshold', depending on the metric, to avoid competing for actions simultaneously. If 'properties.policy.unit=TOTAL', a value >= 40 must be chosen.
// +kubebuilder:validation:Optional
ScaleOutThreshold *float64 `json:"scaleOutThreshold" tf:"scale_out_threshold,omitempty"`
// Units of the applied Metric. Possible values are: PER_HOUR, PER_MINUTE, PER_SECOND, TOTAL.
// +kubebuilder:validation:Optional
Unit *string `json:"unit" tf:"unit,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 ReplicaConfigurationInitParameters ¶
type ReplicaConfigurationInitParameters struct {
// The zone where the VMs are created using this configuration.
AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`
// The zone where the VMs are created using this configuration.
CPUFamily *string `json:"cpuFamily,omitempty" tf:"cpu_family,omitempty"`
// The total number of cores for the VMs.
Cores *float64 `json:"cores,omitempty" tf:"cores,omitempty"`
// Set of NICs associated with this Replica.
Nic []NicInitParameters `json:"nic,omitempty" tf:"nic,omitempty"`
// The amount of memory for the VMs in MB, e.g. 2048. Size must be specified in multiples of 256 MB with a minimum of 256 MB; however, if you set ramHotPlug to TRUE then you must use a minimum of 1024 MB. If you set the RAM size more than 240GB, then ramHotPlug will be set to FALSE and can not be set to TRUE unless RAM size not set to less than 240GB.
RAM *float64 `json:"ram,omitempty" tf:"ram,omitempty"`
// List of volumes associated with this Replica.
Volume []VolumeInitParameters `json:"volume,omitempty" tf:"volume,omitempty"`
}
func (*ReplicaConfigurationInitParameters) DeepCopy ¶
func (in *ReplicaConfigurationInitParameters) DeepCopy() *ReplicaConfigurationInitParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaConfigurationInitParameters.
func (*ReplicaConfigurationInitParameters) DeepCopyInto ¶
func (in *ReplicaConfigurationInitParameters) DeepCopyInto(out *ReplicaConfigurationInitParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplicaConfigurationObservation ¶
type ReplicaConfigurationObservation struct {
// The zone where the VMs are created using this configuration.
AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`
// The zone where the VMs are created using this configuration.
CPUFamily *string `json:"cpuFamily,omitempty" tf:"cpu_family,omitempty"`
// The total number of cores for the VMs.
Cores *float64 `json:"cores,omitempty" tf:"cores,omitempty"`
// Set of NICs associated with this Replica.
Nic []NicObservation `json:"nic,omitempty" tf:"nic,omitempty"`
// The amount of memory for the VMs in MB, e.g. 2048. Size must be specified in multiples of 256 MB with a minimum of 256 MB; however, if you set ramHotPlug to TRUE then you must use a minimum of 1024 MB. If you set the RAM size more than 240GB, then ramHotPlug will be set to FALSE and can not be set to TRUE unless RAM size not set to less than 240GB.
RAM *float64 `json:"ram,omitempty" tf:"ram,omitempty"`
// List of volumes associated with this Replica.
Volume []VolumeObservation `json:"volume,omitempty" tf:"volume,omitempty"`
}
func (*ReplicaConfigurationObservation) DeepCopy ¶
func (in *ReplicaConfigurationObservation) DeepCopy() *ReplicaConfigurationObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaConfigurationObservation.
func (*ReplicaConfigurationObservation) DeepCopyInto ¶
func (in *ReplicaConfigurationObservation) DeepCopyInto(out *ReplicaConfigurationObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplicaConfigurationParameters ¶
type ReplicaConfigurationParameters struct {
// The zone where the VMs are created using this configuration.
// +kubebuilder:validation:Optional
AvailabilityZone *string `json:"availabilityZone" tf:"availability_zone,omitempty"`
// The zone where the VMs are created using this configuration.
// +kubebuilder:validation:Optional
CPUFamily *string `json:"cpuFamily,omitempty" tf:"cpu_family,omitempty"`
// The total number of cores for the VMs.
// +kubebuilder:validation:Optional
Cores *float64 `json:"cores" tf:"cores,omitempty"`
// Set of NICs associated with this Replica.
// +kubebuilder:validation:Optional
Nic []NicParameters `json:"nic,omitempty" tf:"nic,omitempty"`
// The amount of memory for the VMs in MB, e.g. 2048. Size must be specified in multiples of 256 MB with a minimum of 256 MB; however, if you set ramHotPlug to TRUE then you must use a minimum of 1024 MB. If you set the RAM size more than 240GB, then ramHotPlug will be set to FALSE and can not be set to TRUE unless RAM size not set to less than 240GB.
// +kubebuilder:validation:Optional
RAM *float64 `json:"ram" tf:"ram,omitempty"`
// List of volumes associated with this Replica.
// +kubebuilder:validation:Optional
Volume []VolumeParameters `json:"volume,omitempty" tf:"volume,omitempty"`
}
func (*ReplicaConfigurationParameters) DeepCopy ¶
func (in *ReplicaConfigurationParameters) DeepCopy() *ReplicaConfigurationParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaConfigurationParameters.
func (*ReplicaConfigurationParameters) DeepCopyInto ¶
func (in *ReplicaConfigurationParameters) DeepCopyInto(out *ReplicaConfigurationParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScaleInActionInitParameters ¶
type ScaleInActionInitParameters struct {
// When 'amountType=ABSOLUTE' specifies the absolute number of VMs that are removed. The value must be between 1 to 10. 'amountType=PERCENTAGE' specifies the percentage value that is applied to the current number of replicas of the VM Auto Scaling Group. The value must be between 1 to 200. At least one VM is always removed. Note that for 'SCALE_IN' operations, volumes are not deleted after the server is deleted.
Amount *float64 `json:"amount,omitempty" tf:"amount,omitempty"`
// The type for the given amount. Possible values are: [ABSOLUTE, PERCENTAGE].
AmountType *string `json:"amountType,omitempty" tf:"amount_type,omitempty"`
// The minimum time that elapses after the start of this scaling action until the following scaling action is started. While a scaling action is in progress, no second action is initiated for the same VM Auto Scaling Group. Instead, the metric is re-evaluated after the current scaling action completes (either successfully or with errors). This is currently validated with a minimum value of 2 minutes and a maximum of 24 hours. The default value is 5 minutes if not specified.
CooldownPeriod *string `json:"cooldownPeriod,omitempty" tf:"cooldown_period,omitempty"`
// If set to 'true', when deleting an replica during scale in, any attached volume will also be deleted. When set to 'false', all volumes remain in the datacenter and must be deleted manually. Note that every scale-out creates new volumes. When they are not deleted, they will eventually use all of your contracts resource limits. At this point, scaling out would not be possible anymore.
DeleteVolumes *bool `json:"deleteVolumes,omitempty" tf:"delete_volumes,omitempty"`
// The type of termination policy for the VM Auto Scaling Group to follow a specific pattern for scaling-in replicas. The default termination policy is 'OLDEST_SERVER_FIRST'.
TerminationPolicyType *string `json:"terminationPolicyType,omitempty" tf:"termination_policy_type,omitempty"`
}
func (*ScaleInActionInitParameters) DeepCopy ¶
func (in *ScaleInActionInitParameters) DeepCopy() *ScaleInActionInitParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInActionInitParameters.
func (*ScaleInActionInitParameters) DeepCopyInto ¶
func (in *ScaleInActionInitParameters) DeepCopyInto(out *ScaleInActionInitParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScaleInActionObservation ¶
type ScaleInActionObservation struct {
// When 'amountType=ABSOLUTE' specifies the absolute number of VMs that are removed. The value must be between 1 to 10. 'amountType=PERCENTAGE' specifies the percentage value that is applied to the current number of replicas of the VM Auto Scaling Group. The value must be between 1 to 200. At least one VM is always removed. Note that for 'SCALE_IN' operations, volumes are not deleted after the server is deleted.
Amount *float64 `json:"amount,omitempty" tf:"amount,omitempty"`
// The type for the given amount. Possible values are: [ABSOLUTE, PERCENTAGE].
AmountType *string `json:"amountType,omitempty" tf:"amount_type,omitempty"`
// The minimum time that elapses after the start of this scaling action until the following scaling action is started. While a scaling action is in progress, no second action is initiated for the same VM Auto Scaling Group. Instead, the metric is re-evaluated after the current scaling action completes (either successfully or with errors). This is currently validated with a minimum value of 2 minutes and a maximum of 24 hours. The default value is 5 minutes if not specified.
CooldownPeriod *string `json:"cooldownPeriod,omitempty" tf:"cooldown_period,omitempty"`
// If set to 'true', when deleting an replica during scale in, any attached volume will also be deleted. When set to 'false', all volumes remain in the datacenter and must be deleted manually. Note that every scale-out creates new volumes. When they are not deleted, they will eventually use all of your contracts resource limits. At this point, scaling out would not be possible anymore.
DeleteVolumes *bool `json:"deleteVolumes,omitempty" tf:"delete_volumes,omitempty"`
// The type of termination policy for the VM Auto Scaling Group to follow a specific pattern for scaling-in replicas. The default termination policy is 'OLDEST_SERVER_FIRST'.
TerminationPolicyType *string `json:"terminationPolicyType,omitempty" tf:"termination_policy_type,omitempty"`
}
func (*ScaleInActionObservation) DeepCopy ¶
func (in *ScaleInActionObservation) DeepCopy() *ScaleInActionObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInActionObservation.
func (*ScaleInActionObservation) DeepCopyInto ¶
func (in *ScaleInActionObservation) DeepCopyInto(out *ScaleInActionObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScaleInActionParameters ¶
type ScaleInActionParameters struct {
// When 'amountType=ABSOLUTE' specifies the absolute number of VMs that are removed. The value must be between 1 to 10. 'amountType=PERCENTAGE' specifies the percentage value that is applied to the current number of replicas of the VM Auto Scaling Group. The value must be between 1 to 200. At least one VM is always removed. Note that for 'SCALE_IN' operations, volumes are not deleted after the server is deleted.
// +kubebuilder:validation:Optional
Amount *float64 `json:"amount" tf:"amount,omitempty"`
// The type for the given amount. Possible values are: [ABSOLUTE, PERCENTAGE].
// +kubebuilder:validation:Optional
AmountType *string `json:"amountType" tf:"amount_type,omitempty"`
// The minimum time that elapses after the start of this scaling action until the following scaling action is started. While a scaling action is in progress, no second action is initiated for the same VM Auto Scaling Group. Instead, the metric is re-evaluated after the current scaling action completes (either successfully or with errors). This is currently validated with a minimum value of 2 minutes and a maximum of 24 hours. The default value is 5 minutes if not specified.
// +kubebuilder:validation:Optional
CooldownPeriod *string `json:"cooldownPeriod,omitempty" tf:"cooldown_period,omitempty"`
// If set to 'true', when deleting an replica during scale in, any attached volume will also be deleted. When set to 'false', all volumes remain in the datacenter and must be deleted manually. Note that every scale-out creates new volumes. When they are not deleted, they will eventually use all of your contracts resource limits. At this point, scaling out would not be possible anymore.
// +kubebuilder:validation:Optional
DeleteVolumes *bool `json:"deleteVolumes" tf:"delete_volumes,omitempty"`
// The type of termination policy for the VM Auto Scaling Group to follow a specific pattern for scaling-in replicas. The default termination policy is 'OLDEST_SERVER_FIRST'.
// +kubebuilder:validation:Optional
TerminationPolicyType *string `json:"terminationPolicyType,omitempty" tf:"termination_policy_type,omitempty"`
}
func (*ScaleInActionParameters) DeepCopy ¶
func (in *ScaleInActionParameters) DeepCopy() *ScaleInActionParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInActionParameters.
func (*ScaleInActionParameters) DeepCopyInto ¶
func (in *ScaleInActionParameters) DeepCopyInto(out *ScaleInActionParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScaleOutActionInitParameters ¶
type ScaleOutActionInitParameters struct {
// When 'amountType=ABSOLUTE' specifies the absolute number of VMs that are added. The value must be between 1 to 10. 'amountType=PERCENTAGE' specifies the percentage value that is applied to the current number of replicas of the VM Auto Scaling Group. The value must be between 1 to 200. At least one VM is always added or removed.
Amount *float64 `json:"amount,omitempty" tf:"amount,omitempty"`
// The type for the given amount. Possible values are: [ABSOLUTE, PERCENTAGE].
AmountType *string `json:"amountType,omitempty" tf:"amount_type,omitempty"`
// The minimum time that elapses after the start of this scaling action until the following scaling action is started. While a scaling action is in progress, no second action is initiated for the same VM Auto Scaling Group. Instead, the metric is re-evaluated after the current scaling action completes (either successfully or with errors). This is currently validated with a minimum value of 2 minutes and a maximum of 24 hours. The default value is 5 minutes if not specified.
CooldownPeriod *string `json:"cooldownPeriod,omitempty" tf:"cooldown_period,omitempty"`
}
func (*ScaleOutActionInitParameters) DeepCopy ¶
func (in *ScaleOutActionInitParameters) DeepCopy() *ScaleOutActionInitParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleOutActionInitParameters.
func (*ScaleOutActionInitParameters) DeepCopyInto ¶
func (in *ScaleOutActionInitParameters) DeepCopyInto(out *ScaleOutActionInitParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScaleOutActionObservation ¶
type ScaleOutActionObservation struct {
// When 'amountType=ABSOLUTE' specifies the absolute number of VMs that are added. The value must be between 1 to 10. 'amountType=PERCENTAGE' specifies the percentage value that is applied to the current number of replicas of the VM Auto Scaling Group. The value must be between 1 to 200. At least one VM is always added or removed.
Amount *float64 `json:"amount,omitempty" tf:"amount,omitempty"`
// The type for the given amount. Possible values are: [ABSOLUTE, PERCENTAGE].
AmountType *string `json:"amountType,omitempty" tf:"amount_type,omitempty"`
// The minimum time that elapses after the start of this scaling action until the following scaling action is started. While a scaling action is in progress, no second action is initiated for the same VM Auto Scaling Group. Instead, the metric is re-evaluated after the current scaling action completes (either successfully or with errors). This is currently validated with a minimum value of 2 minutes and a maximum of 24 hours. The default value is 5 minutes if not specified.
CooldownPeriod *string `json:"cooldownPeriod,omitempty" tf:"cooldown_period,omitempty"`
}
func (*ScaleOutActionObservation) DeepCopy ¶
func (in *ScaleOutActionObservation) DeepCopy() *ScaleOutActionObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleOutActionObservation.
func (*ScaleOutActionObservation) DeepCopyInto ¶
func (in *ScaleOutActionObservation) DeepCopyInto(out *ScaleOutActionObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScaleOutActionParameters ¶
type ScaleOutActionParameters struct {
// When 'amountType=ABSOLUTE' specifies the absolute number of VMs that are added. The value must be between 1 to 10. 'amountType=PERCENTAGE' specifies the percentage value that is applied to the current number of replicas of the VM Auto Scaling Group. The value must be between 1 to 200. At least one VM is always added or removed.
// +kubebuilder:validation:Optional
Amount *float64 `json:"amount" tf:"amount,omitempty"`
// The type for the given amount. Possible values are: [ABSOLUTE, PERCENTAGE].
// +kubebuilder:validation:Optional
AmountType *string `json:"amountType" tf:"amount_type,omitempty"`
// The minimum time that elapses after the start of this scaling action until the following scaling action is started. While a scaling action is in progress, no second action is initiated for the same VM Auto Scaling Group. Instead, the metric is re-evaluated after the current scaling action completes (either successfully or with errors). This is currently validated with a minimum value of 2 minutes and a maximum of 24 hours. The default value is 5 minutes if not specified.
// +kubebuilder:validation:Optional
CooldownPeriod *string `json:"cooldownPeriod,omitempty" tf:"cooldown_period,omitempty"`
}
func (*ScaleOutActionParameters) DeepCopy ¶
func (in *ScaleOutActionParameters) DeepCopy() *ScaleOutActionParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleOutActionParameters.
func (*ScaleOutActionParameters) DeepCopyInto ¶
func (in *ScaleOutActionParameters) DeepCopyInto(out *ScaleOutActionParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetGroupInitParameters ¶
type TargetGroupInitParameters struct {
// The port for the target group.
Port *float64 `json:"port,omitempty" tf:"port,omitempty"`
// The ID of the target group.
// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/cluster/alb/v1alpha1.TargetGroup
TargetGroupID *string `json:"targetGroupId,omitempty" tf:"target_group_id,omitempty"`
// Reference to a TargetGroup in alb to populate targetGroupId.
// +kubebuilder:validation:Optional
TargetGroupIDRef *v1.Reference `json:"targetGroupIdRef,omitempty" tf:"-"`
// Selector for a TargetGroup in alb to populate targetGroupId.
// +kubebuilder:validation:Optional
TargetGroupIDSelector *v1.Selector `json:"targetGroupIdSelector,omitempty" tf:"-"`
// The weight for the target group.
Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}
func (*TargetGroupInitParameters) DeepCopy ¶
func (in *TargetGroupInitParameters) DeepCopy() *TargetGroupInitParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetGroupInitParameters.
func (*TargetGroupInitParameters) DeepCopyInto ¶
func (in *TargetGroupInitParameters) DeepCopyInto(out *TargetGroupInitParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetGroupObservation ¶
type TargetGroupObservation struct {
// The port for the target group.
Port *float64 `json:"port,omitempty" tf:"port,omitempty"`
// The ID of the target group.
TargetGroupID *string `json:"targetGroupId,omitempty" tf:"target_group_id,omitempty"`
// The weight for the target group.
Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"`
}
func (*TargetGroupObservation) DeepCopy ¶
func (in *TargetGroupObservation) DeepCopy() *TargetGroupObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetGroupObservation.
func (*TargetGroupObservation) DeepCopyInto ¶
func (in *TargetGroupObservation) DeepCopyInto(out *TargetGroupObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetGroupParameters ¶
type TargetGroupParameters struct {
// The port for the target group.
// +kubebuilder:validation:Optional
Port *float64 `json:"port" tf:"port,omitempty"`
// The ID of the target group.
// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/cluster/alb/v1alpha1.TargetGroup
// +kubebuilder:validation:Optional
TargetGroupID *string `json:"targetGroupId,omitempty" tf:"target_group_id,omitempty"`
// Reference to a TargetGroup in alb to populate targetGroupId.
// +kubebuilder:validation:Optional
TargetGroupIDRef *v1.Reference `json:"targetGroupIdRef,omitempty" tf:"-"`
// Selector for a TargetGroup in alb to populate targetGroupId.
// +kubebuilder:validation:Optional
TargetGroupIDSelector *v1.Selector `json:"targetGroupIdSelector,omitempty" tf:"-"`
// The weight for the target group.
// +kubebuilder:validation:Optional
Weight *float64 `json:"weight" tf:"weight,omitempty"`
}
func (*TargetGroupParameters) DeepCopy ¶
func (in *TargetGroupParameters) DeepCopy() *TargetGroupParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetGroupParameters.
func (*TargetGroupParameters) DeepCopyInto ¶
func (in *TargetGroupParameters) DeepCopyInto(out *TargetGroupParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeInitParameters ¶
type VolumeInitParameters struct {
// The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
BackupUnitID *string `json:"backupUnitId,omitempty" tf:"backup_unit_id,omitempty"`
// Determines whether the volume will be used as a boot volume. Set to NONE, the volume will not be used as boot volume.
// Set to PRIMARY, the volume will be used as boot volume and set to AUTO will delegate the decision to the provisioning engine to decide whether to use the volume as boot volume.
// Notice that exactly one volume can be set to PRIMARY or all of them set to AUTO.
BootOrder *string `json:"bootOrder,omitempty" tf:"boot_order,omitempty"`
// The bus type of the volume. Default setting is 'VIRTIO'. The bus type 'IDE' is also supported.
Bus *string `json:"bus,omitempty" tf:"bus,omitempty"`
// The image installed on the disk. Currently, only the UUID of the image is supported. Note that either 'image' or 'imageAlias' must be specified, but not both.
Image *string `json:"image,omitempty" tf:"image,omitempty"`
// The image installed on the volume. Must be an 'imageAlias' as specified via the images API. Note that one of 'image' or 'imageAlias' must be set, but not both.
ImageAlias *string `json:"imageAlias,omitempty" tf:"image_alias,omitempty"`
// Image password for this replica volume.
ImagePasswordSecretRef *v1.SecretKeySelector `json:"imagePasswordSecretRef,omitempty" tf:"-"`
// Name for this replica volume.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`
// User-defined size for this replica volume in GB.
Size *float64 `json:"size,omitempty" tf:"size,omitempty"`
// Storage Type for this replica volume. Possible values: SSD, HDD, SSD_STANDARD or SSD_PREMIUM
Type *string `json:"type,omitempty" tf:"type,omitempty"`
// User-data (Cloud Init) for this replica volume.
UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}
func (*VolumeInitParameters) DeepCopy ¶
func (in *VolumeInitParameters) DeepCopy() *VolumeInitParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeInitParameters.
func (*VolumeInitParameters) DeepCopyInto ¶
func (in *VolumeInitParameters) DeepCopyInto(out *VolumeInitParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeObservation ¶
type VolumeObservation struct {
// The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
BackupUnitID *string `json:"backupUnitId,omitempty" tf:"backup_unit_id,omitempty"`
// Determines whether the volume will be used as a boot volume. Set to NONE, the volume will not be used as boot volume.
// Set to PRIMARY, the volume will be used as boot volume and set to AUTO will delegate the decision to the provisioning engine to decide whether to use the volume as boot volume.
// Notice that exactly one volume can be set to PRIMARY or all of them set to AUTO.
BootOrder *string `json:"bootOrder,omitempty" tf:"boot_order,omitempty"`
// The bus type of the volume. Default setting is 'VIRTIO'. The bus type 'IDE' is also supported.
Bus *string `json:"bus,omitempty" tf:"bus,omitempty"`
// The image installed on the disk. Currently, only the UUID of the image is supported. Note that either 'image' or 'imageAlias' must be specified, but not both.
Image *string `json:"image,omitempty" tf:"image,omitempty"`
// The image installed on the volume. Must be an 'imageAlias' as specified via the images API. Note that one of 'image' or 'imageAlias' must be set, but not both.
ImageAlias *string `json:"imageAlias,omitempty" tf:"image_alias,omitempty"`
// Name for this replica volume.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`
// User-defined size for this replica volume in GB.
Size *float64 `json:"size,omitempty" tf:"size,omitempty"`
// Storage Type for this replica volume. Possible values: SSD, HDD, SSD_STANDARD or SSD_PREMIUM
Type *string `json:"type,omitempty" tf:"type,omitempty"`
// User-data (Cloud Init) for this replica volume.
UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}
func (*VolumeObservation) DeepCopy ¶
func (in *VolumeObservation) DeepCopy() *VolumeObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeObservation.
func (*VolumeObservation) DeepCopyInto ¶
func (in *VolumeObservation) DeepCopyInto(out *VolumeObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeParameters ¶
type VolumeParameters struct {
// The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
// +kubebuilder:validation:Optional
BackupUnitID *string `json:"backupUnitId,omitempty" tf:"backup_unit_id,omitempty"`
// Determines whether the volume will be used as a boot volume. Set to NONE, the volume will not be used as boot volume.
// Set to PRIMARY, the volume will be used as boot volume and set to AUTO will delegate the decision to the provisioning engine to decide whether to use the volume as boot volume.
// Notice that exactly one volume can be set to PRIMARY or all of them set to AUTO.
// +kubebuilder:validation:Optional
BootOrder *string `json:"bootOrder" tf:"boot_order,omitempty"`
// The bus type of the volume. Default setting is 'VIRTIO'. The bus type 'IDE' is also supported.
// +kubebuilder:validation:Optional
Bus *string `json:"bus,omitempty" tf:"bus,omitempty"`
// The image installed on the disk. Currently, only the UUID of the image is supported. Note that either 'image' or 'imageAlias' must be specified, but not both.
// +kubebuilder:validation:Optional
Image *string `json:"image,omitempty" tf:"image,omitempty"`
// The image installed on the volume. Must be an 'imageAlias' as specified via the images API. Note that one of 'image' or 'imageAlias' must be set, but not both.
// +kubebuilder:validation:Optional
ImageAlias *string `json:"imageAlias,omitempty" tf:"image_alias,omitempty"`
// Image password for this replica volume.
// +kubebuilder:validation:Optional
ImagePasswordSecretRef *v1.SecretKeySelector `json:"imagePasswordSecretRef,omitempty" tf:"-"`
// Name for this replica volume.
// +kubebuilder:validation:Optional
Name *string `json:"name" tf:"name,omitempty"`
// +kubebuilder:validation:Optional
SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`
// User-defined size for this replica volume in GB.
// +kubebuilder:validation:Optional
Size *float64 `json:"size" tf:"size,omitempty"`
// Storage Type for this replica volume. Possible values: SSD, HDD, SSD_STANDARD or SSD_PREMIUM
// +kubebuilder:validation:Optional
Type *string `json:"type" tf:"type,omitempty"`
// User-data (Cloud Init) for this replica volume.
// +kubebuilder:validation:Optional
UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}
func (*VolumeParameters) DeepCopy ¶
func (in *VolumeParameters) DeepCopy() *VolumeParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeParameters.
func (*VolumeParameters) DeepCopyInto ¶
func (in *VolumeParameters) DeepCopyInto(out *VolumeParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.