ionoscloud-dbaas-postgres 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +70 -0
  4. data/LICENSE +201 -0
  5. data/README.md +65 -0
  6. data/Rakefile +10 -0
  7. data/docs/README.md +163 -0
  8. data/docs/api/BackupsApi.md +232 -0
  9. data/docs/api/ClustersApi.md +540 -0
  10. data/docs/api/LogsApi.md +91 -0
  11. data/docs/api/MetadataApi.md +153 -0
  12. data/docs/api/RestoresApi.md +84 -0
  13. data/docs/models/APIVersion.md +20 -0
  14. data/docs/models/BackupLocation.md +15 -0
  15. data/docs/models/BackupMetadata.md +20 -0
  16. data/docs/models/BackupResponse.md +24 -0
  17. data/docs/models/ClusterBackup.md +26 -0
  18. data/docs/models/ClusterBackupList.md +28 -0
  19. data/docs/models/ClusterBackupListAllOf.md +22 -0
  20. data/docs/models/ClusterList.md +28 -0
  21. data/docs/models/ClusterListAllOf.md +22 -0
  22. data/docs/models/ClusterLogs.md +18 -0
  23. data/docs/models/ClusterLogsInstances.md +20 -0
  24. data/docs/models/ClusterLogsMessages.md +20 -0
  25. data/docs/models/ClusterProperties.md +40 -0
  26. data/docs/models/ClusterResponse.md +24 -0
  27. data/docs/models/Connection.md +22 -0
  28. data/docs/models/CreateClusterProperties.md +42 -0
  29. data/docs/models/CreateClusterRequest.md +20 -0
  30. data/docs/models/CreateRestoreRequest.md +20 -0
  31. data/docs/models/DBUser.md +20 -0
  32. data/docs/models/DayOfTheWeek.md +15 -0
  33. data/docs/models/ErrorMessage.md +20 -0
  34. data/docs/models/ErrorResponse.md +20 -0
  35. data/docs/models/Location.md +15 -0
  36. data/docs/models/MaintenanceWindow.md +20 -0
  37. data/docs/models/Metadata.md +30 -0
  38. data/docs/models/Pagination.md +22 -0
  39. data/docs/models/PaginationLinks.md +22 -0
  40. data/docs/models/PatchClusterProperties.md +32 -0
  41. data/docs/models/PatchClusterRequest.md +20 -0
  42. data/docs/models/PostgresVersionList.md +18 -0
  43. data/docs/models/PostgresVersionListData.md +18 -0
  44. data/docs/models/ResourceType.md +15 -0
  45. data/docs/models/State.md +15 -0
  46. data/docs/models/StorageType.md +15 -0
  47. data/docs/models/SynchronizationMode.md +15 -0
  48. data/docs/summary.md +50 -0
  49. data/git_push.sh +58 -0
  50. data/ionoscloud-dbaas-postgres.gemspec +38 -0
  51. data/lib/ionoscloud-dbaas-postgres/api/backups_api.rb +205 -0
  52. data/lib/ionoscloud-dbaas-postgres/api/clusters_api.rb +464 -0
  53. data/lib/ionoscloud-dbaas-postgres/api/logs_api.rb +102 -0
  54. data/lib/ionoscloud-dbaas-postgres/api/metadata_api.rb +136 -0
  55. data/lib/ionoscloud-dbaas-postgres/api/restores_api.rb +93 -0
  56. data/lib/ionoscloud-dbaas-postgres/api_client.rb +471 -0
  57. data/lib/ionoscloud-dbaas-postgres/api_error.rb +57 -0
  58. data/lib/ionoscloud-dbaas-postgres/configuration.rb +291 -0
  59. data/lib/ionoscloud-dbaas-postgres/models/api_version.rb +227 -0
  60. data/lib/ionoscloud-dbaas-postgres/models/backup_location.rb +36 -0
  61. data/lib/ionoscloud-dbaas-postgres/models/backup_metadata.rb +229 -0
  62. data/lib/ionoscloud-dbaas-postgres/models/backup_response.rb +247 -0
  63. data/lib/ionoscloud-dbaas-postgres/models/cluster_backup.rb +260 -0
  64. data/lib/ionoscloud-dbaas-postgres/models/cluster_backup_list.rb +305 -0
  65. data/lib/ionoscloud-dbaas-postgres/models/cluster_backup_list_all_of.rb +237 -0
  66. data/lib/ionoscloud-dbaas-postgres/models/cluster_list.rb +305 -0
  67. data/lib/ionoscloud-dbaas-postgres/models/cluster_list_all_of.rb +237 -0
  68. data/lib/ionoscloud-dbaas-postgres/models/cluster_logs.rb +219 -0
  69. data/lib/ionoscloud-dbaas-postgres/models/cluster_logs_instances.rb +228 -0
  70. data/lib/ionoscloud-dbaas-postgres/models/cluster_logs_messages.rb +227 -0
  71. data/lib/ionoscloud-dbaas-postgres/models/cluster_properties.rb +417 -0
  72. data/lib/ionoscloud-dbaas-postgres/models/cluster_response.rb +247 -0
  73. data/lib/ionoscloud-dbaas-postgres/models/connection.rb +255 -0
  74. data/lib/ionoscloud-dbaas-postgres/models/create_cluster_properties.rb +501 -0
  75. data/lib/ionoscloud-dbaas-postgres/models/create_cluster_request.rb +228 -0
  76. data/lib/ionoscloud-dbaas-postgres/models/create_restore_request.rb +235 -0
  77. data/lib/ionoscloud-dbaas-postgres/models/day_of_the_week.rb +42 -0
  78. data/lib/ionoscloud-dbaas-postgres/models/db_user.rb +239 -0
  79. data/lib/ionoscloud-dbaas-postgres/models/error_message.rb +229 -0
  80. data/lib/ionoscloud-dbaas-postgres/models/error_response.rb +228 -0
  81. data/lib/ionoscloud-dbaas-postgres/models/location.rb +41 -0
  82. data/lib/ionoscloud-dbaas-postgres/models/maintenance_window.rb +238 -0
  83. data/lib/ionoscloud-dbaas-postgres/models/metadata.rb +275 -0
  84. data/lib/ionoscloud-dbaas-postgres/models/pagination.rb +268 -0
  85. data/lib/ionoscloud-dbaas-postgres/models/pagination_links.rb +240 -0
  86. data/lib/ionoscloud-dbaas-postgres/models/patch_cluster_properties.rb +381 -0
  87. data/lib/ionoscloud-dbaas-postgres/models/patch_cluster_request.rb +228 -0
  88. data/lib/ionoscloud-dbaas-postgres/models/postgres_version_list.rb +219 -0
  89. data/lib/ionoscloud-dbaas-postgres/models/postgres_version_list_data.rb +218 -0
  90. data/lib/ionoscloud-dbaas-postgres/models/resource_type.rb +38 -0
  91. data/lib/ionoscloud-dbaas-postgres/models/state.rb +40 -0
  92. data/lib/ionoscloud-dbaas-postgres/models/storage_type.rb +37 -0
  93. data/lib/ionoscloud-dbaas-postgres/models/synchronization_mode.rb +38 -0
  94. data/lib/ionoscloud-dbaas-postgres/version.rb +15 -0
  95. data/lib/ionoscloud-dbaas-postgres.rb +79 -0
  96. data/lib/test_driver.rb +119 -0
  97. data/sonar-project.properties +12 -0
  98. data/spec/api_client_spec.rb +226 -0
  99. data/spec/configuration_spec.rb +42 -0
  100. data/spec/spec_helper.rb +111 -0
  101. metadata +190 -0
@@ -0,0 +1,102 @@
1
+ =begin
2
+ #IONOS DBaaS REST API
3
+
4
+ #An enterprise-grade Database is provided as a Service (DBaaS) solution that can be managed through a browser-based \"Data Center Designer\" (DCD) tool or via an easy to use API. The API allows you to create additional database clusters or modify existing ones. It is designed to allow users to leverage the same power and flexibility found within the DCD visual tool. Both tools are consistent with their concepts and lend well to making the experience smooth and intuitive.
5
+
6
+ The version of the OpenAPI document: 0.0.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module IonoscloudDbaasPostgres
16
+ class LogsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get logs of your cluster
23
+ # Retrieves PostgreSQL logs based on the given parameters.
24
+ # @param cluster_id [String] The unique ID of the cluster.
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [Integer] :limit The maximal number of log lines to return.
27
+ # @option opts [Time] :start The start time for the query in RFC3339 format.
28
+ # @option opts [Time] :_end The end time for the query in RFC3339 format.
29
+ # @return [ClusterLogs]
30
+ def cluster_logs_get(cluster_id, opts = {})
31
+ data, _status_code, _headers = cluster_logs_get_with_http_info(cluster_id, opts)
32
+ data
33
+ end
34
+
35
+ # Get logs of your cluster
36
+ # Retrieves PostgreSQL logs based on the given parameters.
37
+ # @param cluster_id [String] The unique ID of the cluster.
38
+ # @param [Hash] opts the optional parameters
39
+ # @option opts [Integer] :limit The maximal number of log lines to return.
40
+ # @option opts [Time] :start The start time for the query in RFC3339 format.
41
+ # @option opts [Time] :_end The end time for the query in RFC3339 format.
42
+ # @return [Array<(ClusterLogs, Integer, Hash)>] ClusterLogs data, response status code and response headers
43
+ def cluster_logs_get_with_http_info(cluster_id, opts = {})
44
+ if @api_client.config.debugging
45
+ @api_client.config.logger.debug 'Calling API: LogsApi.cluster_logs_get ...'
46
+ end
47
+ # verify the required parameter 'cluster_id' is set
48
+ if @api_client.config.client_side_validation && cluster_id.nil?
49
+ fail ArgumentError, "Missing the required parameter 'cluster_id' when calling LogsApi.cluster_logs_get"
50
+ end
51
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 5000
52
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling LogsApi.cluster_logs_get, must be smaller than or equal to 5000.'
53
+ end
54
+
55
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
56
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling LogsApi.cluster_logs_get, must be greater than or equal to 1.'
57
+ end
58
+
59
+ # resource path
60
+ local_var_path = '/clusters/{clusterId}/logs'.sub('{' + 'clusterId' + '}', CGI.escape(cluster_id.to_s))
61
+
62
+ # query parameters
63
+ query_params = opts[:query_params] || {}
64
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
65
+ query_params[:'start'] = opts[:'start'] if !opts[:'start'].nil?
66
+ query_params[:'end'] = opts[:'_end'] if !opts[:'_end'].nil?
67
+
68
+ # header parameters
69
+ header_params = opts[:header_params] || {}
70
+ # HTTP header 'Accept' (if needed)
71
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
72
+
73
+ # form parameters
74
+ form_params = opts[:form_params] || {}
75
+
76
+ # http body (model)
77
+ post_body = opts[:debug_body]
78
+
79
+ # return_type
80
+ return_type = opts[:debug_return_type] || 'ClusterLogs'
81
+
82
+ # auth_names
83
+ auth_names = opts[:debug_auth_names] || ['basicAuth', 'tokenAuth']
84
+
85
+ new_options = opts.merge(
86
+ :operation => :"LogsApi.cluster_logs_get",
87
+ :header_params => header_params,
88
+ :query_params => query_params,
89
+ :form_params => form_params,
90
+ :body => post_body,
91
+ :auth_names => auth_names,
92
+ :return_type => return_type
93
+ )
94
+
95
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
96
+ if @api_client.config.debugging
97
+ @api_client.config.logger.debug "API called: LogsApi#cluster_logs_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
98
+ end
99
+ return data, status_code, headers
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,136 @@
1
+ =begin
2
+ #IONOS DBaaS REST API
3
+
4
+ #An enterprise-grade Database is provided as a Service (DBaaS) solution that can be managed through a browser-based \"Data Center Designer\" (DCD) tool or via an easy to use API. The API allows you to create additional database clusters or modify existing ones. It is designed to allow users to leverage the same power and flexibility found within the DCD visual tool. Both tools are consistent with their concepts and lend well to making the experience smooth and intuitive.
5
+
6
+ The version of the OpenAPI document: 0.0.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module IonoscloudDbaasPostgres
16
+ class MetadataApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get the current API version
23
+ # Retrieves the current version of the responding API.
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [APIVersion]
26
+ def infos_version_get(opts = {})
27
+ data, _status_code, _headers = infos_version_get_with_http_info(opts)
28
+ data
29
+ end
30
+
31
+ # Get the current API version
32
+ # Retrieves the current version of the responding API.
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(APIVersion, Integer, Hash)>] APIVersion data, response status code and response headers
35
+ def infos_version_get_with_http_info(opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: MetadataApi.infos_version_get ...'
38
+ end
39
+ # resource path
40
+ local_var_path = '/infos/version'
41
+
42
+ # query parameters
43
+ query_params = opts[:query_params] || {}
44
+
45
+ # header parameters
46
+ header_params = opts[:header_params] || {}
47
+ # HTTP header 'Accept' (if needed)
48
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
49
+
50
+ # form parameters
51
+ form_params = opts[:form_params] || {}
52
+
53
+ # http body (model)
54
+ post_body = opts[:debug_body]
55
+
56
+ # return_type
57
+ return_type = opts[:debug_return_type] || 'APIVersion'
58
+
59
+ # auth_names
60
+ auth_names = opts[:debug_auth_names] || ['basicAuth', 'tokenAuth']
61
+
62
+ new_options = opts.merge(
63
+ :operation => :"MetadataApi.infos_version_get",
64
+ :header_params => header_params,
65
+ :query_params => query_params,
66
+ :form_params => form_params,
67
+ :body => post_body,
68
+ :auth_names => auth_names,
69
+ :return_type => return_type
70
+ )
71
+
72
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
73
+ if @api_client.config.debugging
74
+ @api_client.config.logger.debug "API called: MetadataApi#infos_version_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
75
+ end
76
+ return data, status_code, headers
77
+ end
78
+
79
+ # Fetch all API versions
80
+ # Retrieves all available versions of the responding API.
81
+ # @param [Hash] opts the optional parameters
82
+ # @return [Array<APIVersion>]
83
+ def infos_versions_get(opts = {})
84
+ data, _status_code, _headers = infos_versions_get_with_http_info(opts)
85
+ data
86
+ end
87
+
88
+ # Fetch all API versions
89
+ # Retrieves all available versions of the responding API.
90
+ # @param [Hash] opts the optional parameters
91
+ # @return [Array<(Array<APIVersion>, Integer, Hash)>] Array<APIVersion> data, response status code and response headers
92
+ def infos_versions_get_with_http_info(opts = {})
93
+ if @api_client.config.debugging
94
+ @api_client.config.logger.debug 'Calling API: MetadataApi.infos_versions_get ...'
95
+ end
96
+ # resource path
97
+ local_var_path = '/infos/versions'
98
+
99
+ # query parameters
100
+ query_params = opts[:query_params] || {}
101
+
102
+ # header parameters
103
+ header_params = opts[:header_params] || {}
104
+ # HTTP header 'Accept' (if needed)
105
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
106
+
107
+ # form parameters
108
+ form_params = opts[:form_params] || {}
109
+
110
+ # http body (model)
111
+ post_body = opts[:debug_body]
112
+
113
+ # return_type
114
+ return_type = opts[:debug_return_type] || 'Array<APIVersion>'
115
+
116
+ # auth_names
117
+ auth_names = opts[:debug_auth_names] || ['basicAuth', 'tokenAuth']
118
+
119
+ new_options = opts.merge(
120
+ :operation => :"MetadataApi.infos_versions_get",
121
+ :header_params => header_params,
122
+ :query_params => query_params,
123
+ :form_params => form_params,
124
+ :body => post_body,
125
+ :auth_names => auth_names,
126
+ :return_type => return_type
127
+ )
128
+
129
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
130
+ if @api_client.config.debugging
131
+ @api_client.config.logger.debug "API called: MetadataApi#infos_versions_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
132
+ end
133
+ return data, status_code, headers
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,93 @@
1
+ =begin
2
+ #IONOS DBaaS REST API
3
+
4
+ #An enterprise-grade Database is provided as a Service (DBaaS) solution that can be managed through a browser-based \"Data Center Designer\" (DCD) tool or via an easy to use API. The API allows you to create additional database clusters or modify existing ones. It is designed to allow users to leverage the same power and flexibility found within the DCD visual tool. Both tools are consistent with their concepts and lend well to making the experience smooth and intuitive.
5
+
6
+ The version of the OpenAPI document: 0.0.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module IonoscloudDbaasPostgres
16
+ class RestoresApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # In-place restore of a cluster
23
+ # Triggers an in-place restore of the given PostgreSQL.
24
+ # @param cluster_id [String] The unique ID of the cluster.
25
+ # @param create_restore_request [CreateRestoreRequest] The restore request to create.
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [nil]
28
+ def cluster_restore_post(cluster_id, create_restore_request, opts = {})
29
+ cluster_restore_post_with_http_info(cluster_id, create_restore_request, opts)
30
+ nil
31
+ end
32
+
33
+ # In-place restore of a cluster
34
+ # Triggers an in-place restore of the given PostgreSQL.
35
+ # @param cluster_id [String] The unique ID of the cluster.
36
+ # @param create_restore_request [CreateRestoreRequest] The restore request to create.
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
39
+ def cluster_restore_post_with_http_info(cluster_id, create_restore_request, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: RestoresApi.cluster_restore_post ...'
42
+ end
43
+ # verify the required parameter 'cluster_id' is set
44
+ if @api_client.config.client_side_validation && cluster_id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'cluster_id' when calling RestoresApi.cluster_restore_post"
46
+ end
47
+ # verify the required parameter 'create_restore_request' is set
48
+ if @api_client.config.client_side_validation && create_restore_request.nil?
49
+ fail ArgumentError, "Missing the required parameter 'create_restore_request' when calling RestoresApi.cluster_restore_post"
50
+ end
51
+ # resource path
52
+ local_var_path = '/clusters/{clusterId}/restore'.sub('{' + 'clusterId' + '}', CGI.escape(cluster_id.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
61
+ # HTTP header 'Content-Type'
62
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
63
+
64
+ # form parameters
65
+ form_params = opts[:form_params] || {}
66
+
67
+ # http body (model)
68
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_restore_request)
69
+
70
+ # return_type
71
+ return_type = opts[:debug_return_type]
72
+
73
+ # auth_names
74
+ auth_names = opts[:debug_auth_names] || ['basicAuth', 'tokenAuth']
75
+
76
+ new_options = opts.merge(
77
+ :operation => :"RestoresApi.cluster_restore_post",
78
+ :header_params => header_params,
79
+ :query_params => query_params,
80
+ :form_params => form_params,
81
+ :body => post_body,
82
+ :auth_names => auth_names,
83
+ :return_type => return_type
84
+ )
85
+
86
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
87
+ if @api_client.config.debugging
88
+ @api_client.config.logger.debug "API called: RestoresApi#cluster_restore_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
89
+ end
90
+ return data, status_code, headers
91
+ end
92
+ end
93
+ end