azure_mgmt_network 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +3 -0
  5. data/Gemfile +15 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +131 -0
  8. data/Rakefile +5 -0
  9. data/azure_mgmt_network.gemspec +39 -0
  10. data/lib/azure_mgmt_network.rb +139 -0
  11. data/lib/azure_mgmt_network/Models/address_space.rb +60 -0
  12. data/lib/azure_mgmt_network/Models/application_gateway.rb +104 -0
  13. data/lib/azure_mgmt_network/Models/application_gateway_backend_address.rb +67 -0
  14. data/lib/azure_mgmt_network/Models/application_gateway_backend_address_pool.rb +90 -0
  15. data/lib/azure_mgmt_network/Models/application_gateway_backend_address_pool_properties_format.rb +121 -0
  16. data/lib/azure_mgmt_network/Models/application_gateway_backend_http_settings.rb +90 -0
  17. data/lib/azure_mgmt_network/Models/application_gateway_backend_http_settings_properties_format.rb +98 -0
  18. data/lib/azure_mgmt_network/Models/application_gateway_cookie_based_affinity.rb +16 -0
  19. data/lib/azure_mgmt_network/Models/application_gateway_frontend_ip_configuration.rb +91 -0
  20. data/lib/azure_mgmt_network/Models/application_gateway_frontend_ip_configuration_properties_format.rb +117 -0
  21. data/lib/azure_mgmt_network/Models/application_gateway_frontend_port.rb +90 -0
  22. data/lib/azure_mgmt_network/Models/application_gateway_frontend_port_properties_format.rb +70 -0
  23. data/lib/azure_mgmt_network/Models/application_gateway_http_listener.rb +90 -0
  24. data/lib/azure_mgmt_network/Models/application_gateway_http_listener_properties_format.rb +124 -0
  25. data/lib/azure_mgmt_network/Models/application_gateway_ip_configuration.rb +90 -0
  26. data/lib/azure_mgmt_network/Models/application_gateway_ip_configuration_properties_format.rb +77 -0
  27. data/lib/azure_mgmt_network/Models/application_gateway_list_result.rb +88 -0
  28. data/lib/azure_mgmt_network/Models/application_gateway_operational_state.rb +18 -0
  29. data/lib/azure_mgmt_network/Models/application_gateway_properties_format.rb +338 -0
  30. data/lib/azure_mgmt_network/Models/application_gateway_protocol.rb +16 -0
  31. data/lib/azure_mgmt_network/Models/application_gateway_request_routing_rule.rb +90 -0
  32. data/lib/azure_mgmt_network/Models/application_gateway_request_routing_rule_properties_format.rb +124 -0
  33. data/lib/azure_mgmt_network/Models/application_gateway_request_routing_rule_type.rb +15 -0
  34. data/lib/azure_mgmt_network/Models/application_gateway_sku.rb +88 -0
  35. data/lib/azure_mgmt_network/Models/application_gateway_sku_name.rb +17 -0
  36. data/lib/azure_mgmt_network/Models/application_gateway_ssl_certificate.rb +90 -0
  37. data/lib/azure_mgmt_network/Models/application_gateway_ssl_certificate_properties_format.rb +87 -0
  38. data/lib/azure_mgmt_network/Models/application_gateway_tier.rb +15 -0
  39. data/lib/azure_mgmt_network/Models/azure_async_operation_result.rb +85 -0
  40. data/lib/azure_mgmt_network/Models/backend_address_pool.rb +90 -0
  41. data/lib/azure_mgmt_network/Models/backend_address_pool_properties_format.rb +120 -0
  42. data/lib/azure_mgmt_network/Models/connection_reset_shared_key.rb +64 -0
  43. data/lib/azure_mgmt_network/Models/connection_reset_shared_key_properties_format.rb +60 -0
  44. data/lib/azure_mgmt_network/Models/connection_shared_key.rb +58 -0
  45. data/lib/azure_mgmt_network/Models/dhcp_options.rb +60 -0
  46. data/lib/azure_mgmt_network/Models/dns_name_availability_result.rb +58 -0
  47. data/lib/azure_mgmt_network/Models/error.rb +114 -0
  48. data/lib/azure_mgmt_network/Models/error_details.rb +76 -0
  49. data/lib/azure_mgmt_network/Models/frontend_ip_configuration.rb +90 -0
  50. data/lib/azure_mgmt_network/Models/frontend_ip_configuration_properties_format.rb +181 -0
  51. data/lib/azure_mgmt_network/Models/inbound_nat_rule.rb +90 -0
  52. data/lib/azure_mgmt_network/Models/inbound_nat_rule_properties_format.rb +163 -0
  53. data/lib/azure_mgmt_network/Models/ip_allocation_method.rb +16 -0
  54. data/lib/azure_mgmt_network/Models/load_balancer.rb +104 -0
  55. data/lib/azure_mgmt_network/Models/load_balancer_list_result.rb +88 -0
  56. data/lib/azure_mgmt_network/Models/load_balancer_properties_format.rb +210 -0
  57. data/lib/azure_mgmt_network/Models/load_balancing_rule.rb +90 -0
  58. data/lib/azure_mgmt_network/Models/load_balancing_rule_properties_format.rb +195 -0
  59. data/lib/azure_mgmt_network/Models/load_distribution.rb +17 -0
  60. data/lib/azure_mgmt_network/Models/local_network_gateway.rb +104 -0
  61. data/lib/azure_mgmt_network/Models/local_network_gateway_list_result.rb +88 -0
  62. data/lib/azure_mgmt_network/Models/local_network_gateway_properties_format.rb +83 -0
  63. data/lib/azure_mgmt_network/Models/network_interface.rb +104 -0
  64. data/lib/azure_mgmt_network/Models/network_interface_dns_settings.rb +89 -0
  65. data/lib/azure_mgmt_network/Models/network_interface_ip_configuration.rb +90 -0
  66. data/lib/azure_mgmt_network/Models/network_interface_ip_configuration_properties_format.rb +179 -0
  67. data/lib/azure_mgmt_network/Models/network_interface_list_result.rb +88 -0
  68. data/lib/azure_mgmt_network/Models/network_interface_properties_format.rb +158 -0
  69. data/lib/azure_mgmt_network/Models/network_security_group.rb +104 -0
  70. data/lib/azure_mgmt_network/Models/network_security_group_list_result.rb +88 -0
  71. data/lib/azure_mgmt_network/Models/network_security_group_properties_format.rb +181 -0
  72. data/lib/azure_mgmt_network/Models/operation_status.rb +17 -0
  73. data/lib/azure_mgmt_network/Models/probe.rb +90 -0
  74. data/lib/azure_mgmt_network/Models/probe_properties_format.rb +157 -0
  75. data/lib/azure_mgmt_network/Models/probe_protocol.rb +16 -0
  76. data/lib/azure_mgmt_network/Models/public_ip_address.rb +104 -0
  77. data/lib/azure_mgmt_network/Models/public_ip_address_dns_settings.rb +85 -0
  78. data/lib/azure_mgmt_network/Models/public_ip_address_list_result.rb +88 -0
  79. data/lib/azure_mgmt_network/Models/public_ip_address_properties_format.rb +126 -0
  80. data/lib/azure_mgmt_network/Models/security_rule.rb +90 -0
  81. data/lib/azure_mgmt_network/Models/security_rule_access.rb +16 -0
  82. data/lib/azure_mgmt_network/Models/security_rule_direction.rb +16 -0
  83. data/lib/azure_mgmt_network/Models/security_rule_list_result.rb +89 -0
  84. data/lib/azure_mgmt_network/Models/security_rule_properties_format.rb +174 -0
  85. data/lib/azure_mgmt_network/Models/security_rule_protocol.rb +17 -0
  86. data/lib/azure_mgmt_network/Models/subnet.rb +90 -0
  87. data/lib/azure_mgmt_network/Models/subnet_list_result.rb +88 -0
  88. data/lib/azure_mgmt_network/Models/subnet_properties_format.rb +115 -0
  89. data/lib/azure_mgmt_network/Models/transport_protocol.rb +16 -0
  90. data/lib/azure_mgmt_network/Models/usage.rb +98 -0
  91. data/lib/azure_mgmt_network/Models/usage_name.rb +68 -0
  92. data/lib/azure_mgmt_network/Models/usage_unit.rb +15 -0
  93. data/lib/azure_mgmt_network/Models/usages_list_result.rb +78 -0
  94. data/lib/azure_mgmt_network/Models/virtual_network.rb +104 -0
  95. data/lib/azure_mgmt_network/Models/virtual_network_gateway.rb +104 -0
  96. data/lib/azure_mgmt_network/Models/virtual_network_gateway_connection.rb +104 -0
  97. data/lib/azure_mgmt_network/Models/virtual_network_gateway_connection_list_result.rb +89 -0
  98. data/lib/azure_mgmt_network/Models/virtual_network_gateway_connection_properties_format.rb +141 -0
  99. data/lib/azure_mgmt_network/Models/virtual_network_gateway_connection_type.rb +18 -0
  100. data/lib/azure_mgmt_network/Models/virtual_network_gateway_ip_configuration.rb +90 -0
  101. data/lib/azure_mgmt_network/Models/virtual_network_gateway_ip_configuration_properties_format.rb +117 -0
  102. data/lib/azure_mgmt_network/Models/virtual_network_gateway_list_result.rb +88 -0
  103. data/lib/azure_mgmt_network/Models/virtual_network_gateway_properties_format.rb +126 -0
  104. data/lib/azure_mgmt_network/Models/virtual_network_gateway_type.rb +15 -0
  105. data/lib/azure_mgmt_network/Models/virtual_network_list_result.rb +88 -0
  106. data/lib/azure_mgmt_network/Models/virtual_network_properties_format.rb +123 -0
  107. data/lib/azure_mgmt_network/Models/vpn_type.rb +16 -0
  108. data/lib/azure_mgmt_network/application_gateways.rb +915 -0
  109. data/lib/azure_mgmt_network/load_balancers.rb +709 -0
  110. data/lib/azure_mgmt_network/local_network_gateways.rb +550 -0
  111. data/lib/azure_mgmt_network/module_definition.rb +6 -0
  112. data/lib/azure_mgmt_network/network_interfaces.rb +709 -0
  113. data/lib/azure_mgmt_network/network_resource_provider_client.rb +195 -0
  114. data/lib/azure_mgmt_network/network_security_groups.rb +718 -0
  115. data/lib/azure_mgmt_network/public_ip_addresses.rb +711 -0
  116. data/lib/azure_mgmt_network/security_rules.rb +563 -0
  117. data/lib/azure_mgmt_network/subnets.rb +552 -0
  118. data/lib/azure_mgmt_network/usages.rb +113 -0
  119. data/lib/azure_mgmt_network/version.rb +6 -0
  120. data/lib/azure_mgmt_network/virtual_network_gateway_connections.rb +945 -0
  121. data/lib/azure_mgmt_network/virtual_network_gateways.rb +686 -0
  122. data/lib/azure_mgmt_network/virtual_networks.rb +707 -0
  123. metadata +311 -0
@@ -0,0 +1,210 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Network
7
+ module Models
8
+ #
9
+ # Properties of Load Balancer
10
+ #
11
+ class LoadBalancerPropertiesFormat
12
+
13
+ include MsRestAzure
14
+
15
+ # @return [Array<FrontendIpConfiguration>] Gets or sets frontend IP
16
+ # addresses of the load balancer
17
+ attr_accessor :frontend_ipconfigurations
18
+
19
+ # @return [Array<BackendAddressPool>] Gets or sets Pools of backend IP
20
+ # addresseses
21
+ attr_accessor :backend_address_pools
22
+
23
+ # @return [Array<LoadBalancingRule>] Gets or sets loadbalancing rules
24
+ attr_accessor :load_balancing_rules
25
+
26
+ # @return [Array<Probe>] Gets or sets list of Load balancer probes
27
+ attr_accessor :probes
28
+
29
+ # @return [Array<InboundNatRule>] Gets or sets list of inbound rules
30
+ attr_accessor :inbound_nat_rules
31
+
32
+ # @return [String] Gets or sets Provisioning state of the PublicIP
33
+ # resource Updating/Deleting/Failed
34
+ attr_accessor :provisioning_state
35
+
36
+ #
37
+ # Validate the object. Throws ValidationError if validation fails.
38
+ #
39
+ def validate
40
+ @frontend_ipconfigurations.each{ |e| e.validate if e.respond_to?(:validate) } unless @frontend_ipconfigurations.nil?
41
+ @backend_address_pools.each{ |e| e.validate if e.respond_to?(:validate) } unless @backend_address_pools.nil?
42
+ @load_balancing_rules.each{ |e| e.validate if e.respond_to?(:validate) } unless @load_balancing_rules.nil?
43
+ @probes.each{ |e| e.validate if e.respond_to?(:validate) } unless @probes.nil?
44
+ @inbound_nat_rules.each{ |e| e.validate if e.respond_to?(:validate) } unless @inbound_nat_rules.nil?
45
+ end
46
+
47
+ #
48
+ # Serializes given Model object into Ruby Hash.
49
+ # @param object Model object to serialize.
50
+ # @return [Hash] Serialized object in form of Ruby Hash.
51
+ #
52
+ def self.serialize_object(object)
53
+ object.validate
54
+ output_object = {}
55
+
56
+ serialized_property = object.frontend_ipconfigurations
57
+ unless serialized_property.nil?
58
+ serializedArray = []
59
+ serialized_property.each do |element|
60
+ unless element.nil?
61
+ element = FrontendIpConfiguration.serialize_object(element)
62
+ end
63
+ serializedArray.push(element)
64
+ end
65
+ serialized_property = serializedArray
66
+ end
67
+ output_object['frontendIPConfigurations'] = serialized_property unless serialized_property.nil?
68
+
69
+ serialized_property = object.backend_address_pools
70
+ unless serialized_property.nil?
71
+ serializedArray = []
72
+ serialized_property.each do |element1|
73
+ unless element1.nil?
74
+ element1 = BackendAddressPool.serialize_object(element1)
75
+ end
76
+ serializedArray.push(element1)
77
+ end
78
+ serialized_property = serializedArray
79
+ end
80
+ output_object['backendAddressPools'] = serialized_property unless serialized_property.nil?
81
+
82
+ serialized_property = object.load_balancing_rules
83
+ unless serialized_property.nil?
84
+ serializedArray = []
85
+ serialized_property.each do |element2|
86
+ unless element2.nil?
87
+ element2 = LoadBalancingRule.serialize_object(element2)
88
+ end
89
+ serializedArray.push(element2)
90
+ end
91
+ serialized_property = serializedArray
92
+ end
93
+ output_object['loadBalancingRules'] = serialized_property unless serialized_property.nil?
94
+
95
+ serialized_property = object.probes
96
+ unless serialized_property.nil?
97
+ serializedArray = []
98
+ serialized_property.each do |element3|
99
+ unless element3.nil?
100
+ element3 = Probe.serialize_object(element3)
101
+ end
102
+ serializedArray.push(element3)
103
+ end
104
+ serialized_property = serializedArray
105
+ end
106
+ output_object['probes'] = serialized_property unless serialized_property.nil?
107
+
108
+ serialized_property = object.inbound_nat_rules
109
+ unless serialized_property.nil?
110
+ serializedArray = []
111
+ serialized_property.each do |element4|
112
+ unless element4.nil?
113
+ element4 = InboundNatRule.serialize_object(element4)
114
+ end
115
+ serializedArray.push(element4)
116
+ end
117
+ serialized_property = serializedArray
118
+ end
119
+ output_object['inboundNatRules'] = serialized_property unless serialized_property.nil?
120
+
121
+ serialized_property = object.provisioning_state
122
+ output_object['provisioningState'] = serialized_property unless serialized_property.nil?
123
+
124
+ output_object
125
+ end
126
+
127
+ #
128
+ # Deserializes given Ruby Hash into Model object.
129
+ # @param object [Hash] Ruby Hash object to deserialize.
130
+ # @return [LoadBalancerPropertiesFormat] Deserialized object.
131
+ #
132
+ def self.deserialize_object(object)
133
+ return if object.nil?
134
+ output_object = LoadBalancerPropertiesFormat.new
135
+
136
+ deserialized_property = object['frontendIPConfigurations']
137
+ unless deserialized_property.nil?
138
+ deserializedArray = [];
139
+ deserialized_property.each do |element5|
140
+ unless element5.nil?
141
+ element5 = FrontendIpConfiguration.deserialize_object(element5)
142
+ end
143
+ deserializedArray.push(element5);
144
+ end
145
+ deserialized_property = deserializedArray;
146
+ end
147
+ output_object.frontend_ipconfigurations = deserialized_property
148
+
149
+ deserialized_property = object['backendAddressPools']
150
+ unless deserialized_property.nil?
151
+ deserializedArray = [];
152
+ deserialized_property.each do |element6|
153
+ unless element6.nil?
154
+ element6 = BackendAddressPool.deserialize_object(element6)
155
+ end
156
+ deserializedArray.push(element6);
157
+ end
158
+ deserialized_property = deserializedArray;
159
+ end
160
+ output_object.backend_address_pools = deserialized_property
161
+
162
+ deserialized_property = object['loadBalancingRules']
163
+ unless deserialized_property.nil?
164
+ deserializedArray = [];
165
+ deserialized_property.each do |element7|
166
+ unless element7.nil?
167
+ element7 = LoadBalancingRule.deserialize_object(element7)
168
+ end
169
+ deserializedArray.push(element7);
170
+ end
171
+ deserialized_property = deserializedArray;
172
+ end
173
+ output_object.load_balancing_rules = deserialized_property
174
+
175
+ deserialized_property = object['probes']
176
+ unless deserialized_property.nil?
177
+ deserializedArray = [];
178
+ deserialized_property.each do |element8|
179
+ unless element8.nil?
180
+ element8 = Probe.deserialize_object(element8)
181
+ end
182
+ deserializedArray.push(element8);
183
+ end
184
+ deserialized_property = deserializedArray;
185
+ end
186
+ output_object.probes = deserialized_property
187
+
188
+ deserialized_property = object['inboundNatRules']
189
+ unless deserialized_property.nil?
190
+ deserializedArray = [];
191
+ deserialized_property.each do |element9|
192
+ unless element9.nil?
193
+ element9 = InboundNatRule.deserialize_object(element9)
194
+ end
195
+ deserializedArray.push(element9);
196
+ end
197
+ deserialized_property = deserializedArray;
198
+ end
199
+ output_object.inbound_nat_rules = deserialized_property
200
+
201
+ deserialized_property = object['provisioningState']
202
+ output_object.provisioning_state = deserialized_property
203
+
204
+ output_object.validate
205
+
206
+ output_object
207
+ end
208
+ end
209
+ end
210
+ end
@@ -0,0 +1,90 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Network
7
+ module Models
8
+ #
9
+ # Rules of the load balancer
10
+ #
11
+ class LoadBalancingRule < MsRestAzure::SubResource
12
+
13
+ include MsRestAzure
14
+
15
+ # @return [LoadBalancingRulePropertiesFormat]
16
+ attr_accessor :properties
17
+
18
+ # @return [String] Gets name of the resource that is unique within a
19
+ # resource group. This name can be used to access the resource
20
+ attr_accessor :name
21
+
22
+ # @return [String] A unique read-only string that changes whenever the
23
+ # resource is updated
24
+ attr_accessor :etag
25
+
26
+ #
27
+ # Validate the object. Throws ValidationError if validation fails.
28
+ #
29
+ def validate
30
+ @properties.validate unless @properties.nil?
31
+ end
32
+
33
+ #
34
+ # Serializes given Model object into Ruby Hash.
35
+ # @param object Model object to serialize.
36
+ # @return [Hash] Serialized object in form of Ruby Hash.
37
+ #
38
+ def self.serialize_object(object)
39
+ object.validate
40
+ output_object = {}
41
+
42
+ serialized_property = object.id
43
+ output_object['id'] = serialized_property unless serialized_property.nil?
44
+
45
+ serialized_property = object.properties
46
+ unless serialized_property.nil?
47
+ serialized_property = LoadBalancingRulePropertiesFormat.serialize_object(serialized_property)
48
+ end
49
+ output_object['properties'] = serialized_property unless serialized_property.nil?
50
+
51
+ serialized_property = object.name
52
+ output_object['name'] = serialized_property unless serialized_property.nil?
53
+
54
+ serialized_property = object.etag
55
+ output_object['etag'] = serialized_property unless serialized_property.nil?
56
+
57
+ output_object
58
+ end
59
+
60
+ #
61
+ # Deserializes given Ruby Hash into Model object.
62
+ # @param object [Hash] Ruby Hash object to deserialize.
63
+ # @return [LoadBalancingRule] Deserialized object.
64
+ #
65
+ def self.deserialize_object(object)
66
+ return if object.nil?
67
+ output_object = LoadBalancingRule.new
68
+
69
+ deserialized_property = object['id']
70
+ output_object.id = deserialized_property
71
+
72
+ deserialized_property = object['properties']
73
+ unless deserialized_property.nil?
74
+ deserialized_property = LoadBalancingRulePropertiesFormat.deserialize_object(deserialized_property)
75
+ end
76
+ output_object.properties = deserialized_property
77
+
78
+ deserialized_property = object['name']
79
+ output_object.name = deserialized_property
80
+
81
+ deserialized_property = object['etag']
82
+ output_object.etag = deserialized_property
83
+
84
+ output_object.validate
85
+
86
+ output_object
87
+ end
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,195 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Network
7
+ module Models
8
+ #
9
+ # Properties of the load balancer
10
+ #
11
+ class LoadBalancingRulePropertiesFormat
12
+
13
+ include MsRestAzure
14
+
15
+ # @return [SubResource] Gets or sets a reference to frontend IP Addresses
16
+ attr_accessor :frontend_ipconfiguration
17
+
18
+ # @return [SubResource] Gets or sets a reference to a pool of DIPs.
19
+ # Inbound traffic is randomly load balanced across IPs in the backend
20
+ # IPs
21
+ attr_accessor :backend_address_pool
22
+
23
+ # @return [SubResource] Gets or sets the reference of the load balancer
24
+ # probe used by the Load Balancing rule.
25
+ attr_accessor :probe
26
+
27
+ # @return [TransportProtocol] Gets or sets the transport protocol for
28
+ # the external endpoint. Possible values are Udp or Tcp. Possible
29
+ # values for this property include: 'Udp', 'Tcp'.
30
+ attr_accessor :protocol
31
+
32
+ # @return [LoadDistribution] Gets or sets the load distribution policy
33
+ # for this rule. Possible values for this property include: 'Default',
34
+ # 'SourceIP', 'SourceIPProtocol'.
35
+ attr_accessor :load_distribution
36
+
37
+ # @return [Integer] Gets or sets the port for the external endpoint. You
38
+ # can specify any port number you choose, but the port numbers
39
+ # specified for each role in the service must be unique. Possible
40
+ # values range between 1 and 65535, inclusive
41
+ attr_accessor :frontend_port
42
+
43
+ # @return [Integer] Gets or sets a port used for internal connections on
44
+ # the endpoint. The localPort attribute maps the eternal port of the
45
+ # endpoint to an internal port on a role. This is useful in scenarios
46
+ # where a role must communicate to an internal compotnent on a port
47
+ # that is different from the one that is exposed externally. If not
48
+ # specified, the value of localPort is the same as the port attribute.
49
+ # Set the value of localPort to '*' to automatically assign an
50
+ # unallocated port that is discoverable using the runtime API
51
+ attr_accessor :backend_port
52
+
53
+ # @return [Integer] Gets or sets the timeout for the Tcp idle
54
+ # connection. The value can be set between 4 and 30 minutes. The
55
+ # default value is 4 minutes. This emlement is only used when the
56
+ # protocol is set to Tcp
57
+ attr_accessor :idle_timeout_in_minutes
58
+
59
+ # @return [Boolean] Configures a virtual machine's endpoint for the
60
+ # floating IP capability required to configure a SQL AlwaysOn
61
+ # availability Group. This setting is required when using the SQL
62
+ # Always ON availability Groups in SQL server. This setting can't be
63
+ # changed after you create the endpoint
64
+ attr_accessor :enable_floating_ip
65
+
66
+ # @return [String] Gets or sets Provisioning state of the PublicIP
67
+ # resource Updating/Deleting/Failed
68
+ attr_accessor :provisioning_state
69
+
70
+ #
71
+ # Validate the object. Throws ValidationError if validation fails.
72
+ #
73
+ def validate
74
+ @frontend_ipconfiguration.validate unless @frontend_ipconfiguration.nil?
75
+ @backend_address_pool.validate unless @backend_address_pool.nil?
76
+ @probe.validate unless @probe.nil?
77
+ end
78
+
79
+ #
80
+ # Serializes given Model object into Ruby Hash.
81
+ # @param object Model object to serialize.
82
+ # @return [Hash] Serialized object in form of Ruby Hash.
83
+ #
84
+ def self.serialize_object(object)
85
+ object.validate
86
+ output_object = {}
87
+
88
+ serialized_property = object.frontend_ipconfiguration
89
+ unless serialized_property.nil?
90
+ serialized_property = SubResource.serialize_object(serialized_property)
91
+ end
92
+ output_object['frontendIPConfiguration'] = serialized_property unless serialized_property.nil?
93
+
94
+ serialized_property = object.backend_address_pool
95
+ unless serialized_property.nil?
96
+ serialized_property = SubResource.serialize_object(serialized_property)
97
+ end
98
+ output_object['backendAddressPool'] = serialized_property unless serialized_property.nil?
99
+
100
+ serialized_property = object.probe
101
+ unless serialized_property.nil?
102
+ serialized_property = SubResource.serialize_object(serialized_property)
103
+ end
104
+ output_object['probe'] = serialized_property unless serialized_property.nil?
105
+
106
+ serialized_property = object.protocol
107
+ output_object['protocol'] = serialized_property unless serialized_property.nil?
108
+
109
+ serialized_property = object.load_distribution
110
+ output_object['loadDistribution'] = serialized_property unless serialized_property.nil?
111
+
112
+ serialized_property = object.frontend_port
113
+ output_object['frontendPort'] = serialized_property unless serialized_property.nil?
114
+
115
+ serialized_property = object.backend_port
116
+ output_object['backendPort'] = serialized_property unless serialized_property.nil?
117
+
118
+ serialized_property = object.idle_timeout_in_minutes
119
+ output_object['idleTimeoutInMinutes'] = serialized_property unless serialized_property.nil?
120
+
121
+ serialized_property = object.enable_floating_ip
122
+ output_object['enableFloatingIP'] = serialized_property unless serialized_property.nil?
123
+
124
+ serialized_property = object.provisioning_state
125
+ output_object['provisioningState'] = serialized_property unless serialized_property.nil?
126
+
127
+ output_object
128
+ end
129
+
130
+ #
131
+ # Deserializes given Ruby Hash into Model object.
132
+ # @param object [Hash] Ruby Hash object to deserialize.
133
+ # @return [LoadBalancingRulePropertiesFormat] Deserialized object.
134
+ #
135
+ def self.deserialize_object(object)
136
+ return if object.nil?
137
+ output_object = LoadBalancingRulePropertiesFormat.new
138
+
139
+ deserialized_property = object['frontendIPConfiguration']
140
+ unless deserialized_property.nil?
141
+ deserialized_property = SubResource.deserialize_object(deserialized_property)
142
+ end
143
+ output_object.frontend_ipconfiguration = deserialized_property
144
+
145
+ deserialized_property = object['backendAddressPool']
146
+ unless deserialized_property.nil?
147
+ deserialized_property = SubResource.deserialize_object(deserialized_property)
148
+ end
149
+ output_object.backend_address_pool = deserialized_property
150
+
151
+ deserialized_property = object['probe']
152
+ unless deserialized_property.nil?
153
+ deserialized_property = SubResource.deserialize_object(deserialized_property)
154
+ end
155
+ output_object.probe = deserialized_property
156
+
157
+ deserialized_property = object['protocol']
158
+ if (!deserialized_property.nil? && !deserialized_property.empty?)
159
+ enum_is_valid = TransportProtocol.constants.any? { |e| TransportProtocol.const_get(e).to_s.downcase == deserialized_property.downcase }
160
+ fail MsRest::DeserializationError.new('Error occured while deserializing the enum', nil, nil, nil) unless enum_is_valid
161
+ end
162
+ output_object.protocol = deserialized_property
163
+
164
+ deserialized_property = object['loadDistribution']
165
+ if (!deserialized_property.nil? && !deserialized_property.empty?)
166
+ enum_is_valid = LoadDistribution.constants.any? { |e| LoadDistribution.const_get(e).to_s.downcase == deserialized_property.downcase }
167
+ fail MsRest::DeserializationError.new('Error occured while deserializing the enum', nil, nil, nil) unless enum_is_valid
168
+ end
169
+ output_object.load_distribution = deserialized_property
170
+
171
+ deserialized_property = object['frontendPort']
172
+ deserialized_property = Integer(deserialized_property) unless deserialized_property.to_s.empty?
173
+ output_object.frontend_port = deserialized_property
174
+
175
+ deserialized_property = object['backendPort']
176
+ deserialized_property = Integer(deserialized_property) unless deserialized_property.to_s.empty?
177
+ output_object.backend_port = deserialized_property
178
+
179
+ deserialized_property = object['idleTimeoutInMinutes']
180
+ deserialized_property = Integer(deserialized_property) unless deserialized_property.to_s.empty?
181
+ output_object.idle_timeout_in_minutes = deserialized_property
182
+
183
+ deserialized_property = object['enableFloatingIP']
184
+ output_object.enable_floating_ip = deserialized_property
185
+
186
+ deserialized_property = object['provisioningState']
187
+ output_object.provisioning_state = deserialized_property
188
+
189
+ output_object.validate
190
+
191
+ output_object
192
+ end
193
+ end
194
+ end
195
+ end