pnap_bmc_api 1.0.0 → 1.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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -4
  3. data/VERSION +1 -1
  4. data/docs/NetworkConfiguration.md +5 -1
  5. data/docs/OsConfiguration.md +3 -1
  6. data/docs/PrivateNetworkConfiguration.md +1 -1
  7. data/docs/PublicNetworkConfiguration.md +18 -0
  8. data/docs/Quota.md +2 -2
  9. data/docs/Server.md +2 -2
  10. data/docs/ServerCreate.md +3 -3
  11. data/docs/ServerPrivateNetwork.md +1 -1
  12. data/docs/ServerPublicNetwork.md +22 -0
  13. data/docs/ServersApi.md +156 -10
  14. data/lib/pnap_bmc_api/api/quotas_api.rb +1 -1
  15. data/lib/pnap_bmc_api/api/servers_api.rb +154 -15
  16. data/lib/pnap_bmc_api/api/ssh_keys_api.rb +1 -1
  17. data/lib/pnap_bmc_api/api_client.rb +1 -1
  18. data/lib/pnap_bmc_api/api_error.rb +1 -1
  19. data/lib/pnap_bmc_api/configuration.rb +1 -1
  20. data/lib/pnap_bmc_api/models/action_result.rb +1 -1
  21. data/lib/pnap_bmc_api/models/delete_result.rb +1 -1
  22. data/lib/pnap_bmc_api/models/delete_ssh_key_result.rb +1 -1
  23. data/lib/pnap_bmc_api/models/error.rb +1 -1
  24. data/lib/pnap_bmc_api/models/ip_blocks_configuration.rb +1 -1
  25. data/lib/pnap_bmc_api/models/network_configuration.rb +24 -5
  26. data/lib/pnap_bmc_api/models/os_configuration.rb +17 -5
  27. data/lib/pnap_bmc_api/models/os_configuration_map.rb +1 -1
  28. data/lib/pnap_bmc_api/models/os_configuration_map_esxi.rb +1 -1
  29. data/lib/pnap_bmc_api/models/os_configuration_map_proxmox.rb +1 -1
  30. data/lib/pnap_bmc_api/models/os_configuration_windows.rb +1 -1
  31. data/lib/pnap_bmc_api/models/private_network_configuration.rb +2 -2
  32. data/lib/pnap_bmc_api/models/public_network_configuration.rb +222 -0
  33. data/lib/pnap_bmc_api/models/quota.rb +2 -14
  34. data/lib/pnap_bmc_api/models/quota_edit_limit_request.rb +1 -1
  35. data/lib/pnap_bmc_api/models/quota_edit_limit_request_details.rb +1 -1
  36. data/lib/pnap_bmc_api/models/quota_edit_limit_request_details_all_of.rb +1 -1
  37. data/lib/pnap_bmc_api/models/relinquish_ip_block.rb +1 -1
  38. data/lib/pnap_bmc_api/models/reset_result.rb +1 -1
  39. data/lib/pnap_bmc_api/models/server.rb +3 -3
  40. data/lib/pnap_bmc_api/models/server_create.rb +4 -4
  41. data/lib/pnap_bmc_api/models/server_ip_block.rb +2 -2
  42. data/lib/pnap_bmc_api/models/server_patch.rb +1 -1
  43. data/lib/pnap_bmc_api/models/server_private_network.rb +2 -2
  44. data/lib/pnap_bmc_api/models/server_public_network.rb +271 -0
  45. data/lib/pnap_bmc_api/models/server_reserve.rb +1 -1
  46. data/lib/pnap_bmc_api/models/server_reset.rb +1 -1
  47. data/lib/pnap_bmc_api/models/ssh_key.rb +1 -1
  48. data/lib/pnap_bmc_api/models/ssh_key_create.rb +1 -1
  49. data/lib/pnap_bmc_api/models/ssh_key_update.rb +1 -1
  50. data/lib/pnap_bmc_api/models/tag_assignment.rb +1 -1
  51. data/lib/pnap_bmc_api/models/tag_assignment_request.rb +1 -1
  52. data/lib/pnap_bmc_api/version.rb +1 -1
  53. data/lib/pnap_bmc_api.rb +3 -1
  54. data/pnap_bmc_api.gemspec +2 -2
  55. data/spec/api_client_spec.rb +1 -1
  56. data/spec/configuration_spec.rb +1 -1
  57. data/spec/models/public_network_configuration_spec.rb +34 -0
  58. data/spec/models/server_public_network_spec.rb +46 -0
  59. data/spec/spec_helper.rb +1 -1
  60. metadata +32 -24
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7c5b2ad68bc62ada47f95823ea403da174846a41862b669d57ceb31005f052b3
4
- data.tar.gz: 573723f8e01729414d1116d49ec40ffa8a0365cfb1282e40843551f8f8e1e4ca
3
+ metadata.gz: 9a7d4011da9e9cf25920b8ab98c68659f29cc3f314ce7985a4f6ebf32487cd80
4
+ data.tar.gz: 988fb710d630cde105bc15f6dfb0ce7d7685732b296c6af6a784e83c3a3eb64d
5
5
  SHA512:
6
- metadata.gz: 3c731149eec84270fdee84251dd0a14dcc20859514769828d1c72e23b8de40a15fc54a5ffabb44d3b497bf188a65b056d38a56aca79de37152926873adbbab02
7
- data.tar.gz: e632cd3cf73c9ad514ddc09b9d34d5dd70f6f7ccd89f5d87121599462030c5309e27145aabb52d6543461e5f9e44986d7d511e9d7aa1e1d51b024a65d78f4aca
6
+ metadata.gz: bc50f06e11f1be83612e3f1ec1f377370fa3b351c271d5ffd5c5b43053f147b20a791daa1b460b9b9a45a277a69a78ce4d9398e9e367a5c7335aca7c17807a08
7
+ data.tar.gz: 8cfb0ecbff4ba9ca7dc8f91320f4633f878a950dcabe6fb8efd85ca680011deab993de5857a408667a19154cbc8c23347588ad09f30a8bcaf7999b76d787d143
data/README.md CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  BmcApi - the Ruby gem for the Bare Metal Cloud API
4
4
 
5
- Create, power off, power on, reset, reboot, or shut down your server with the Bare Metal Cloud API.
6
- Deprovision servers, get or edit SSH key details, and a lot more. Manage your infrastructure more efficiently
7
- using just a few simple api calls.<br>
5
+ Create, power off, power on, reset, reboot, or shut down your server with the Bare Metal Cloud API.
6
+ Deprovision servers, get or edit SSH key details, assign public IPs, assign servers to networks and a lot more.
7
+ Manage your infrastructure more efficiently using just a few simple API calls.<br>
8
8
  <br>
9
9
  <span class='pnap-api-knowledge-base-link'>
10
10
  Knowledge base articles to help you can be found
@@ -144,7 +144,9 @@ Class | Method | HTTP request | Description
144
144
  *BmcApi::ServersApi* | [**servers_server_id_ip_blocks_post**](docs/ServersApi.md#servers_server_id_ip_blocks_post) | **POST** /servers/{serverId}/network-configuration/ip-block-configurations/ip-blocks | Assign IP Block to Server.
145
145
  *BmcApi::ServersApi* | [**servers_server_id_patch**](docs/ServersApi.md#servers_server_id_patch) | **PATCH** /servers/{serverId} | Patch a Server.
146
146
  *BmcApi::ServersApi* | [**servers_server_id_private_networks_post**](docs/ServersApi.md#servers_server_id_private_networks_post) | **POST** /servers/{serverId}/network-configuration/private-network-configuration/private-networks | Adds the server to a private network.
147
- *BmcApi::ServersApi* | [**servers_server_id_tags_put**](docs/ServersApi.md#servers_server_id_tags_put) | **PUT** /servers/{serverId}/tags | Set server tags.
147
+ *BmcApi::ServersApi* | [**servers_server_id_public_networks_delete**](docs/ServersApi.md#servers_server_id_public_networks_delete) | **DELETE** /servers/{serverId}/network-configuration/public-network-configuration/public-networks/{publicNetworkId} | Removes the server from the Public Network
148
+ *BmcApi::ServersApi* | [**servers_server_id_public_networks_post**](docs/ServersApi.md#servers_server_id_public_networks_post) | **POST** /servers/{serverId}/network-configuration/public-network-configuration/public-networks | Adds the server to a Public Network.
149
+ *BmcApi::ServersApi* | [**servers_server_id_tags_put**](docs/ServersApi.md#servers_server_id_tags_put) | **PUT** /servers/{serverId}/tags | Overwrite tags assigned for Server.
148
150
 
149
151
 
150
152
  ## Documentation for Models
@@ -161,6 +163,7 @@ Class | Method | HTTP request | Description
161
163
  - [BmcApi::OsConfigurationMapProxmox](docs/OsConfigurationMapProxmox.md)
162
164
  - [BmcApi::OsConfigurationWindows](docs/OsConfigurationWindows.md)
163
165
  - [BmcApi::PrivateNetworkConfiguration](docs/PrivateNetworkConfiguration.md)
166
+ - [BmcApi::PublicNetworkConfiguration](docs/PublicNetworkConfiguration.md)
164
167
  - [BmcApi::Quota](docs/Quota.md)
165
168
  - [BmcApi::QuotaEditLimitRequest](docs/QuotaEditLimitRequest.md)
166
169
  - [BmcApi::QuotaEditLimitRequestDetails](docs/QuotaEditLimitRequestDetails.md)
@@ -172,6 +175,7 @@ Class | Method | HTTP request | Description
172
175
  - [BmcApi::ServerIpBlock](docs/ServerIpBlock.md)
173
176
  - [BmcApi::ServerPatch](docs/ServerPatch.md)
174
177
  - [BmcApi::ServerPrivateNetwork](docs/ServerPrivateNetwork.md)
178
+ - [BmcApi::ServerPublicNetwork](docs/ServerPublicNetwork.md)
175
179
  - [BmcApi::ServerReserve](docs/ServerReserve.md)
176
180
  - [BmcApi::ServerReset](docs/ServerReset.md)
177
181
  - [BmcApi::SshKey](docs/SshKey.md)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.1.0
@@ -4,8 +4,10 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
+ | **gateway_address** | **String** | The address of the gateway assigned / to assign to the server. When used as part of request body, IP address has to be part of private/public network assigned to this server. | [optional] |
7
8
  | **private_network_configuration** | [**PrivateNetworkConfiguration**](PrivateNetworkConfiguration.md) | | [optional] |
8
9
  | **ip_blocks_configuration** | [**IpBlocksConfiguration**](IpBlocksConfiguration.md) | | [optional] |
10
+ | **public_network_configuration** | [**PublicNetworkConfiguration**](PublicNetworkConfiguration.md) | | [optional] |
9
11
 
10
12
  ## Example
11
13
 
@@ -13,8 +15,10 @@
13
15
  require 'pnap_bmc_api'
14
16
 
15
17
  instance = BmcApi::NetworkConfiguration.new(
18
+ gateway_address: 182.16.0.145,
16
19
  private_network_configuration: null,
17
- ip_blocks_configuration: null
20
+ ip_blocks_configuration: null,
21
+ public_network_configuration: null
18
22
  )
19
23
  ```
20
24
 
@@ -8,6 +8,7 @@
8
8
  | **root_password** | **String** | Password set for user root on an ESXi server which will only be returned in response to provisioning a server. | [optional][readonly] |
9
9
  | **management_ui_url** | **String** | The URL of the management UI which will only be returned in response to provisioning a server. | [optional][readonly] |
10
10
  | **management_access_allowed_ips** | **Array&lt;String&gt;** | List of IPs allowed to access the Management UI. Supported in single IP, CIDR and range format. When undefined, Management UI is disabled. This will only be returned in response to provisioning a server. | [optional] |
11
+ | **install_os_to_ram** | **Boolean** | If true, OS will be installed to and booted from the server&#39;s RAM. On restart RAM OS will be lost and the server will not be reachable unless a custom bootable OS has been deployed. Only supported for ubuntu/focal. | [optional][default to false] |
11
12
 
12
13
  ## Example
13
14
 
@@ -18,7 +19,8 @@ instance = BmcApi::OsConfiguration.new(
18
19
  windows: null,
19
20
  root_password: MyP@ssw0rd_01,
20
21
  management_ui_url: https://172.217.22.14,
21
- management_access_allowed_ips: [&quot;172.217.22.14&quot;,&quot;10.111.14.40/29&quot;,&quot;10.111.14.66 - 10.111.14.71&quot;]
22
+ management_access_allowed_ips: [&quot;172.217.22.14&quot;,&quot;10.111.14.40/29&quot;,&quot;10.111.14.66 - 10.111.14.71&quot;],
23
+ install_os_to_ram: null
22
24
  )
23
25
  ```
24
26
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **gateway_address** | **String** | The address of the gateway assigned / to assign to the server. It&#39;ll be null and won&#39;t be displayed as part of response body if server is a member of both public and private networks. When used as part of request body, it has to match one of the IP addresses used in the existing assigned private networks for the relevant location. Also, this field can be submitted only when provisioning a server without being a member of any public network. | [optional] |
7
+ | **gateway_address** | **String** | The address of the gateway assigned / to assign to the server. When used as part of request body, it has to match one of the IP addresses used in the existing assigned private networks for the relevant location. Deprecated in favour of a common gateway address across all networks available under NetworkConfiguration. | [optional] |
8
8
  | **configuration_type** | **String** | Determines the approach for configuring private network(s) for the server being provisioned. Currently this field should be set to &#x60;USE_OR_CREATE_DEFAULT&#x60; or &#x60;USER_DEFINED&#x60;. | [optional][default to &#39;USE_OR_CREATE_DEFAULT&#39;] |
9
9
  | **private_networks** | [**Array&lt;ServerPrivateNetwork&gt;**](ServerPrivateNetwork.md) | The list of private networks this server is member of. When this field is part of request body, it&#39;ll be used to specify the private networks to assign to this server upon provisioning. Used alongside the &#x60;USER_DEFINED&#x60; configurationType. | [optional] |
10
10
 
@@ -0,0 +1,18 @@
1
+ # BmcApi::PublicNetworkConfiguration
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **public_networks** | [**Array&lt;ServerPublicNetwork&gt;**](ServerPublicNetwork.md) | The list of public networks this server is member of. When this field is part of request body, it&#39;ll be used to specify the public networks to assign to this server upon provisioning. | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'pnap_bmc_api'
13
+
14
+ instance = BmcApi::PublicNetworkConfiguration.new(
15
+ public_networks: [{&quot;id&quot;:&quot;60473c2509268bc77fd06d29&quot;,&quot;ips&quot;:[&quot;182.16.0.146&quot;,&quot;182.16.0.147&quot;]},{&quot;id&quot;:&quot;60f93142c5c1d6082d31382a&quot;,&quot;ips&quot;:[&quot;183.16.0.1&quot;]}]
16
+ )
17
+ ```
18
+
data/docs/Quota.md CHANGED
@@ -9,7 +9,7 @@
9
9
  | **description** | **String** | The Quota description. | |
10
10
  | **status** | **String** | The status of the quota resource usage. | |
11
11
  | **limit** | **Integer** | The limit set for the quota. | |
12
- | **unit** | **String** | An enum field describing what the limit is measured in. | |
12
+ | **unit** | **String** | Unit of the quota type. Supported values are &#39;COUNT&#39; and &#39;GB&#39;. | |
13
13
  | **used** | **Integer** | The quota used expressed as a number. | |
14
14
  | **quota_edit_limit_request_details** | [**Array&lt;QuotaEditLimitRequestDetails&gt;**](QuotaEditLimitRequestDetails.md) | | [readonly] |
15
15
 
@@ -24,7 +24,7 @@ instance = BmcApi::Quota.new(
24
24
  description: Maximum number of BMC servers,
25
25
  status: OVER_LIMIT,
26
26
  limit: 2,
27
- unit: null,
27
+ unit: COUNT,
28
28
  used: 2,
29
29
  quota_edit_limit_request_details: null
30
30
  )
data/docs/Server.md CHANGED
@@ -8,8 +8,8 @@
8
8
  | **status** | **String** | The status of the server. | |
9
9
  | **hostname** | **String** | Hostname of server. | |
10
10
  | **description** | **String** | Description of server. | [optional] |
11
- | **os** | **String** | The server’s OS ID used when the server was created. Currently this field should be set to either &#x60;ubuntu/bionic&#x60;, &#x60;ubuntu/focal&#x60;, &#x60;centos/centos7&#x60;, &#x60;windows/srv2019std&#x60;, &#x60;windows/srv2019dc&#x60;, &#x60;esxi/esxi70u2&#x60;, &#x60;debian/bullseye&#x60; or &#x60;proxmox/bullseye&#x60;. | |
12
- | **type** | **String** | Server type ID. Cannot be changed once a server is created. Currently this field should be set to either &#x60;s0.d1.small&#x60;, &#x60;s0.d1.medium&#x60;, &#x60;s1.c1.small&#x60;, &#x60;s1.c1.medium&#x60;, &#x60;s1.c2.medium&#x60;, &#x60;s1.c2.large&#x60;, &#x60;s1.e1.small&#x60;, &#x60;s1.e1.medium&#x60;, &#x60;s1.e1.large&#x60;, &#x60;s2.c1.small&#x60;, &#x60;s2.c1.medium&#x60;, &#x60;s2.c1.large&#x60;, &#x60;s2.c2.small&#x60;, &#x60;s2.c2.medium&#x60;, &#x60;s2.c2.large&#x60;, &#x60;d1.c1.small&#x60;, &#x60;d1.c2.small&#x60;, &#x60;d1.c3.small&#x60;, &#x60;d1.c4.small&#x60;, &#x60;d1.c1.medium&#x60;, &#x60;d1.c2.medium&#x60;, &#x60;d1.c3.medium&#x60;, &#x60;d1.c4.medium&#x60;, &#x60;d1.c1.large&#x60;, &#x60;d1.c2.large&#x60;, &#x60;d1.c3.large&#x60;, &#x60;d1.c4.large&#x60;, &#x60;d1.m1.medium&#x60;, &#x60;d1.m2.medium&#x60;, &#x60;d1.m3.medium&#x60;, &#x60;d1.m4.medium&#x60;, &#x60;d2.c3.medium&#x60;, &#x60;d2.c4.medium&#x60;, &#x60;d2.c5.medium&#x60;, &#x60;d2.c3.large&#x60;, &#x60;d2.c4.large&#x60;, &#x60;d2.c5.large&#x60;, &#x60;d2.m2.medium&#x60;, &#x60;d2.m2.large&#x60; or &#x60;d2.m2.xlarge&#x60;. | |
11
+ | **os** | **String** | The server’s OS ID used when the server was created. Currently this field should be set to either &#x60;ubuntu/bionic&#x60;, &#x60;ubuntu/focal&#x60;, &#x60;centos/centos7&#x60;, &#x60;centos/centos8&#x60;, &#x60;windows/srv2019std&#x60;, &#x60;windows/srv2019dc&#x60;, &#x60;esxi/esxi70u2&#x60;, &#x60;debian/bullseye&#x60; or &#x60;proxmox/bullseye&#x60;. | |
12
+ | **type** | **String** | Server type ID. Cannot be changed once a server is created. Currently this field should be set to either &#x60;s0.d1.small&#x60;, &#x60;s0.d1.medium&#x60;, &#x60;s1.c1.small&#x60;, &#x60;s1.c1.medium&#x60;, &#x60;s1.c2.medium&#x60;, &#x60;s1.c2.large&#x60;, &#x60;s1.e1.small&#x60;, &#x60;s1.e1.medium&#x60;, &#x60;s1.e1.large&#x60;, &#x60;s2.c1.small&#x60;, &#x60;s2.c1.medium&#x60;, &#x60;s2.c1.large&#x60;, &#x60;s2.c2.small&#x60;, &#x60;s2.c2.medium&#x60;, &#x60;s2.c2.large&#x60;, &#x60;d1.c1.small&#x60;, &#x60;d1.c2.small&#x60;, &#x60;d1.c3.small&#x60;, &#x60;d1.c4.small&#x60;, &#x60;d1.c1.medium&#x60;, &#x60;d1.c2.medium&#x60;, &#x60;d1.c3.medium&#x60;, &#x60;d1.c4.medium&#x60;, &#x60;d1.c1.large&#x60;, &#x60;d1.c2.large&#x60;, &#x60;d1.c3.large&#x60;, &#x60;d1.c4.large&#x60;, &#x60;d1.m1.medium&#x60;, &#x60;d1.m2.medium&#x60;, &#x60;d1.m3.medium&#x60;, &#x60;d1.m4.medium&#x60;, &#x60;d2.c1.medium&#x60;, &#x60;d2.c2.medium&#x60;, &#x60;d2.c3.medium&#x60;, &#x60;d2.c4.medium&#x60;, &#x60;d2.c5.medium&#x60;, &#x60;d2.c1.large&#x60;, &#x60;d2.c2.large&#x60;, &#x60;d2.c3.large&#x60;, &#x60;d2.c4.large&#x60;, &#x60;d2.c5.large&#x60;, &#x60;d2.m1.medium&#x60;, &#x60;d2.m1.large&#x60;, &#x60;d2.m2.medium&#x60;, &#x60;d2.m2.large&#x60;, &#x60;d2.m2.xlarge&#x60; or &#x60;d2.c4.storage.pliops1&#x60;. | |
13
13
  | **location** | **String** | Server location ID. Cannot be changed once a server is created. Currently this field should be set to &#x60;PHX&#x60;, &#x60;ASH&#x60;, &#x60;SGP&#x60;, &#x60;NLD&#x60;, &#x60;CHI&#x60;, &#x60;SEA&#x60; or &#x60;AUS&#x60;. | |
14
14
  | **cpu** | **String** | A description of the machine CPU. | |
15
15
  | **cpu_count** | **Integer** | The number of CPUs available in the system. | |
data/docs/ServerCreate.md CHANGED
@@ -6,8 +6,8 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **hostname** | **String** | Hostname of server. | |
8
8
  | **description** | **String** | Description of server. | [optional] |
9
- | **os** | **String** | The server’s OS ID used when the server was created. Currently this field should be set to either &#x60;ubuntu/bionic&#x60;, &#x60;ubuntu/focal&#x60;, &#x60;centos/centos7&#x60;, &#x60;windows/srv2019std&#x60;, &#x60;windows/srv2019dc&#x60;, &#x60;esxi/esxi70u2&#x60;, &#x60;debian/bullseye&#x60; or &#x60;proxmox/bullseye&#x60;. | |
10
- | **type** | **String** | Server type ID. Cannot be changed once a server is created. Currently this field should be set to either &#x60;s0.d1.small&#x60;, &#x60;s0.d1.medium&#x60;, &#x60;s1.c1.small&#x60;, &#x60;s1.c1.medium&#x60;, &#x60;s1.c2.medium&#x60;, &#x60;s1.c2.large&#x60;, &#x60;s1.e1.small&#x60;, &#x60;s1.e1.medium&#x60;, &#x60;s1.e1.large&#x60;, &#x60;s2.c1.small&#x60;, &#x60;s2.c1.medium&#x60;, &#x60;s2.c1.large&#x60;, &#x60;s2.c2.small&#x60;, &#x60;s2.c2.medium&#x60;, &#x60;s2.c2.large&#x60;, &#x60;d1.c1.small&#x60;, &#x60;d1.c2.small&#x60;, &#x60;d1.c3.small&#x60;, &#x60;d1.c4.small&#x60;, &#x60;d1.c1.medium&#x60;, &#x60;d1.c2.medium&#x60;, &#x60;d1.c3.medium&#x60;, &#x60;d1.c4.medium&#x60;, &#x60;d1.c1.large&#x60;, &#x60;d1.c2.large&#x60;, &#x60;d1.c3.large&#x60;, &#x60;d1.c4.large&#x60;, &#x60;d1.m1.medium&#x60;, &#x60;d1.m2.medium&#x60;, &#x60;d1.m3.medium&#x60;, &#x60;d1.m4.medium&#x60;, &#x60;d2.c3.medium&#x60;, &#x60;d2.c4.medium&#x60;, &#x60;d2.c5.medium&#x60;, &#x60;d2.c3.large&#x60;, &#x60;d2.c4.large&#x60;, &#x60;d2.c5.large&#x60;, &#x60;d2.m2.medium&#x60;, &#x60;d2.m2.large&#x60; or &#x60;d2.m2.xlarge&#x60;. | |
9
+ | **os** | **String** | The server’s OS ID used when the server was created. Currently this field should be set to either &#x60;ubuntu/bionic&#x60;, &#x60;ubuntu/focal&#x60;, &#x60;centos/centos7&#x60;,&#x60;centos/centos8&#x60;, &#x60;windows/srv2019std&#x60;, &#x60;windows/srv2019dc&#x60;, &#x60;esxi/esxi70u2&#x60;, &#x60;debian/bullseye&#x60; or &#x60;proxmox/bullseye&#x60;. | |
10
+ | **type** | **String** | Server type ID. Cannot be changed once a server is created. Currently this field should be set to either &#x60;s0.d1.small&#x60;, &#x60;s0.d1.medium&#x60;, &#x60;s1.c1.small&#x60;, &#x60;s1.c1.medium&#x60;, &#x60;s1.c2.medium&#x60;, &#x60;s1.c2.large&#x60;, &#x60;s1.e1.small&#x60;, &#x60;s1.e1.medium&#x60;, &#x60;s1.e1.large&#x60;, &#x60;s2.c1.small&#x60;, &#x60;s2.c1.medium&#x60;, &#x60;s2.c1.large&#x60;, &#x60;s2.c2.small&#x60;, &#x60;s2.c2.medium&#x60;, &#x60;s2.c2.large&#x60;, &#x60;d1.c1.small&#x60;, &#x60;d1.c2.small&#x60;, &#x60;d1.c3.small&#x60;, &#x60;d1.c4.small&#x60;, &#x60;d1.c1.medium&#x60;, &#x60;d1.c2.medium&#x60;, &#x60;d1.c3.medium&#x60;, &#x60;d1.c4.medium&#x60;, &#x60;d1.c1.large&#x60;, &#x60;d1.c2.large&#x60;, &#x60;d1.c3.large&#x60;, &#x60;d1.c4.large&#x60;, &#x60;d1.m1.medium&#x60;, &#x60;d1.m2.medium&#x60;, &#x60;d1.m3.medium&#x60;, &#x60;d1.m4.medium&#x60;, &#x60;d2.c1.medium&#x60;, &#x60;d2.c2.medium&#x60;, &#x60;d2.c3.medium&#x60;, &#x60;d2.c4.medium&#x60;, &#x60;d2.c5.medium&#x60;, &#x60;d2.c1.large&#x60;, &#x60;d2.c2.large&#x60;, &#x60;d2.c3.large&#x60;, &#x60;d2.c4.large&#x60;, &#x60;d2.c5.large&#x60;, &#x60;d2.m1.medium&#x60;, &#x60;d2.m1.large&#x60;, &#x60;d2.m2.medium&#x60;, &#x60;d2.m2.large&#x60;, &#x60;d2.m2.xlarge&#x60; or &#x60;d2.c4.storage.pliops1&#x60;. | |
11
11
  | **location** | **String** | Server location ID. Cannot be changed once a server is created. Currently this field should be set to &#x60;PHX&#x60;, &#x60;ASH&#x60;, &#x60;SGP&#x60;, &#x60;NLD&#x60;, &#x60;CHI&#x60;, &#x60;SEA&#x60; or &#x60;AUS&#x60;. | |
12
12
  | **install_default_ssh_keys** | **Boolean** | Whether or not to install SSH keys marked as default in addition to any SSH keys specified in this request. | [optional][default to true] |
13
13
  | **ssh_keys** | **Array&lt;String&gt;** | A list of SSH keys that will be installed on the server. | [optional] |
@@ -16,7 +16,7 @@
16
16
  | **pricing_model** | **String** | Server pricing model. Currently this field should be set to &#x60;HOURLY&#x60;, &#x60;ONE_MONTH_RESERVATION&#x60;, &#x60;TWELVE_MONTHS_RESERVATION&#x60;, &#x60;TWENTY_FOUR_MONTHS_RESERVATION&#x60; or &#x60;THIRTY_SIX_MONTHS_RESERVATION&#x60;. | [optional][default to &#39;HOURLY&#39;] |
17
17
  | **network_type** | **String** | The type of network configuration for this server. Currently this field should be set to &#x60;PUBLIC_AND_PRIVATE&#x60; or &#x60;PRIVATE_ONLY&#x60;. | [optional][default to &#39;PUBLIC_AND_PRIVATE&#39;] |
18
18
  | **os_configuration** | [**OsConfiguration**](OsConfiguration.md) | | [optional] |
19
- | **tags** | [**Array&lt;TagAssignmentRequest&gt;**](TagAssignmentRequest.md) | Tags to set to server, if any. | [optional] |
19
+ | **tags** | [**Array&lt;TagAssignmentRequest&gt;**](TagAssignmentRequest.md) | Tags to set to the server. To create a new tag or list all the existing tags that you can use, refer to [Tags API](https://developers.phoenixnap.com/docs/tags/1/overview). | [optional] |
20
20
  | **network_configuration** | [**NetworkConfiguration**](NetworkConfiguration.md) | | [optional] |
21
21
 
22
22
  ## Example
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **id** | **String** | The network identifier. | |
8
- | **ips** | **Array&lt;String&gt;** | IPs to configure/configured on the server. Should be null or empty list if DHCP is true. | [optional] |
8
+ | **ips** | **Array&lt;String&gt;** | IPs to configure/configured on the server. Should be null or empty list if DHCP is true. If the network contains a membership of type &#39;storage&#39;, the first twelve IPs are already reserved by BMC and not usable. These will return a Bad Request (400) if selected. | [optional] |
9
9
  | **dhcp** | **Boolean** | Determines whether DHCP is enabled for this server. Should be false if ips is not an empty list. Not supported for proxmox OS. | [optional][default to false] |
10
10
  | **status_description** | **String** | The status of the network. | [optional][readonly] |
11
11
 
@@ -0,0 +1,22 @@
1
+ # BmcApi::ServerPublicNetwork
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | The network identifier. | |
8
+ | **ips** | **Array&lt;String&gt;** | IPs to configure/configured on the server. IPs must be within the network&#39;s range. | |
9
+ | **status_description** | **String** | The status of the assignment to the network. | [optional][readonly] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'pnap_bmc_api'
15
+
16
+ instance = BmcApi::ServerPublicNetwork.new(
17
+ id: 60473c2509268bc77fd06d29,
18
+ ips: [&quot;182.16.0.146&quot;,&quot;182.16.0.147&quot;],
19
+ status_description: assigned
20
+ )
21
+ ```
22
+
data/docs/ServersApi.md CHANGED
@@ -20,7 +20,9 @@ All URIs are relative to *https://api.phoenixnap.com/bmc/v1*
20
20
  | [**servers_server_id_ip_blocks_post**](ServersApi.md#servers_server_id_ip_blocks_post) | **POST** /servers/{serverId}/network-configuration/ip-block-configurations/ip-blocks | Assign IP Block to Server. |
21
21
  | [**servers_server_id_patch**](ServersApi.md#servers_server_id_patch) | **PATCH** /servers/{serverId} | Patch a Server. |
22
22
  | [**servers_server_id_private_networks_post**](ServersApi.md#servers_server_id_private_networks_post) | **POST** /servers/{serverId}/network-configuration/private-network-configuration/private-networks | Adds the server to a private network. |
23
- | [**servers_server_id_tags_put**](ServersApi.md#servers_server_id_tags_put) | **PUT** /servers/{serverId}/tags | Set server tags. |
23
+ | [**servers_server_id_public_networks_delete**](ServersApi.md#servers_server_id_public_networks_delete) | **DELETE** /servers/{serverId}/network-configuration/public-network-configuration/public-networks/{publicNetworkId} | Removes the server from the Public Network |
24
+ | [**servers_server_id_public_networks_post**](ServersApi.md#servers_server_id_public_networks_post) | **POST** /servers/{serverId}/network-configuration/public-network-configuration/public-networks | Adds the server to a Public Network. |
25
+ | [**servers_server_id_tags_put**](ServersApi.md#servers_server_id_tags_put) | **PUT** /servers/{serverId}/tags | Overwrite tags assigned for Server. |
24
26
 
25
27
 
26
28
  ## delete_private_network
@@ -29,7 +31,7 @@ All URIs are relative to *https://api.phoenixnap.com/bmc/v1*
29
31
 
30
32
  Removes the server from private network.
31
33
 
32
- Removes the server from private network. <b>No actual configuration is performed on the operating system.</b> BMC configures exclusively the networking devices in the datacenter infrastructure. You are expected to perform network configuration changes in the operating system of this server. <b>This is an advanced network action that can make your server completely unavailable over any network. Make sure you are able to access this server over remote console in case of misconfiguration.</b>
34
+ Removes the server from private network. <b>No actual configuration is performed on the operating system.</b> BMC configures exclusively the networking devices in the datacenter infrastructure. Manual network configuration changes in the operating system of this server are required. <b>This is an advanced network action that can make your server completely unavailable over any network. Make sure this server is reachable over remote console for guaranteed access in case of misconfiguration.</b>
33
35
 
34
36
  ### Examples
35
37
 
@@ -595,7 +597,7 @@ end
595
597
 
596
598
  Reset server.
597
599
 
598
- Reset specific server.
600
+ Deprecated: Reset specific server. Reset only supports network configurations of type 'private network' or 'IP blocks'. As an alternative, the suggested action is to deprovision the server and provision a new one with the same configuration.
599
601
 
600
602
  ### Examples
601
603
 
@@ -875,7 +877,7 @@ end
875
877
 
876
878
  Unassign IP Block from Server.
877
879
 
878
- Removes the IP block from the server. <b>No actual configuration is performed on the operating system.</b> BMC configures exclusively the networking devices in the datacenter infrastructure. You are expected to perform network configuration changes in the operating system of this server. <b>This is an advanced network action that can make your server completely unavailable over any network. Make sure you are able to access this server over remote console in case of misconfiguration.</b>
880
+ Removes the IP block from the server. <b>No actual configuration is performed on the operating system.</b> BMC configures exclusively the networking devices in the datacenter infrastructure. Manual network configuration changes in the operating system of this server are required. <b>This is an advanced network action that can make your server completely unavailable over any network. Make sure this server is reachable over remote console for guaranteed access in case of misconfiguration.</b>
879
881
 
880
882
  ### Examples
881
883
 
@@ -950,7 +952,7 @@ end
950
952
 
951
953
  Assign IP Block to Server.
952
954
 
953
- Adds an IP block to this server. <b>No actual configuration is performed on the operating system.</b> BMC configures exclusively the networking devices in the datacenter infrastructure. You are expected to perform network configuration changes in the operating system of this server.
955
+ Adds an IP block to this server. <b>No actual configuration is performed on the operating system.</b> BMC configures exclusively the networking devices in the datacenter infrastructure. Manual network configuration changes in the operating system of this server are required. Knowledge base article to help you can be found <a href='https://phoenixnap.com/kb/configure-server-with-public-ip-block#ftoc-heading-2' target='_blank'>here</a>.
954
956
 
955
957
  ### Examples
956
958
 
@@ -1096,7 +1098,7 @@ end
1096
1098
 
1097
1099
  Adds the server to a private network.
1098
1100
 
1099
- Adds the server to a private network.
1101
+ Adds the server to a private network. <b>No actual configuration is performed on the operating system.</b> BMC configures exclusively the networking devices in the datacenter infrastructure. Manual network configuration changes in the operating system of this server are required. If the network contains a membership of type 'storage', the first twelve IPs are already reserved by BMC and not usable. These will return a Bad Request (400) if selected. Knowledge base article to help you can be found <a href='https://phoenixnap.com/kb/configure-bmc-server-after-adding-to-network#ftoc-heading-3' target='_blank'>here</a>.
1100
1102
 
1101
1103
  ### Examples
1102
1104
 
@@ -1163,13 +1165,157 @@ end
1163
1165
  - **Accept**: application/json
1164
1166
 
1165
1167
 
1168
+ ## servers_server_id_public_networks_delete
1169
+
1170
+ > String servers_server_id_public_networks_delete(server_id, public_network_id)
1171
+
1172
+ Removes the server from the Public Network
1173
+
1174
+ Removes the server from the Public Network. <b>No actual configuration is performed on the operating system.</b> BMC configures exclusively the networking devices in the datacenter infrastructure. Manual network configuration changes in the operating system of this server are required. <b>This is an advanced network action that can make your server completely unavailable over any network. Make sure this server is reachable over remote console for guaranteed access in case of misconfiguration.</b>
1175
+
1176
+ ### Examples
1177
+
1178
+ ```ruby
1179
+ require 'time'
1180
+ require 'pnap_bmc_api'
1181
+ # setup authorization
1182
+ BmcApi.configure do |config|
1183
+ # Configure OAuth2 access token for authorization: OAuth2
1184
+ config.access_token = 'YOUR ACCESS TOKEN'
1185
+ end
1186
+
1187
+ api_instance = BmcApi::ServersApi.new
1188
+ server_id = 'e6afba51-7de8-4080-83ab-0f915570659c' # String | The server's ID.
1189
+ public_network_id = '603f3b2cfcaf050643b89a4b' # String | The Public Network identifier.
1190
+
1191
+ begin
1192
+ # Removes the server from the Public Network
1193
+ result = api_instance.servers_server_id_public_networks_delete(server_id, public_network_id)
1194
+ p result
1195
+ rescue BmcApi::ApiError => e
1196
+ puts "Error when calling ServersApi->servers_server_id_public_networks_delete: #{e}"
1197
+ end
1198
+ ```
1199
+
1200
+ #### Using the servers_server_id_public_networks_delete_with_http_info variant
1201
+
1202
+ This returns an Array which contains the response data, status code and headers.
1203
+
1204
+ > <Array(String, Integer, Hash)> servers_server_id_public_networks_delete_with_http_info(server_id, public_network_id)
1205
+
1206
+ ```ruby
1207
+ begin
1208
+ # Removes the server from the Public Network
1209
+ data, status_code, headers = api_instance.servers_server_id_public_networks_delete_with_http_info(server_id, public_network_id)
1210
+ p status_code # => 2xx
1211
+ p headers # => { ... }
1212
+ p data # => String
1213
+ rescue BmcApi::ApiError => e
1214
+ puts "Error when calling ServersApi->servers_server_id_public_networks_delete_with_http_info: #{e}"
1215
+ end
1216
+ ```
1217
+
1218
+ ### Parameters
1219
+
1220
+ | Name | Type | Description | Notes |
1221
+ | ---- | ---- | ----------- | ----- |
1222
+ | **server_id** | **String** | The server&#39;s ID. | |
1223
+ | **public_network_id** | **String** | The Public Network identifier. | |
1224
+
1225
+ ### Return type
1226
+
1227
+ **String**
1228
+
1229
+ ### Authorization
1230
+
1231
+ [OAuth2](../README.md#OAuth2)
1232
+
1233
+ ### HTTP request headers
1234
+
1235
+ - **Content-Type**: Not defined
1236
+ - **Accept**: application/json
1237
+
1238
+
1239
+ ## servers_server_id_public_networks_post
1240
+
1241
+ > <ServerPublicNetwork> servers_server_id_public_networks_post(server_id, opts)
1242
+
1243
+ Adds the server to a Public Network.
1244
+
1245
+ Adds the server to a Public Network. <b>No actual configuration is performed on the operating system.</b> BMC configures exclusively the networking devices in the datacenter infrastructure. Manual network configuration changes in the operating system of this server are required. Knowledge base article to help you can be found <a href='https://phoenixnap.com/kb/configure-bmc-server-after-adding-to-network#ftoc-heading-3' target='_blank'>here</a>.
1246
+
1247
+ ### Examples
1248
+
1249
+ ```ruby
1250
+ require 'time'
1251
+ require 'pnap_bmc_api'
1252
+ # setup authorization
1253
+ BmcApi.configure do |config|
1254
+ # Configure OAuth2 access token for authorization: OAuth2
1255
+ config.access_token = 'YOUR ACCESS TOKEN'
1256
+ end
1257
+
1258
+ api_instance = BmcApi::ServersApi.new
1259
+ server_id = 'e6afba51-7de8-4080-83ab-0f915570659c' # String | The server's ID.
1260
+ opts = {
1261
+ server_public_network: BmcApi::ServerPublicNetwork.new({id: '60473c2509268bc77fd06d29', ips: ["182.16.0.146", "182.16.0.147"]}) # ServerPublicNetwork |
1262
+ }
1263
+
1264
+ begin
1265
+ # Adds the server to a Public Network.
1266
+ result = api_instance.servers_server_id_public_networks_post(server_id, opts)
1267
+ p result
1268
+ rescue BmcApi::ApiError => e
1269
+ puts "Error when calling ServersApi->servers_server_id_public_networks_post: #{e}"
1270
+ end
1271
+ ```
1272
+
1273
+ #### Using the servers_server_id_public_networks_post_with_http_info variant
1274
+
1275
+ This returns an Array which contains the response data, status code and headers.
1276
+
1277
+ > <Array(<ServerPublicNetwork>, Integer, Hash)> servers_server_id_public_networks_post_with_http_info(server_id, opts)
1278
+
1279
+ ```ruby
1280
+ begin
1281
+ # Adds the server to a Public Network.
1282
+ data, status_code, headers = api_instance.servers_server_id_public_networks_post_with_http_info(server_id, opts)
1283
+ p status_code # => 2xx
1284
+ p headers # => { ... }
1285
+ p data # => <ServerPublicNetwork>
1286
+ rescue BmcApi::ApiError => e
1287
+ puts "Error when calling ServersApi->servers_server_id_public_networks_post_with_http_info: #{e}"
1288
+ end
1289
+ ```
1290
+
1291
+ ### Parameters
1292
+
1293
+ | Name | Type | Description | Notes |
1294
+ | ---- | ---- | ----------- | ----- |
1295
+ | **server_id** | **String** | The server&#39;s ID. | |
1296
+ | **server_public_network** | [**ServerPublicNetwork**](ServerPublicNetwork.md) | | [optional] |
1297
+
1298
+ ### Return type
1299
+
1300
+ [**ServerPublicNetwork**](ServerPublicNetwork.md)
1301
+
1302
+ ### Authorization
1303
+
1304
+ [OAuth2](../README.md#OAuth2)
1305
+
1306
+ ### HTTP request headers
1307
+
1308
+ - **Content-Type**: application/json
1309
+ - **Accept**: application/json
1310
+
1311
+
1166
1312
  ## servers_server_id_tags_put
1167
1313
 
1168
1314
  > <Server> servers_server_id_tags_put(server_id, opts)
1169
1315
 
1170
- Set server tags.
1316
+ Overwrite tags assigned for Server.
1171
1317
 
1172
- Set tags for server.
1318
+ Overwrites tags assigned for Server and unassigns any tags not part of the request.
1173
1319
 
1174
1320
  ### Examples
1175
1321
 
@@ -1189,7 +1335,7 @@ opts = {
1189
1335
  }
1190
1336
 
1191
1337
  begin
1192
- # Set server tags.
1338
+ # Overwrite tags assigned for Server.
1193
1339
  result = api_instance.servers_server_id_tags_put(server_id, opts)
1194
1340
  p result
1195
1341
  rescue BmcApi::ApiError => e
@@ -1205,7 +1351,7 @@ This returns an Array which contains the response data, status code and headers.
1205
1351
 
1206
1352
  ```ruby
1207
1353
  begin
1208
- # Set server tags.
1354
+ # Overwrite tags assigned for Server.
1209
1355
  data, status_code, headers = api_instance.servers_server_id_tags_put_with_http_info(server_id, opts)
1210
1356
  p status_code # => 2xx
1211
1357
  p headers # => { ... }
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Bare Metal Cloud API
3
3
 
4
- #Create, power off, power on, reset, reboot, or shut down your server with the Bare Metal Cloud API. Deprovision servers, get or edit SSH key details, and a lot more. Manage your infrastructure more efficiently using just a few simple api calls.<br> <br> <span class='pnap-api-knowledge-base-link'> Knowledge base articles to help you can be found <a href='https://phoenixnap.com/kb/how-to-deploy-bare-metal-cloud-server' target='_blank'>here</a> </span><br> <br> <b>All URLs are relative to (https://api.phoenixnap.com/bmc/v1/)</b>
4
+ #Create, power off, power on, reset, reboot, or shut down your server with the Bare Metal Cloud API. Deprovision servers, get or edit SSH key details, assign public IPs, assign servers to networks and a lot more. Manage your infrastructure more efficiently using just a few simple API calls.<br> <br> <span class='pnap-api-knowledge-base-link'> Knowledge base articles to help you can be found <a href='https://phoenixnap.com/kb/how-to-deploy-bare-metal-cloud-server' target='_blank'>here</a> </span><br> <br> <b>All URLs are relative to (https://api.phoenixnap.com/bmc/v1/)</b>
5
5
 
6
6
  The version of the OpenAPI document: 0.1
7
7
  Contact: support@phoenixnap.com