ionoscloud 6.0.2 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/docs/CHANGELOG.md +8 -0
  4. data/docs/api/ApplicationLoadBalancersApi.md +1586 -0
  5. data/docs/api/TargetGroupsApi.md +516 -0
  6. data/docs/models/ApplicationLoadBalancer.md +28 -0
  7. data/docs/models/ApplicationLoadBalancerEntities.md +18 -0
  8. data/docs/models/ApplicationLoadBalancerForwardingRule.md +26 -0
  9. data/docs/models/ApplicationLoadBalancerForwardingRuleProperties.md +30 -0
  10. data/docs/models/ApplicationLoadBalancerForwardingRulePut.md +24 -0
  11. data/docs/models/ApplicationLoadBalancerForwardingRules.md +30 -0
  12. data/docs/models/ApplicationLoadBalancerHttpRule.md +34 -0
  13. data/docs/models/ApplicationLoadBalancerHttpRuleCondition.md +26 -0
  14. data/docs/models/ApplicationLoadBalancerProperties.md +26 -0
  15. data/docs/models/ApplicationLoadBalancerPut.md +24 -0
  16. data/docs/models/ApplicationLoadBalancers.md +30 -0
  17. data/docs/models/TargetGroup.md +26 -0
  18. data/docs/models/TargetGroupHealthCheck.md +22 -0
  19. data/docs/models/TargetGroupHttpHealthCheck.md +28 -0
  20. data/docs/models/TargetGroupProperties.md +28 -0
  21. data/docs/models/TargetGroupPut.md +24 -0
  22. data/docs/models/TargetGroupTarget.md +26 -0
  23. data/docs/models/TargetGroups.md +30 -0
  24. data/lib/ionoscloud/api/application_load_balancers_api.rb +1690 -0
  25. data/lib/ionoscloud/api/target_groups_api.rb +530 -0
  26. data/lib/ionoscloud/api_client.rb +1 -1
  27. data/lib/ionoscloud/models/application_load_balancer.rb +319 -0
  28. data/lib/ionoscloud/models/application_load_balancer_entities.rb +226 -0
  29. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule.rb +302 -0
  30. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule_properties.rb +389 -0
  31. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule_put.rb +285 -0
  32. data/lib/ionoscloud/models/application_load_balancer_forwarding_rules.rb +334 -0
  33. data/lib/ionoscloud/models/application_load_balancer_http_rule.rb +427 -0
  34. data/lib/ionoscloud/models/application_load_balancer_http_rule_condition.rb +355 -0
  35. data/lib/ionoscloud/models/application_load_balancer_properties.rb +314 -0
  36. data/lib/ionoscloud/models/application_load_balancer_put.rb +285 -0
  37. data/lib/ionoscloud/models/application_load_balancers.rb +334 -0
  38. data/lib/ionoscloud/models/target_group.rb +302 -0
  39. data/lib/ionoscloud/models/target_group_health_check.rb +263 -0
  40. data/lib/ionoscloud/models/target_group_http_health_check.rb +373 -0
  41. data/lib/ionoscloud/models/target_group_properties.rb +376 -0
  42. data/lib/ionoscloud/models/target_group_put.rb +285 -0
  43. data/lib/ionoscloud/models/target_group_target.rb +314 -0
  44. data/lib/ionoscloud/models/target_groups.rb +334 -0
  45. data/lib/ionoscloud/version.rb +1 -1
  46. data/lib/ionoscloud.rb +20 -0
  47. metadata +42 -2
@@ -0,0 +1,34 @@
1
+ # ApplicationLoadBalancerHttpRule
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **name** | **String** | The unique name of the Application Load Balancer HTTP rule. | |
8
+ | **type** | **String** | Type of the HTTP rule. | |
9
+ | **target_group** | **String** | The ID of the target group; mandatory and only valid for FORWARD actions. | [optional] |
10
+ | **drop_query** | **Boolean** | Default is false; valid only for REDIRECT actions. | [optional] |
11
+ | **location** | **String** | The location for redirecting; mandatory and valid only for REDIRECT actions. | [optional] |
12
+ | **status_code** | **Integer** | Valid only for REDIRECT and STATIC actions. For REDIRECT actions, default is 301 and possible values are 301, 302, 303, 307, and 308. For STATIC actions, default is 503 and valid range is 200 to 599. | [optional] |
13
+ | **response_message** | **String** | The response message of the request; mandatory for STATIC actions. | [optional] |
14
+ | **content_type** | **String** | Valid only for STATIC actions. | [optional] |
15
+ | **conditions** | [**Array<ApplicationLoadBalancerHttpRuleCondition>**](ApplicationLoadBalancerHttpRuleCondition.md) | An array of items in the collection.The action is only performed if each and every condition is met; if no conditions are set, the rule will always be performed. | [optional] |
16
+
17
+ ## Example
18
+
19
+ ```ruby
20
+ require 'ionoscloud'
21
+
22
+ instance = Ionoscloud::ApplicationLoadBalancerHttpRule.new(
23
+ name: My Application Load Balancer HTTP rule,
24
+ type: FORWARD,
25
+ target_group: 96e514d0-73e4-4abd-8fbc-c0f53b79bfae,
26
+ drop_query: true,
27
+ location: www.ionos.com,
28
+ status_code: 301,
29
+ response_message: Application Down,
30
+ content_type: text/html,
31
+ conditions: null
32
+ )
33
+ ```
34
+
@@ -0,0 +1,26 @@
1
+ # ApplicationLoadBalancerHttpRuleCondition
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **type** | **String** | Type of the HTTP rule condition. | |
8
+ | **condition** | **String** | Matching rule for the HTTP rule condition attribute; mandatory for HEADER, PATH, QUERY, METHOD, HOST, and COOKIE types; must be null when type is SOURCE_IP. | |
9
+ | **negate** | **Boolean** | Specifies whether the condition is negated or not; the default is False. | [optional] |
10
+ | **key** | **String** | Must be null when type is PATH, METHOD, HOST, or SOURCE_IP. Key can only be set when type is COOKIES, HEADER, or QUERY. | [optional] |
11
+ | **value** | **String** | Mandatory for conditions CONTAINS, EQUALS, MATCHES, STARTS_WITH, ENDS_WITH; must be null when condition is EXISTS; should be a valid CIDR if provided and if type is SOURCE_IP. | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'ionoscloud'
17
+
18
+ instance = Ionoscloud::ApplicationLoadBalancerHttpRuleCondition.new(
19
+ type: HEADER,
20
+ condition: STARTS_WITH,
21
+ negate: false,
22
+ key: forward-at,
23
+ value: Friday
24
+ )
25
+ ```
26
+
@@ -0,0 +1,26 @@
1
+ # ApplicationLoadBalancerProperties
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **name** | **String** | The name of the Application Load Balancer. | |
8
+ | **listener_lan** | **Integer** | ID of the listening (inbound) LAN. | |
9
+ | **ips** | **Array<String>** | Collection of the Application Load Balancer IP addresses. (Inbound and outbound) IPs of the listenerLan are customer-reserved public IPs for the public Load Balancers, and private IPs for the private Load Balancers. | [optional] |
10
+ | **target_lan** | **Integer** | ID of the balanced private target LAN (outbound). | |
11
+ | **lb_private_ips** | **Array<String>** | Collection of private IP addresses with the subnet mask of the Application Load Balancer. IPs must contain valid a subnet mask. If no IP is provided, the system will generate an IP with /24 subnet. | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'ionoscloud'
17
+
18
+ instance = Ionoscloud::ApplicationLoadBalancerProperties.new(
19
+ name: My Application Load Balancer,
20
+ listener_lan: 1,
21
+ ips: [81.173.1.2, 22.231.2.2, 22.231.2.3],
22
+ target_lan: 2,
23
+ lb_private_ips: [81.173.1.5/24, 22.231.2.5/24]
24
+ )
25
+ ```
26
+
@@ -0,0 +1,24 @@
1
+ # ApplicationLoadBalancerPut
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | The resource's unique identifier. | [optional][readonly] |
8
+ | **type** | [**Type**](Type.md) | The type of object that has been created. | [optional] |
9
+ | **href** | **String** | URL to the object representation (absolute path). | [optional][readonly] |
10
+ | **properties** | [**ApplicationLoadBalancerProperties**](ApplicationLoadBalancerProperties.md) | | |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'ionoscloud'
16
+
17
+ instance = Ionoscloud::ApplicationLoadBalancerPut.new(
18
+ id: 15f67991-0f51-4efc-a8ad-ef1fb31a480c,
19
+ type: "applicationloadbalancer",
20
+ href: <RESOURCE-URI>,
21
+ properties: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,30 @@
1
+ # ApplicationLoadBalancers
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | The resource&#39;s unique identifier. | [optional][readonly] |
8
+ | **type** | [**Type**](Type.md) | The type of object that has been created. | [optional] |
9
+ | **href** | **String** | URL to the object representation (absolute path). | [optional][readonly] |
10
+ | **items** | [**Array&lt;ApplicationLoadBalancer&gt;**](ApplicationLoadBalancer.md) | Array of items in the collection. | [optional][readonly] |
11
+ | **offset** | **Float** | The offset (if specified in the request). | [optional] |
12
+ | **limit** | **Float** | The limit (if specified in the request). | [optional] |
13
+ | **_links** | [**PaginationLinks**](PaginationLinks.md) | | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'ionoscloud'
19
+
20
+ instance = Ionoscloud::ApplicationLoadBalancers.new(
21
+ id: 15f67991-0f51-4efc-a8ad-ef1fb31a480c,
22
+ type: "collection",
23
+ href: <RESOURCE-URI>,
24
+ items: null,
25
+ offset: 0,
26
+ limit: 1000,
27
+ _links: null
28
+ )
29
+ ```
30
+
@@ -0,0 +1,26 @@
1
+ # TargetGroup
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | The resource&#39;s unique identifier. | [optional][readonly] |
8
+ | **type** | [**Type**](Type.md) | The type of object that has been created. | [optional] |
9
+ | **href** | **String** | URL to the object representation (absolute path). | [optional][readonly] |
10
+ | **metadata** | [**DatacenterElementMetadata**](DatacenterElementMetadata.md) | | [optional] |
11
+ | **properties** | [**TargetGroupProperties**](TargetGroupProperties.md) | | |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'ionoscloud'
17
+
18
+ instance = Ionoscloud::TargetGroup.new(
19
+ id: 15f67991-0f51-4efc-a8ad-ef1fb31a480c,
20
+ type: "target-group",
21
+ href: <RESOURCE-URI>,
22
+ metadata: null,
23
+ properties: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,22 @@
1
+ # TargetGroupHealthCheck
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **check_timeout** | **Integer** | The maximum time in milliseconds to wait for a target to respond to a check. For target VMs with &#39;Check Interval&#39; set, the lesser of the two values is used once the TCP connection is established. | [optional] |
8
+ | **check_interval** | **Integer** | The interval in milliseconds between consecutive health checks; default is 2000. | [optional] |
9
+ | **retries** | **Integer** | The maximum number of attempts to reconnect to a target after a connection failure. Valid range is 0 to 65535, and default is three reconnection attempts. | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'ionoscloud'
15
+
16
+ instance = Ionoscloud::TargetGroupHealthCheck.new(
17
+ check_timeout: 2000,
18
+ check_interval: 2000,
19
+ retries: 3
20
+ )
21
+ ```
22
+
@@ -0,0 +1,28 @@
1
+ # TargetGroupHttpHealthCheck
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **path** | **String** | The path (destination URL) for the HTTP health check request; the default is /. | [optional] |
8
+ | **method** | **String** | The method for the HTTP health check. | [optional] |
9
+ | **match_type** | **String** | | |
10
+ | **response** | **String** | The response returned by the request, depending on the match type. | |
11
+ | **regex** | **Boolean** | | [optional] |
12
+ | **negate** | **Boolean** | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'ionoscloud'
18
+
19
+ instance = Ionoscloud::TargetGroupHttpHealthCheck.new(
20
+ path: /monitoring,
21
+ method: GET,
22
+ match_type: STATUS_CODE,
23
+ response: 200,
24
+ regex: false,
25
+ negate: false
26
+ )
27
+ ```
28
+
@@ -0,0 +1,28 @@
1
+ # TargetGroupProperties
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **name** | **String** | The name of the target group. | |
8
+ | **algorithm** | **String** | Balancing algorithm | |
9
+ | **protocol** | **String** | Balancing protocol | |
10
+ | **targets** | [**Array&lt;TargetGroupTarget&gt;**](TargetGroupTarget.md) | Array of items in the collection. | [optional] |
11
+ | **health_check** | [**TargetGroupHealthCheck**](TargetGroupHealthCheck.md) | | [optional] |
12
+ | **http_health_check** | [**TargetGroupHttpHealthCheck**](TargetGroupHttpHealthCheck.md) | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'ionoscloud'
18
+
19
+ instance = Ionoscloud::TargetGroupProperties.new(
20
+ name: My target group,
21
+ algorithm: ROUND_ROBIN,
22
+ protocol: HTTP,
23
+ targets: null,
24
+ health_check: null,
25
+ http_health_check: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,24 @@
1
+ # TargetGroupPut
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | The resource&#39;s unique identifier. | [optional][readonly] |
8
+ | **type** | [**Type**](Type.md) | The type of object that has been created. | [optional] |
9
+ | **href** | **String** | URL to the object representation (absolute path). | [optional][readonly] |
10
+ | **properties** | [**TargetGroupProperties**](TargetGroupProperties.md) | | |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'ionoscloud'
16
+
17
+ instance = Ionoscloud::TargetGroupPut.new(
18
+ id: 15f67991-0f51-4efc-a8ad-ef1fb31a480c,
19
+ type: "applicationloadbalancer",
20
+ href: <RESOURCE-URI>,
21
+ properties: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,26 @@
1
+ # TargetGroupTarget
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ip** | **String** | The IP of the balanced target VM. | |
8
+ | **port** | **Integer** | The port of the balanced target service; valid range is 1 to 65535. | |
9
+ | **weight** | **Integer** | Traffic is distributed in proportion to target weight, relative to the combined weight of all targets. A target with higher weight receives a greater share of traffic. Valid range is 0 to 256 and default is 1; targets with weight of 0 do not participate in load balancing but still accept persistent connections. It is best use values in the middle of the range to leave room for later adjustments. | |
10
+ | **health_check_enabled** | **Boolean** | When the health check is enabled, the target is available only when it accepts regular TCP or HTTP connection attempts for state checking. The state check consists of one connection attempt with the target&#39;s address and port. The default value is &#39;TRUE&#39;. | [optional] |
11
+ | **maintenance_enabled** | **Boolean** | When the maintenance mode is enabled, the target is prevented from receiving traffic; the default value is &#39;FALSE&#39;. | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'ionoscloud'
17
+
18
+ instance = Ionoscloud::TargetGroupTarget.new(
19
+ ip: 22.231.2.2,
20
+ port: 8080,
21
+ weight: 123,
22
+ health_check_enabled: null,
23
+ maintenance_enabled: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,30 @@
1
+ # TargetGroups
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | The resource&#39;s unique identifier. | [optional][readonly] |
8
+ | **type** | [**Type**](Type.md) | The type of object that has been created. | [optional] |
9
+ | **href** | **String** | URL to the object representation (absolute path). | [optional][readonly] |
10
+ | **items** | [**Array&lt;TargetGroup&gt;**](TargetGroup.md) | Array of items in the collection. | [optional][readonly] |
11
+ | **offset** | **Float** | The offset, specified in the request (if not is specified, 0 is used by default). | [optional] |
12
+ | **limit** | **Float** | The limit, specified in the request (if not specified, the endpoint&#39;s default pagination limit is used). | [optional] |
13
+ | **_links** | [**PaginationLinks**](PaginationLinks.md) | | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'ionoscloud'
19
+
20
+ instance = Ionoscloud::TargetGroups.new(
21
+ id: 15f67991-0f51-4efc-a8ad-ef1fb31a480c,
22
+ type: "collection",
23
+ href: <RESOURCE-URI>,
24
+ items: null,
25
+ offset: 0,
26
+ limit: 1000,
27
+ _links: null
28
+ )
29
+ ```
30
+