mailodds 1.0.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 (182) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +64 -0
  4. data/Rakefile +10 -0
  5. data/docs/AddPolicyRule201Response.md +18 -0
  6. data/docs/AddSuppressionRequest.md +18 -0
  7. data/docs/AddSuppressionRequestEntriesInner.md +22 -0
  8. data/docs/AddSuppressionResponse.md +22 -0
  9. data/docs/BulkValidationApi.md +659 -0
  10. data/docs/CheckSuppressionRequest.md +18 -0
  11. data/docs/CreateJobFromS3Request.md +20 -0
  12. data/docs/CreateJobRequest.md +26 -0
  13. data/docs/CreatePolicyFromPresetRequest.md +22 -0
  14. data/docs/CreatePolicyRequest.md +24 -0
  15. data/docs/DeleteJob200Response.md +20 -0
  16. data/docs/DeletePolicy200Response.md +20 -0
  17. data/docs/DeletePolicyRule200Response.md +18 -0
  18. data/docs/EmailValidationApi.md +77 -0
  19. data/docs/ErrorResponse.md +22 -0
  20. data/docs/GetPresignedUploadRequest.md +20 -0
  21. data/docs/HealthCheck200Response.md +20 -0
  22. data/docs/Job.md +34 -0
  23. data/docs/JobListResponse.md +22 -0
  24. data/docs/JobResponse.md +20 -0
  25. data/docs/JobSummary.md +26 -0
  26. data/docs/Pagination.md +24 -0
  27. data/docs/Policy.md +34 -0
  28. data/docs/PolicyListResponse.md +22 -0
  29. data/docs/PolicyListResponseLimits.md +22 -0
  30. data/docs/PolicyPresetsResponse.md +20 -0
  31. data/docs/PolicyPresetsResponsePresetsInner.md +24 -0
  32. data/docs/PolicyResponse.md +20 -0
  33. data/docs/PolicyRule.md +28 -0
  34. data/docs/PolicyRuleAction.md +18 -0
  35. data/docs/PolicyTestResponse.md +26 -0
  36. data/docs/PresignedUploadResponse.md +20 -0
  37. data/docs/PresignedUploadResponseUpload.md +24 -0
  38. data/docs/RemoveSuppression200Response.md +20 -0
  39. data/docs/RemoveSuppressionRequest.md +18 -0
  40. data/docs/ResultsResponse.md +22 -0
  41. data/docs/SuppressionCheckResponse.md +26 -0
  42. data/docs/SuppressionEntry.md +26 -0
  43. data/docs/SuppressionListResponse.md +22 -0
  44. data/docs/SuppressionListsApi.md +362 -0
  45. data/docs/SuppressionStatsResponse.md +22 -0
  46. data/docs/SuppressionStatsResponseByType.md +20 -0
  47. data/docs/SystemApi.md +141 -0
  48. data/docs/TelemetrySummary.md +32 -0
  49. data/docs/TelemetrySummaryRates.md +24 -0
  50. data/docs/TelemetrySummaryTopDomainsInner.md +28 -0
  51. data/docs/TelemetrySummaryTopReasonsInner.md +20 -0
  52. data/docs/TelemetrySummaryTotals.md +20 -0
  53. data/docs/TestPolicyRequest.md +20 -0
  54. data/docs/TestPolicyRequestTestResult.md +26 -0
  55. data/docs/UpdatePolicyRequest.md +24 -0
  56. data/docs/ValidateRequest.md +20 -0
  57. data/docs/ValidationPoliciesApi.md +712 -0
  58. data/docs/ValidationResponse.md +40 -0
  59. data/docs/ValidationResponseSuppressionMatch.md +22 -0
  60. data/docs/ValidationResult.md +26 -0
  61. data/git_push.sh +57 -0
  62. data/lib/mailodds/api/bulk_validation_api.rb +651 -0
  63. data/lib/mailodds/api/email_validation_api.rb +90 -0
  64. data/lib/mailodds/api/suppression_lists_api.rb +356 -0
  65. data/lib/mailodds/api/system_api.rb +143 -0
  66. data/lib/mailodds/api/validation_policies_api.rb +686 -0
  67. data/lib/mailodds/api_client.rb +397 -0
  68. data/lib/mailodds/api_error.rb +58 -0
  69. data/lib/mailodds/api_model_base.rb +88 -0
  70. data/lib/mailodds/configuration.rb +308 -0
  71. data/lib/mailodds/models/add_policy_rule201_response.rb +147 -0
  72. data/lib/mailodds/models/add_suppression_request.rb +166 -0
  73. data/lib/mailodds/models/add_suppression_request_entries_inner.rb +223 -0
  74. data/lib/mailodds/models/add_suppression_response.rb +165 -0
  75. data/lib/mailodds/models/check_suppression_request.rb +164 -0
  76. data/lib/mailodds/models/create_job_from_s3_request.rb +176 -0
  77. data/lib/mailodds/models/create_job_request.rb +219 -0
  78. data/lib/mailodds/models/create_policy_from_preset_request.rb +225 -0
  79. data/lib/mailodds/models/create_policy_request.rb +223 -0
  80. data/lib/mailodds/models/delete_job200_response.rb +156 -0
  81. data/lib/mailodds/models/delete_policy200_response.rb +156 -0
  82. data/lib/mailodds/models/delete_policy_rule200_response.rb +147 -0
  83. data/lib/mailodds/models/error_response.rb +201 -0
  84. data/lib/mailodds/models/get_presigned_upload_request.rb +175 -0
  85. data/lib/mailodds/models/health_check200_response.rb +156 -0
  86. data/lib/mailodds/models/job.rb +281 -0
  87. data/lib/mailodds/models/job_list_response.rb +167 -0
  88. data/lib/mailodds/models/job_response.rb +156 -0
  89. data/lib/mailodds/models/job_summary.rb +183 -0
  90. data/lib/mailodds/models/pagination.rb +174 -0
  91. data/lib/mailodds/models/policy.rb +221 -0
  92. data/lib/mailodds/models/policy_list_response.rb +167 -0
  93. data/lib/mailodds/models/policy_list_response_limits.rb +166 -0
  94. data/lib/mailodds/models/policy_presets_response.rb +158 -0
  95. data/lib/mailodds/models/policy_presets_response_presets_inner.rb +176 -0
  96. data/lib/mailodds/models/policy_response.rb +156 -0
  97. data/lib/mailodds/models/policy_rule.rb +269 -0
  98. data/lib/mailodds/models/policy_rule_action.rb +181 -0
  99. data/lib/mailodds/models/policy_test_response.rb +187 -0
  100. data/lib/mailodds/models/presigned_upload_response.rb +156 -0
  101. data/lib/mailodds/models/presigned_upload_response_upload.rb +174 -0
  102. data/lib/mailodds/models/remove_suppression200_response.rb +156 -0
  103. data/lib/mailodds/models/remove_suppression_request.rb +166 -0
  104. data/lib/mailodds/models/results_response.rb +167 -0
  105. data/lib/mailodds/models/suppression_check_response.rb +217 -0
  106. data/lib/mailodds/models/suppression_entry.rb +217 -0
  107. data/lib/mailodds/models/suppression_list_response.rb +167 -0
  108. data/lib/mailodds/models/suppression_stats_response.rb +165 -0
  109. data/lib/mailodds/models/suppression_stats_response_by_type.rb +156 -0
  110. data/lib/mailodds/models/telemetry_summary.rb +251 -0
  111. data/lib/mailodds/models/telemetry_summary_rates.rb +179 -0
  112. data/lib/mailodds/models/telemetry_summary_top_domains_inner.rb +192 -0
  113. data/lib/mailodds/models/telemetry_summary_top_reasons_inner.rb +156 -0
  114. data/lib/mailodds/models/telemetry_summary_totals.rb +158 -0
  115. data/lib/mailodds/models/test_policy_request.rb +190 -0
  116. data/lib/mailodds/models/test_policy_request_test_result.rb +184 -0
  117. data/lib/mailodds/models/update_policy_request.rb +174 -0
  118. data/lib/mailodds/models/validate_request.rb +175 -0
  119. data/lib/mailodds/models/validation_response.rb +326 -0
  120. data/lib/mailodds/models/validation_response_suppression_match.rb +199 -0
  121. data/lib/mailodds/models/validation_result.rb +183 -0
  122. data/lib/mailodds/version.rb +15 -0
  123. data/lib/mailodds.rb +96 -0
  124. data/mailodds.gemspec +31 -0
  125. data/spec/api/bulk_validation_api_spec.rb +151 -0
  126. data/spec/api/email_validation_api_spec.rb +47 -0
  127. data/spec/api/suppression_lists_api_spec.rb +97 -0
  128. data/spec/api/system_api_spec.rb +58 -0
  129. data/spec/api/validation_policies_api_spec.rb +157 -0
  130. data/spec/models/add_policy_rule201_response_spec.rb +36 -0
  131. data/spec/models/add_suppression_request_entries_inner_spec.rb +52 -0
  132. data/spec/models/add_suppression_request_spec.rb +36 -0
  133. data/spec/models/add_suppression_response_spec.rb +48 -0
  134. data/spec/models/check_suppression_request_spec.rb +36 -0
  135. data/spec/models/create_job_from_s3_request_spec.rb +42 -0
  136. data/spec/models/create_job_request_spec.rb +60 -0
  137. data/spec/models/create_policy_from_preset_request_spec.rb +52 -0
  138. data/spec/models/create_policy_request_spec.rb +54 -0
  139. data/spec/models/delete_job200_response_spec.rb +42 -0
  140. data/spec/models/delete_policy200_response_spec.rb +42 -0
  141. data/spec/models/delete_policy_rule200_response_spec.rb +36 -0
  142. data/spec/models/error_response_spec.rb +48 -0
  143. data/spec/models/get_presigned_upload_request_spec.rb +42 -0
  144. data/spec/models/health_check200_response_spec.rb +42 -0
  145. data/spec/models/job_list_response_spec.rb +48 -0
  146. data/spec/models/job_response_spec.rb +42 -0
  147. data/spec/models/job_spec.rb +88 -0
  148. data/spec/models/job_summary_spec.rb +60 -0
  149. data/spec/models/pagination_spec.rb +54 -0
  150. data/spec/models/policy_list_response_limits_spec.rb +48 -0
  151. data/spec/models/policy_list_response_spec.rb +48 -0
  152. data/spec/models/policy_presets_response_presets_inner_spec.rb +54 -0
  153. data/spec/models/policy_presets_response_spec.rb +42 -0
  154. data/spec/models/policy_response_spec.rb +42 -0
  155. data/spec/models/policy_rule_action_spec.rb +40 -0
  156. data/spec/models/policy_rule_spec.rb +70 -0
  157. data/spec/models/policy_spec.rb +84 -0
  158. data/spec/models/policy_test_response_spec.rb +60 -0
  159. data/spec/models/presigned_upload_response_spec.rb +42 -0
  160. data/spec/models/presigned_upload_response_upload_spec.rb +54 -0
  161. data/spec/models/remove_suppression200_response_spec.rb +42 -0
  162. data/spec/models/remove_suppression_request_spec.rb +36 -0
  163. data/spec/models/results_response_spec.rb +48 -0
  164. data/spec/models/suppression_check_response_spec.rb +64 -0
  165. data/spec/models/suppression_entry_spec.rb +64 -0
  166. data/spec/models/suppression_list_response_spec.rb +48 -0
  167. data/spec/models/suppression_stats_response_by_type_spec.rb +42 -0
  168. data/spec/models/suppression_stats_response_spec.rb +48 -0
  169. data/spec/models/telemetry_summary_rates_spec.rb +54 -0
  170. data/spec/models/telemetry_summary_spec.rb +82 -0
  171. data/spec/models/telemetry_summary_top_domains_inner_spec.rb +66 -0
  172. data/spec/models/telemetry_summary_top_reasons_inner_spec.rb +42 -0
  173. data/spec/models/telemetry_summary_totals_spec.rb +42 -0
  174. data/spec/models/test_policy_request_spec.rb +42 -0
  175. data/spec/models/test_policy_request_test_result_spec.rb +60 -0
  176. data/spec/models/update_policy_request_spec.rb +54 -0
  177. data/spec/models/validate_request_spec.rb +42 -0
  178. data/spec/models/validation_response_spec.rb +110 -0
  179. data/spec/models/validation_response_suppression_match_spec.rb +52 -0
  180. data/spec/models/validation_result_spec.rb +60 -0
  181. data/spec/spec_helper.rb +111 -0
  182. metadata +322 -0
@@ -0,0 +1,686 @@
1
+ =begin
2
+ #MailOdds Email Validation API
3
+
4
+ #MailOdds provides email validation services to help maintain clean email lists and improve deliverability. The API performs multiple validation checks including format verification, domain validation, MX record checking, and disposable email detection. ## Authentication All API requests require authentication using a Bearer token. Include your API key in the Authorization header: ``` Authorization: Bearer YOUR_API_KEY ``` API keys can be created in the MailOdds dashboard. ## Rate Limits Rate limits vary by plan: - Free: 10 requests/minute - Starter: 60 requests/minute - Pro: 300 requests/minute - Business: 1000 requests/minute - Enterprise: Custom limits ## Response Format All responses include: - `schema_version`: API schema version (currently \"1.0\") - `request_id`: Unique request identifier for debugging Error responses include: - `error`: Machine-readable error code - `message`: Human-readable error description
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: support@mailodds.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Mailodds
16
+ class ValidationPoliciesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Add rule to policy
23
+ # Add a new rule to an existing policy.
24
+ # @param policy_id [Integer]
25
+ # @param policy_rule [PolicyRule]
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [AddPolicyRule201Response]
28
+ def add_policy_rule(policy_id, policy_rule, opts = {})
29
+ data, _status_code, _headers = add_policy_rule_with_http_info(policy_id, policy_rule, opts)
30
+ data
31
+ end
32
+
33
+ # Add rule to policy
34
+ # Add a new rule to an existing policy.
35
+ # @param policy_id [Integer]
36
+ # @param policy_rule [PolicyRule]
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(AddPolicyRule201Response, Integer, Hash)>] AddPolicyRule201Response data, response status code and response headers
39
+ def add_policy_rule_with_http_info(policy_id, policy_rule, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: ValidationPoliciesApi.add_policy_rule ...'
42
+ end
43
+ # verify the required parameter 'policy_id' is set
44
+ if @api_client.config.client_side_validation && policy_id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'policy_id' when calling ValidationPoliciesApi.add_policy_rule"
46
+ end
47
+ # verify the required parameter 'policy_rule' is set
48
+ if @api_client.config.client_side_validation && policy_rule.nil?
49
+ fail ArgumentError, "Missing the required parameter 'policy_rule' when calling ValidationPoliciesApi.add_policy_rule"
50
+ end
51
+ # resource path
52
+ local_var_path = '/v1/policies/{policy_id}/rules'.sub('{' + 'policy_id' + '}', CGI.escape(policy_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']) unless header_params['Accept']
61
+ # HTTP header 'Content-Type'
62
+ content_type = @api_client.select_header_content_type(['application/json'])
63
+ if !content_type.nil?
64
+ header_params['Content-Type'] = content_type
65
+ end
66
+
67
+ # form parameters
68
+ form_params = opts[:form_params] || {}
69
+
70
+ # http body (model)
71
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(policy_rule)
72
+
73
+ # return_type
74
+ return_type = opts[:debug_return_type] || 'AddPolicyRule201Response'
75
+
76
+ # auth_names
77
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
78
+
79
+ new_options = opts.merge(
80
+ :operation => :"ValidationPoliciesApi.add_policy_rule",
81
+ :header_params => header_params,
82
+ :query_params => query_params,
83
+ :form_params => form_params,
84
+ :body => post_body,
85
+ :auth_names => auth_names,
86
+ :return_type => return_type
87
+ )
88
+
89
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
90
+ if @api_client.config.debugging
91
+ @api_client.config.logger.debug "API called: ValidationPoliciesApi#add_policy_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
92
+ end
93
+ return data, status_code, headers
94
+ end
95
+
96
+ # Create policy
97
+ # Create a new validation policy with rules.
98
+ # @param create_policy_request [CreatePolicyRequest]
99
+ # @param [Hash] opts the optional parameters
100
+ # @return [PolicyResponse]
101
+ def create_policy(create_policy_request, opts = {})
102
+ data, _status_code, _headers = create_policy_with_http_info(create_policy_request, opts)
103
+ data
104
+ end
105
+
106
+ # Create policy
107
+ # Create a new validation policy with rules.
108
+ # @param create_policy_request [CreatePolicyRequest]
109
+ # @param [Hash] opts the optional parameters
110
+ # @return [Array<(PolicyResponse, Integer, Hash)>] PolicyResponse data, response status code and response headers
111
+ def create_policy_with_http_info(create_policy_request, opts = {})
112
+ if @api_client.config.debugging
113
+ @api_client.config.logger.debug 'Calling API: ValidationPoliciesApi.create_policy ...'
114
+ end
115
+ # verify the required parameter 'create_policy_request' is set
116
+ if @api_client.config.client_side_validation && create_policy_request.nil?
117
+ fail ArgumentError, "Missing the required parameter 'create_policy_request' when calling ValidationPoliciesApi.create_policy"
118
+ end
119
+ # resource path
120
+ local_var_path = '/v1/policies'
121
+
122
+ # query parameters
123
+ query_params = opts[:query_params] || {}
124
+
125
+ # header parameters
126
+ header_params = opts[:header_params] || {}
127
+ # HTTP header 'Accept' (if needed)
128
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
129
+ # HTTP header 'Content-Type'
130
+ content_type = @api_client.select_header_content_type(['application/json'])
131
+ if !content_type.nil?
132
+ header_params['Content-Type'] = content_type
133
+ end
134
+
135
+ # form parameters
136
+ form_params = opts[:form_params] || {}
137
+
138
+ # http body (model)
139
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_policy_request)
140
+
141
+ # return_type
142
+ return_type = opts[:debug_return_type] || 'PolicyResponse'
143
+
144
+ # auth_names
145
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
146
+
147
+ new_options = opts.merge(
148
+ :operation => :"ValidationPoliciesApi.create_policy",
149
+ :header_params => header_params,
150
+ :query_params => query_params,
151
+ :form_params => form_params,
152
+ :body => post_body,
153
+ :auth_names => auth_names,
154
+ :return_type => return_type
155
+ )
156
+
157
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
158
+ if @api_client.config.debugging
159
+ @api_client.config.logger.debug "API called: ValidationPoliciesApi#create_policy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
160
+ end
161
+ return data, status_code, headers
162
+ end
163
+
164
+ # Create policy from preset
165
+ # Create a policy using a preset template.
166
+ # @param create_policy_from_preset_request [CreatePolicyFromPresetRequest]
167
+ # @param [Hash] opts the optional parameters
168
+ # @return [PolicyResponse]
169
+ def create_policy_from_preset(create_policy_from_preset_request, opts = {})
170
+ data, _status_code, _headers = create_policy_from_preset_with_http_info(create_policy_from_preset_request, opts)
171
+ data
172
+ end
173
+
174
+ # Create policy from preset
175
+ # Create a policy using a preset template.
176
+ # @param create_policy_from_preset_request [CreatePolicyFromPresetRequest]
177
+ # @param [Hash] opts the optional parameters
178
+ # @return [Array<(PolicyResponse, Integer, Hash)>] PolicyResponse data, response status code and response headers
179
+ def create_policy_from_preset_with_http_info(create_policy_from_preset_request, opts = {})
180
+ if @api_client.config.debugging
181
+ @api_client.config.logger.debug 'Calling API: ValidationPoliciesApi.create_policy_from_preset ...'
182
+ end
183
+ # verify the required parameter 'create_policy_from_preset_request' is set
184
+ if @api_client.config.client_side_validation && create_policy_from_preset_request.nil?
185
+ fail ArgumentError, "Missing the required parameter 'create_policy_from_preset_request' when calling ValidationPoliciesApi.create_policy_from_preset"
186
+ end
187
+ # resource path
188
+ local_var_path = '/v1/policies/from-preset'
189
+
190
+ # query parameters
191
+ query_params = opts[:query_params] || {}
192
+
193
+ # header parameters
194
+ header_params = opts[:header_params] || {}
195
+ # HTTP header 'Accept' (if needed)
196
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
197
+ # HTTP header 'Content-Type'
198
+ content_type = @api_client.select_header_content_type(['application/json'])
199
+ if !content_type.nil?
200
+ header_params['Content-Type'] = content_type
201
+ end
202
+
203
+ # form parameters
204
+ form_params = opts[:form_params] || {}
205
+
206
+ # http body (model)
207
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_policy_from_preset_request)
208
+
209
+ # return_type
210
+ return_type = opts[:debug_return_type] || 'PolicyResponse'
211
+
212
+ # auth_names
213
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
214
+
215
+ new_options = opts.merge(
216
+ :operation => :"ValidationPoliciesApi.create_policy_from_preset",
217
+ :header_params => header_params,
218
+ :query_params => query_params,
219
+ :form_params => form_params,
220
+ :body => post_body,
221
+ :auth_names => auth_names,
222
+ :return_type => return_type
223
+ )
224
+
225
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
226
+ if @api_client.config.debugging
227
+ @api_client.config.logger.debug "API called: ValidationPoliciesApi#create_policy_from_preset\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
228
+ end
229
+ return data, status_code, headers
230
+ end
231
+
232
+ # Delete policy
233
+ # Delete a policy and all its rules.
234
+ # @param policy_id [Integer]
235
+ # @param [Hash] opts the optional parameters
236
+ # @return [DeletePolicy200Response]
237
+ def delete_policy(policy_id, opts = {})
238
+ data, _status_code, _headers = delete_policy_with_http_info(policy_id, opts)
239
+ data
240
+ end
241
+
242
+ # Delete policy
243
+ # Delete a policy and all its rules.
244
+ # @param policy_id [Integer]
245
+ # @param [Hash] opts the optional parameters
246
+ # @return [Array<(DeletePolicy200Response, Integer, Hash)>] DeletePolicy200Response data, response status code and response headers
247
+ def delete_policy_with_http_info(policy_id, opts = {})
248
+ if @api_client.config.debugging
249
+ @api_client.config.logger.debug 'Calling API: ValidationPoliciesApi.delete_policy ...'
250
+ end
251
+ # verify the required parameter 'policy_id' is set
252
+ if @api_client.config.client_side_validation && policy_id.nil?
253
+ fail ArgumentError, "Missing the required parameter 'policy_id' when calling ValidationPoliciesApi.delete_policy"
254
+ end
255
+ # resource path
256
+ local_var_path = '/v1/policies/{policy_id}'.sub('{' + 'policy_id' + '}', CGI.escape(policy_id.to_s))
257
+
258
+ # query parameters
259
+ query_params = opts[:query_params] || {}
260
+
261
+ # header parameters
262
+ header_params = opts[:header_params] || {}
263
+ # HTTP header 'Accept' (if needed)
264
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
265
+
266
+ # form parameters
267
+ form_params = opts[:form_params] || {}
268
+
269
+ # http body (model)
270
+ post_body = opts[:debug_body]
271
+
272
+ # return_type
273
+ return_type = opts[:debug_return_type] || 'DeletePolicy200Response'
274
+
275
+ # auth_names
276
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
277
+
278
+ new_options = opts.merge(
279
+ :operation => :"ValidationPoliciesApi.delete_policy",
280
+ :header_params => header_params,
281
+ :query_params => query_params,
282
+ :form_params => form_params,
283
+ :body => post_body,
284
+ :auth_names => auth_names,
285
+ :return_type => return_type
286
+ )
287
+
288
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
289
+ if @api_client.config.debugging
290
+ @api_client.config.logger.debug "API called: ValidationPoliciesApi#delete_policy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
291
+ end
292
+ return data, status_code, headers
293
+ end
294
+
295
+ # Delete rule
296
+ # Delete a rule from a policy.
297
+ # @param policy_id [Integer]
298
+ # @param rule_id [Integer]
299
+ # @param [Hash] opts the optional parameters
300
+ # @return [DeletePolicyRule200Response]
301
+ def delete_policy_rule(policy_id, rule_id, opts = {})
302
+ data, _status_code, _headers = delete_policy_rule_with_http_info(policy_id, rule_id, opts)
303
+ data
304
+ end
305
+
306
+ # Delete rule
307
+ # Delete a rule from a policy.
308
+ # @param policy_id [Integer]
309
+ # @param rule_id [Integer]
310
+ # @param [Hash] opts the optional parameters
311
+ # @return [Array<(DeletePolicyRule200Response, Integer, Hash)>] DeletePolicyRule200Response data, response status code and response headers
312
+ def delete_policy_rule_with_http_info(policy_id, rule_id, opts = {})
313
+ if @api_client.config.debugging
314
+ @api_client.config.logger.debug 'Calling API: ValidationPoliciesApi.delete_policy_rule ...'
315
+ end
316
+ # verify the required parameter 'policy_id' is set
317
+ if @api_client.config.client_side_validation && policy_id.nil?
318
+ fail ArgumentError, "Missing the required parameter 'policy_id' when calling ValidationPoliciesApi.delete_policy_rule"
319
+ end
320
+ # verify the required parameter 'rule_id' is set
321
+ if @api_client.config.client_side_validation && rule_id.nil?
322
+ fail ArgumentError, "Missing the required parameter 'rule_id' when calling ValidationPoliciesApi.delete_policy_rule"
323
+ end
324
+ # resource path
325
+ local_var_path = '/v1/policies/{policy_id}/rules/{rule_id}'.sub('{' + 'policy_id' + '}', CGI.escape(policy_id.to_s)).sub('{' + 'rule_id' + '}', CGI.escape(rule_id.to_s))
326
+
327
+ # query parameters
328
+ query_params = opts[:query_params] || {}
329
+
330
+ # header parameters
331
+ header_params = opts[:header_params] || {}
332
+ # HTTP header 'Accept' (if needed)
333
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
334
+
335
+ # form parameters
336
+ form_params = opts[:form_params] || {}
337
+
338
+ # http body (model)
339
+ post_body = opts[:debug_body]
340
+
341
+ # return_type
342
+ return_type = opts[:debug_return_type] || 'DeletePolicyRule200Response'
343
+
344
+ # auth_names
345
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
346
+
347
+ new_options = opts.merge(
348
+ :operation => :"ValidationPoliciesApi.delete_policy_rule",
349
+ :header_params => header_params,
350
+ :query_params => query_params,
351
+ :form_params => form_params,
352
+ :body => post_body,
353
+ :auth_names => auth_names,
354
+ :return_type => return_type
355
+ )
356
+
357
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
358
+ if @api_client.config.debugging
359
+ @api_client.config.logger.debug "API called: ValidationPoliciesApi#delete_policy_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
360
+ end
361
+ return data, status_code, headers
362
+ end
363
+
364
+ # Get policy
365
+ # Get a single policy with its rules.
366
+ # @param policy_id [Integer]
367
+ # @param [Hash] opts the optional parameters
368
+ # @return [PolicyResponse]
369
+ def get_policy(policy_id, opts = {})
370
+ data, _status_code, _headers = get_policy_with_http_info(policy_id, opts)
371
+ data
372
+ end
373
+
374
+ # Get policy
375
+ # Get a single policy with its rules.
376
+ # @param policy_id [Integer]
377
+ # @param [Hash] opts the optional parameters
378
+ # @return [Array<(PolicyResponse, Integer, Hash)>] PolicyResponse data, response status code and response headers
379
+ def get_policy_with_http_info(policy_id, opts = {})
380
+ if @api_client.config.debugging
381
+ @api_client.config.logger.debug 'Calling API: ValidationPoliciesApi.get_policy ...'
382
+ end
383
+ # verify the required parameter 'policy_id' is set
384
+ if @api_client.config.client_side_validation && policy_id.nil?
385
+ fail ArgumentError, "Missing the required parameter 'policy_id' when calling ValidationPoliciesApi.get_policy"
386
+ end
387
+ # resource path
388
+ local_var_path = '/v1/policies/{policy_id}'.sub('{' + 'policy_id' + '}', CGI.escape(policy_id.to_s))
389
+
390
+ # query parameters
391
+ query_params = opts[:query_params] || {}
392
+
393
+ # header parameters
394
+ header_params = opts[:header_params] || {}
395
+ # HTTP header 'Accept' (if needed)
396
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
397
+
398
+ # form parameters
399
+ form_params = opts[:form_params] || {}
400
+
401
+ # http body (model)
402
+ post_body = opts[:debug_body]
403
+
404
+ # return_type
405
+ return_type = opts[:debug_return_type] || 'PolicyResponse'
406
+
407
+ # auth_names
408
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
409
+
410
+ new_options = opts.merge(
411
+ :operation => :"ValidationPoliciesApi.get_policy",
412
+ :header_params => header_params,
413
+ :query_params => query_params,
414
+ :form_params => form_params,
415
+ :body => post_body,
416
+ :auth_names => auth_names,
417
+ :return_type => return_type
418
+ )
419
+
420
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
421
+ if @api_client.config.debugging
422
+ @api_client.config.logger.debug "API called: ValidationPoliciesApi#get_policy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
423
+ end
424
+ return data, status_code, headers
425
+ end
426
+
427
+ # Get policy presets
428
+ # Get available preset templates for quick policy creation.
429
+ # @param [Hash] opts the optional parameters
430
+ # @return [PolicyPresetsResponse]
431
+ def get_policy_presets(opts = {})
432
+ data, _status_code, _headers = get_policy_presets_with_http_info(opts)
433
+ data
434
+ end
435
+
436
+ # Get policy presets
437
+ # Get available preset templates for quick policy creation.
438
+ # @param [Hash] opts the optional parameters
439
+ # @return [Array<(PolicyPresetsResponse, Integer, Hash)>] PolicyPresetsResponse data, response status code and response headers
440
+ def get_policy_presets_with_http_info(opts = {})
441
+ if @api_client.config.debugging
442
+ @api_client.config.logger.debug 'Calling API: ValidationPoliciesApi.get_policy_presets ...'
443
+ end
444
+ # resource path
445
+ local_var_path = '/v1/policies/presets'
446
+
447
+ # query parameters
448
+ query_params = opts[:query_params] || {}
449
+
450
+ # header parameters
451
+ header_params = opts[:header_params] || {}
452
+ # HTTP header 'Accept' (if needed)
453
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
454
+
455
+ # form parameters
456
+ form_params = opts[:form_params] || {}
457
+
458
+ # http body (model)
459
+ post_body = opts[:debug_body]
460
+
461
+ # return_type
462
+ return_type = opts[:debug_return_type] || 'PolicyPresetsResponse'
463
+
464
+ # auth_names
465
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
466
+
467
+ new_options = opts.merge(
468
+ :operation => :"ValidationPoliciesApi.get_policy_presets",
469
+ :header_params => header_params,
470
+ :query_params => query_params,
471
+ :form_params => form_params,
472
+ :body => post_body,
473
+ :auth_names => auth_names,
474
+ :return_type => return_type
475
+ )
476
+
477
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
478
+ if @api_client.config.debugging
479
+ @api_client.config.logger.debug "API called: ValidationPoliciesApi#get_policy_presets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
480
+ end
481
+ return data, status_code, headers
482
+ end
483
+
484
+ # List policies
485
+ # List all validation policies for your account. Includes plan limits.
486
+ # @param [Hash] opts the optional parameters
487
+ # @option opts [Boolean] :include_rules Include full rules in response (default to false)
488
+ # @return [PolicyListResponse]
489
+ def list_policies(opts = {})
490
+ data, _status_code, _headers = list_policies_with_http_info(opts)
491
+ data
492
+ end
493
+
494
+ # List policies
495
+ # List all validation policies for your account. Includes plan limits.
496
+ # @param [Hash] opts the optional parameters
497
+ # @option opts [Boolean] :include_rules Include full rules in response (default to false)
498
+ # @return [Array<(PolicyListResponse, Integer, Hash)>] PolicyListResponse data, response status code and response headers
499
+ def list_policies_with_http_info(opts = {})
500
+ if @api_client.config.debugging
501
+ @api_client.config.logger.debug 'Calling API: ValidationPoliciesApi.list_policies ...'
502
+ end
503
+ # resource path
504
+ local_var_path = '/v1/policies'
505
+
506
+ # query parameters
507
+ query_params = opts[:query_params] || {}
508
+ query_params[:'include_rules'] = opts[:'include_rules'] if !opts[:'include_rules'].nil?
509
+
510
+ # header parameters
511
+ header_params = opts[:header_params] || {}
512
+ # HTTP header 'Accept' (if needed)
513
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
514
+
515
+ # form parameters
516
+ form_params = opts[:form_params] || {}
517
+
518
+ # http body (model)
519
+ post_body = opts[:debug_body]
520
+
521
+ # return_type
522
+ return_type = opts[:debug_return_type] || 'PolicyListResponse'
523
+
524
+ # auth_names
525
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
526
+
527
+ new_options = opts.merge(
528
+ :operation => :"ValidationPoliciesApi.list_policies",
529
+ :header_params => header_params,
530
+ :query_params => query_params,
531
+ :form_params => form_params,
532
+ :body => post_body,
533
+ :auth_names => auth_names,
534
+ :return_type => return_type
535
+ )
536
+
537
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
538
+ if @api_client.config.debugging
539
+ @api_client.config.logger.debug "API called: ValidationPoliciesApi#list_policies\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
540
+ end
541
+ return data, status_code, headers
542
+ end
543
+
544
+ # Test policy evaluation
545
+ # Test how a policy would evaluate a validation result without affecting production.
546
+ # @param test_policy_request [TestPolicyRequest]
547
+ # @param [Hash] opts the optional parameters
548
+ # @return [PolicyTestResponse]
549
+ def test_policy(test_policy_request, opts = {})
550
+ data, _status_code, _headers = test_policy_with_http_info(test_policy_request, opts)
551
+ data
552
+ end
553
+
554
+ # Test policy evaluation
555
+ # Test how a policy would evaluate a validation result without affecting production.
556
+ # @param test_policy_request [TestPolicyRequest]
557
+ # @param [Hash] opts the optional parameters
558
+ # @return [Array<(PolicyTestResponse, Integer, Hash)>] PolicyTestResponse data, response status code and response headers
559
+ def test_policy_with_http_info(test_policy_request, opts = {})
560
+ if @api_client.config.debugging
561
+ @api_client.config.logger.debug 'Calling API: ValidationPoliciesApi.test_policy ...'
562
+ end
563
+ # verify the required parameter 'test_policy_request' is set
564
+ if @api_client.config.client_side_validation && test_policy_request.nil?
565
+ fail ArgumentError, "Missing the required parameter 'test_policy_request' when calling ValidationPoliciesApi.test_policy"
566
+ end
567
+ # resource path
568
+ local_var_path = '/v1/policies/test'
569
+
570
+ # query parameters
571
+ query_params = opts[:query_params] || {}
572
+
573
+ # header parameters
574
+ header_params = opts[:header_params] || {}
575
+ # HTTP header 'Accept' (if needed)
576
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
577
+ # HTTP header 'Content-Type'
578
+ content_type = @api_client.select_header_content_type(['application/json'])
579
+ if !content_type.nil?
580
+ header_params['Content-Type'] = content_type
581
+ end
582
+
583
+ # form parameters
584
+ form_params = opts[:form_params] || {}
585
+
586
+ # http body (model)
587
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(test_policy_request)
588
+
589
+ # return_type
590
+ return_type = opts[:debug_return_type] || 'PolicyTestResponse'
591
+
592
+ # auth_names
593
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
594
+
595
+ new_options = opts.merge(
596
+ :operation => :"ValidationPoliciesApi.test_policy",
597
+ :header_params => header_params,
598
+ :query_params => query_params,
599
+ :form_params => form_params,
600
+ :body => post_body,
601
+ :auth_names => auth_names,
602
+ :return_type => return_type
603
+ )
604
+
605
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
606
+ if @api_client.config.debugging
607
+ @api_client.config.logger.debug "API called: ValidationPoliciesApi#test_policy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
608
+ end
609
+ return data, status_code, headers
610
+ end
611
+
612
+ # Update policy
613
+ # Update a policy's settings (name, enabled, default).
614
+ # @param policy_id [Integer]
615
+ # @param update_policy_request [UpdatePolicyRequest]
616
+ # @param [Hash] opts the optional parameters
617
+ # @return [PolicyResponse]
618
+ def update_policy(policy_id, update_policy_request, opts = {})
619
+ data, _status_code, _headers = update_policy_with_http_info(policy_id, update_policy_request, opts)
620
+ data
621
+ end
622
+
623
+ # Update policy
624
+ # Update a policy&#39;s settings (name, enabled, default).
625
+ # @param policy_id [Integer]
626
+ # @param update_policy_request [UpdatePolicyRequest]
627
+ # @param [Hash] opts the optional parameters
628
+ # @return [Array<(PolicyResponse, Integer, Hash)>] PolicyResponse data, response status code and response headers
629
+ def update_policy_with_http_info(policy_id, update_policy_request, opts = {})
630
+ if @api_client.config.debugging
631
+ @api_client.config.logger.debug 'Calling API: ValidationPoliciesApi.update_policy ...'
632
+ end
633
+ # verify the required parameter 'policy_id' is set
634
+ if @api_client.config.client_side_validation && policy_id.nil?
635
+ fail ArgumentError, "Missing the required parameter 'policy_id' when calling ValidationPoliciesApi.update_policy"
636
+ end
637
+ # verify the required parameter 'update_policy_request' is set
638
+ if @api_client.config.client_side_validation && update_policy_request.nil?
639
+ fail ArgumentError, "Missing the required parameter 'update_policy_request' when calling ValidationPoliciesApi.update_policy"
640
+ end
641
+ # resource path
642
+ local_var_path = '/v1/policies/{policy_id}'.sub('{' + 'policy_id' + '}', CGI.escape(policy_id.to_s))
643
+
644
+ # query parameters
645
+ query_params = opts[:query_params] || {}
646
+
647
+ # header parameters
648
+ header_params = opts[:header_params] || {}
649
+ # HTTP header 'Accept' (if needed)
650
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
651
+ # HTTP header 'Content-Type'
652
+ content_type = @api_client.select_header_content_type(['application/json'])
653
+ if !content_type.nil?
654
+ header_params['Content-Type'] = content_type
655
+ end
656
+
657
+ # form parameters
658
+ form_params = opts[:form_params] || {}
659
+
660
+ # http body (model)
661
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_policy_request)
662
+
663
+ # return_type
664
+ return_type = opts[:debug_return_type] || 'PolicyResponse'
665
+
666
+ # auth_names
667
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
668
+
669
+ new_options = opts.merge(
670
+ :operation => :"ValidationPoliciesApi.update_policy",
671
+ :header_params => header_params,
672
+ :query_params => query_params,
673
+ :form_params => form_params,
674
+ :body => post_body,
675
+ :auth_names => auth_names,
676
+ :return_type => return_type
677
+ )
678
+
679
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
680
+ if @api_client.config.debugging
681
+ @api_client.config.logger.debug "API called: ValidationPoliciesApi#update_policy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
682
+ end
683
+ return data, status_code, headers
684
+ end
685
+ end
686
+ end