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)