lib/ionoscloud/models/loadbalancer_properties.rb in ionoscloud-6.0.0.beta.4 vs lib/ionoscloud/models/loadbalancer_properties.rb in ionoscloud-6.0.0
- old
+ new
@@ -1,11 +1,11 @@
=begin
#CLOUD API
#IONOS Enterprise-grade Infrastructure as a Service (IaaS) solutions can be managed through the Cloud API, in addition or as an alternative to the \"Data Center Designer\" (DCD) browser-based tool. Both methods employ consistent concepts and features, deliver similar power and flexibility, and can be used to perform a multitude of management tasks, including adding servers, volumes, configuring networks, and so on.
-The version of the OpenAPI document: 6.0-SDK.3
+The version of the OpenAPI document: 6.0
Generated by: https://openapi-generator.tech
OpenAPI Generator version: 5.2.1-SNAPSHOT
=end
@@ -13,24 +13,30 @@
require 'date'
require 'time'
module Ionoscloud
class LoadbalancerProperties
- # A name of that resource
+
+ # The name of the resource.
attr_accessor :name
- # IPv4 address of the loadbalancer. All attached NICs will inherit this IP. Leaving value null will assign IP automatically
+
+ # IPv4 address of the loadbalancer. All attached NICs will inherit this IP. Leaving value null will assign IP automatically.
attr_accessor :ip
- # Indicates if the loadbalancer will reserve an IP using DHCP
+
+ # Indicates if the loadbalancer will reserve an IP using DHCP.
attr_accessor :dhcp
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
+
:'name' => :'name',
+
:'ip' => :'ip',
+
:'dhcp' => :'dhcp'
}
end
# Returns all the JSON keys this model knows about
@@ -39,19 +45,25 @@
end
# Attribute type mapping.
def self.openapi_types
{
+
:'name' => :'String',
+
:'ip' => :'String',
+
:'dhcp' => :'Boolean'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
+
+
+
])
end
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
@@ -65,43 +77,54 @@
if (!self.class.attribute_map.key?(k.to_sym))
fail ArgumentError, "`#{k}` is not a valid attribute in `Ionoscloud::LoadbalancerProperties`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
end
h[k.to_sym] = v
}
+
if attributes.key?(:'name')
self.name = attributes[:'name']
end
+
if attributes.key?(:'ip')
self.ip = attributes[:'ip']
end
+
if attributes.key?(:'dhcp')
self.dhcp = attributes[:'dhcp']
end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
invalid_properties = Array.new
+
+
pattern = Regexp.new(/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/)
if !@ip.nil? && @ip !~ pattern
invalid_properties.push("invalid value for \"ip\", must conform to the pattern #{pattern}.")
end
+
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
+
+
return false if !@ip.nil? && @ip !~ Regexp.new(/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/)
+
true
end
+
+
# Custom attribute writer method with validation
# @param [Object] ip Value to be assigned
def ip=(ip)
pattern = Regexp.new(/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/)
if !ip.nil? && ip !~ pattern
@@ -109,17 +132,18 @@
end
@ip = ip
end
+
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
- name == o.name &&
- ip == o.ip &&
- dhcp == o.dhcp
+ name == o.name &&
+ ip == o.ip &&
+ dhcp == o.dhcp
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)