class Ionoscloud::DataCenterApi

Attributes

api_client[RW]

Public Class Methods

new(api_client = ApiClient.default) click to toggle source
# File lib/ionoscloud/api/data_center_api.rb, line 19
def initialize(api_client = ApiClient.default)
  @api_client = api_client
end

Public Instance Methods

datacenters_delete(datacenter_id, opts = {}) click to toggle source

Delete a Data Center Will remove all objects within the datacenter and remove the datacenter object itself, too. This is a highly destructive method which should be used with caution @param datacenter_id [String] The unique ID of the datacenter @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth=0: only direct properties are included. Children (servers etc.) are not included - depth=1: direct properties and children references are included - depth=2: direct properties and children properties are included - depth=3: direct properties and children properties and children's children are included - depth=… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Object]

# File lib/ionoscloud/api/data_center_api.rb, line 30
def datacenters_delete(datacenter_id, opts = {})
  data, _status_code, _headers = datacenters_delete_with_http_info(datacenter_id, opts)
  data
end
datacenters_delete_with_http_info(datacenter_id, opts = {}) click to toggle source

Delete a Data Center Will remove all objects within the datacenter and remove the datacenter object itself, too. This is a highly destructive method which should be used with caution @param datacenter_id [String] The unique ID of the datacenter @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers

# File lib/ionoscloud/api/data_center_api.rb, line 43
def datacenters_delete_with_http_info(datacenter_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: DataCenterApi.datacenters_delete ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling DataCenterApi.datacenters_delete"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling DataCenterApi.datacenters_delete, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling DataCenterApi.datacenters_delete, must be greater than or equal to 0.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'Object'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"DataCenterApi.datacenters_delete",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: DataCenterApi#datacenters_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_find_by_id(datacenter_id, opts = {}) click to toggle source

Retrieve a Data Center You can retrieve a data center by using the resource's ID. This value can be found in the response body when a datacenter is created or when you GET a list of datacenters. @param datacenter_id [String] The unique ID of the datacenter @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Datacenter]

# File lib/ionoscloud/api/data_center_api.rb, line 110
def datacenters_find_by_id(datacenter_id, opts = {})
  data, _status_code, _headers = datacenters_find_by_id_with_http_info(datacenter_id, opts)
  data
end
datacenters_find_by_id_with_http_info(datacenter_id, opts = {}) click to toggle source

Retrieve a Data Center You can retrieve a data center by using the resource&#39;s ID. This value can be found in the response body when a datacenter is created or when you GET a list of datacenters. @param datacenter_id [String] The unique ID of the datacenter @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Array<(Datacenter, Integer, Hash)>] Datacenter data, response status code and response headers

# File lib/ionoscloud/api/data_center_api.rb, line 123
def datacenters_find_by_id_with_http_info(datacenter_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: DataCenterApi.datacenters_find_by_id ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling DataCenterApi.datacenters_find_by_id"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling DataCenterApi.datacenters_find_by_id, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling DataCenterApi.datacenters_find_by_id, must be greater than or equal to 0.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'Datacenter'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"DataCenterApi.datacenters_find_by_id",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: DataCenterApi#datacenters_find_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_get(opts = {}) click to toggle source

List Data Centers under your account You can retrieve a complete list of data centers provisioned under your account @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with &lt;code&gt;limit&lt;/code&gt; for pagination) (default to 0) @option opts [Integer] :limit the maximum number of elements to return (use together with &lt;code&gt;offset&lt;/code&gt; for pagination) (default to 1000) @return [Datacenters]

# File lib/ionoscloud/api/data_center_api.rb, line 191
def datacenters_get(opts = {})
  data, _status_code, _headers = datacenters_get_with_http_info(opts)
  data
end
datacenters_get_with_http_info(opts = {}) click to toggle source

List Data Centers under your account You can retrieve a complete list of data centers provisioned under your account @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with &lt;code&gt;limit&lt;/code&gt; for pagination) @option opts [Integer] :limit the maximum number of elements to return (use together with &lt;code&gt;offset&lt;/code&gt; for pagination) @return [Array<(Datacenters, Integer, Hash)>] Datacenters data, response status code and response headers

# File lib/ionoscloud/api/data_center_api.rb, line 205
def datacenters_get_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: DataCenterApi.datacenters_get ...'
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling DataCenterApi.datacenters_get, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling DataCenterApi.datacenters_get, must be greater than or equal to 0.'
  end

  if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
    fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling DataCenterApi.datacenters_get, must be greater than or equal to 0.'
  end

  if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 10000
    fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DataCenterApi.datacenters_get, must be smaller than or equal to 10000.'
  end

  if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
    fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DataCenterApi.datacenters_get, must be greater than or equal to 1.'
  end

  # resource path
  local_var_path = '/datacenters'

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
  query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
  query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'Datacenters'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"DataCenterApi.datacenters_get",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: DataCenterApi#datacenters_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_patch(datacenter_id, datacenter, opts = {}) click to toggle source

Partially modify a Data Center You can use update datacenter to re-name the datacenter or update its description @param datacenter_id [String] The unique ID of the datacenter @param datacenter [DatacenterProperties] Modified properties of Data Center @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Datacenter]

# File lib/ionoscloud/api/data_center_api.rb, line 283
def datacenters_patch(datacenter_id, datacenter, opts = {})
  data, _status_code, _headers = datacenters_patch_with_http_info(datacenter_id, datacenter, opts)
  data
end
datacenters_patch_with_http_info(datacenter_id, datacenter, opts = {}) click to toggle source

Partially modify a Data Center You can use update datacenter to re-name the datacenter or update its description @param datacenter_id [String] The unique ID of the datacenter @param datacenter [DatacenterProperties] Modified properties of Data Center @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Array<(Datacenter, Integer, Hash)>] Datacenter data, response status code and response headers

# File lib/ionoscloud/api/data_center_api.rb, line 297
def datacenters_patch_with_http_info(datacenter_id, datacenter, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: DataCenterApi.datacenters_patch ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling DataCenterApi.datacenters_patch"
  end
  # verify the required parameter 'datacenter' is set
  if @api_client.config.client_side_validation && datacenter.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter' when calling DataCenterApi.datacenters_patch"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling DataCenterApi.datacenters_patch, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling DataCenterApi.datacenters_patch, must be greater than or equal to 0.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(datacenter)

  # return_type
  return_type = opts[:debug_return_type] || 'Datacenter'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"DataCenterApi.datacenters_patch",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: DataCenterApi#datacenters_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_post(datacenter, opts = {}) click to toggle source

Create a Data Center Virtual data centers are the foundation of the platform. They act as logical containers for all other objects you will be creating, e.g. servers. You can provision as many data centers as you want. Datacenters have their own private network and are logically segmented from each other to create isolation. You can use this POST method to create a simple datacenter or to create a datacenter with multiple objects under it such as servers and storage volumes. @param datacenter [Datacenter] Datacenter to be created @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Datacenter]

# File lib/ionoscloud/api/data_center_api.rb, line 370
def datacenters_post(datacenter, opts = {})
  data, _status_code, _headers = datacenters_post_with_http_info(datacenter, opts)
  data
end
datacenters_post_with_http_info(datacenter, opts = {}) click to toggle source

Create a Data Center Virtual data centers are the foundation of the platform. They act as logical containers for all other objects you will be creating, e.g. servers. You can provision as many data centers as you want. Datacenters have their own private network and are logically segmented from each other to create isolation. You can use this POST method to create a simple datacenter or to create a datacenter with multiple objects under it such as servers and storage volumes. @param datacenter [Datacenter] Datacenter to be created @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Array<(Datacenter, Integer, Hash)>] Datacenter data, response status code and response headers

# File lib/ionoscloud/api/data_center_api.rb, line 383
def datacenters_post_with_http_info(datacenter, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: DataCenterApi.datacenters_post ...'
  end
  # verify the required parameter 'datacenter' is set
  if @api_client.config.client_side_validation && datacenter.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter' when calling DataCenterApi.datacenters_post"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling DataCenterApi.datacenters_post, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling DataCenterApi.datacenters_post, must be greater than or equal to 0.'
  end

  # resource path
  local_var_path = '/datacenters'

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(datacenter)

  # return_type
  return_type = opts[:debug_return_type] || 'Datacenter'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"DataCenterApi.datacenters_post",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: DataCenterApi#datacenters_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
datacenters_put(datacenter_id, datacenter, opts = {}) click to toggle source

Modify a Data Center You can use update datacenter to re-name the datacenter or update its description @param datacenter_id [String] The unique ID of the datacenter @param datacenter [Datacenter] Modified Data Center @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on (default to 0) @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Datacenter]

# File lib/ionoscloud/api/data_center_api.rb, line 453
def datacenters_put(datacenter_id, datacenter, opts = {})
  data, _status_code, _headers = datacenters_put_with_http_info(datacenter_id, datacenter, opts)
  data
end
datacenters_put_with_http_info(datacenter_id, datacenter, opts = {}) click to toggle source

Modify a Data Center You can use update datacenter to re-name the datacenter or update its description @param datacenter_id [String] The unique ID of the datacenter @param datacenter [Datacenter] Modified Data Center @param [Hash] opts the optional parameters @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/ - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;… and so on @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed @return [Array<(Datacenter, Integer, Hash)>] Datacenter data, response status code and response headers

# File lib/ionoscloud/api/data_center_api.rb, line 467
def datacenters_put_with_http_info(datacenter_id, datacenter, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: DataCenterApi.datacenters_put ...'
  end
  # verify the required parameter 'datacenter_id' is set
  if @api_client.config.client_side_validation && datacenter_id.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling DataCenterApi.datacenters_put"
  end
  # verify the required parameter 'datacenter' is set
  if @api_client.config.client_side_validation && datacenter.nil?
    fail ArgumentError, "Missing the required parameter 'datacenter' when calling DataCenterApi.datacenters_put"
  end
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling DataCenterApi.datacenters_put, must be smaller than or equal to 10.'
  end

  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
    fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling DataCenterApi.datacenters_put, must be greater than or equal to 0.'
  end

  # resource path
  local_var_path = '/datacenters/{datacenterId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
  header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(datacenter)

  # return_type
  return_type = opts[:debug_return_type] || 'Datacenter'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']

  new_options = opts.merge(
    :operation => :"DataCenterApi.datacenters_put",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: DataCenterApi#datacenters_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end