coss 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.fernignore +11 -0
- data/.rubocop.yml +103 -0
- data/CHANGELOG.md +7 -0
- data/CONTRIBUTING.md +120 -0
- data/LICENSE +21 -0
- data/README.md +29 -0
- data/Rakefile +20 -0
- data/custom.gemspec.rb +11 -0
- data/lib/coss/api_key/client.rb +50 -0
- data/lib/coss/audit_events/client.rb +110 -0
- data/lib/coss/audit_events/types/get_audit_events_request.rb +11 -0
- data/lib/coss/audit_events/types/list_audit_events_request.rb +27 -0
- data/lib/coss/billing/client.rb +114 -0
- data/lib/coss/billing/credits/client.rb +63 -0
- data/lib/coss/billing/credits/types/list_credits_request.rb +17 -0
- data/lib/coss/billing/credits/types/list_credits_request_status.rb +16 -0
- data/lib/coss/billing/invoices/client.rb +99 -0
- data/lib/coss/billing/invoices/types/get_invoices_request.rb +13 -0
- data/lib/coss/billing/invoices/types/list_invoices_request.rb +17 -0
- data/lib/coss/billing/invoices/types/list_invoices_request_status.rb +18 -0
- data/lib/coss/billing/types/usage_billing_request.rb +19 -0
- data/lib/coss/billing/types/usage_billing_request_granularity.rb +15 -0
- data/lib/coss/billing/types/usage_billing_request_group_by.rb +16 -0
- data/lib/coss/billing/types/usage_billing_request_meter.rb +20 -0
- data/lib/coss/client.rb +100 -0
- data/lib/coss/domains/client.rb +223 -0
- data/lib/coss/domains/dmarc/client.rb +61 -0
- data/lib/coss/domains/dmarc/reports/client.rb +107 -0
- data/lib/coss/domains/dmarc/reports/types/get_reports_request.rb +17 -0
- data/lib/coss/domains/dmarc/reports/types/list_reports_request.rb +19 -0
- data/lib/coss/domains/dmarc/types/get_dmarc_request.rb +13 -0
- data/lib/coss/domains/receiving/client.rb +105 -0
- data/lib/coss/domains/receiving/types/create_receiving_domain_request.rb +15 -0
- data/lib/coss/domains/receiving/types/delete_receiving_request.rb +13 -0
- data/lib/coss/domains/tracking/client.rb +105 -0
- data/lib/coss/domains/tracking/types/create_tracking_domain_request.rb +15 -0
- data/lib/coss/domains/tracking/types/delete_tracking_request.rb +13 -0
- data/lib/coss/domains/types/create_domain_request.rb +11 -0
- data/lib/coss/domains/types/delete_domains_request.rb +11 -0
- data/lib/coss/domains/types/get_domains_request.rb +11 -0
- data/lib/coss/domains/types/verify_domains_request.rb +11 -0
- data/lib/coss/email/audiences/client.rb +343 -0
- data/lib/coss/email/audiences/types/add_audience_contacts_request.rb +15 -0
- data/lib/coss/email/audiences/types/create_audience_request.rb +13 -0
- data/lib/coss/email/audiences/types/get_audiences_request.rb +13 -0
- data/lib/coss/email/audiences/types/list_audiences_request.rb +15 -0
- data/lib/coss/email/audiences/types/list_contacts_audiences_request.rb +17 -0
- data/lib/coss/email/audiences/types/remove_audiences_request.rb +13 -0
- data/lib/coss/email/audiences/types/remove_contact_audiences_request.rb +15 -0
- data/lib/coss/email/audiences/types/remove_contact_audiences_response.rb +19 -0
- data/lib/coss/email/audiences/types/remove_contact_audiences_response_object.rb +15 -0
- data/lib/coss/email/audiences/types/update_audience_request.rb +15 -0
- data/lib/coss/email/broadcasts/client.rb +495 -0
- data/lib/coss/email/broadcasts/types/cancel_broadcasts_request.rb +13 -0
- data/lib/coss/email/broadcasts/types/create_broadcast_request.rb +41 -0
- data/lib/coss/email/broadcasts/types/create_broadcast_request_tracking.rb +15 -0
- data/lib/coss/email/broadcasts/types/get_broadcasts_request.rb +13 -0
- data/lib/coss/email/broadcasts/types/list_broadcasts_request.rb +17 -0
- data/lib/coss/email/broadcasts/types/list_broadcasts_request_status.rb +21 -0
- data/lib/coss/email/broadcasts/types/list_emails_broadcasts_request.rb +17 -0
- data/lib/coss/email/broadcasts/types/pause_broadcasts_request.rb +13 -0
- data/lib/coss/email/broadcasts/types/remove_broadcasts_request.rb +13 -0
- data/lib/coss/email/broadcasts/types/resume_broadcasts_request.rb +13 -0
- data/lib/coss/email/broadcasts/types/send_broadcast_request.rb +15 -0
- data/lib/coss/email/broadcasts/types/test_broadcast_request.rb +17 -0
- data/lib/coss/email/broadcasts/types/update_broadcast_request.rb +37 -0
- data/lib/coss/email/broadcasts/types/update_broadcast_request_tracking.rb +15 -0
- data/lib/coss/email/client.rb +509 -0
- data/lib/coss/email/contacts/client.rb +511 -0
- data/lib/coss/email/contacts/properties/client.rb +214 -0
- data/lib/coss/email/contacts/properties/types/create_contact_property_request.rb +19 -0
- data/lib/coss/email/contacts/properties/types/create_contact_property_request_fallback.rb +21 -0
- data/lib/coss/email/contacts/properties/types/create_contact_property_request_type.rb +20 -0
- data/lib/coss/email/contacts/properties/types/get_properties_request.rb +15 -0
- data/lib/coss/email/contacts/properties/types/remove_properties_request.rb +15 -0
- data/lib/coss/email/contacts/properties/types/update_contact_property_request.rb +17 -0
- data/lib/coss/email/contacts/properties/types/update_contact_property_request_fallback.rb +21 -0
- data/lib/coss/email/contacts/types/create_preference_links_request.rb +15 -0
- data/lib/coss/email/contacts/types/export_contacts_request.rb +15 -0
- data/lib/coss/email/contacts/types/export_contacts_request_status.rb +17 -0
- data/lib/coss/email/contacts/types/get_contacts_request.rb +13 -0
- data/lib/coss/email/contacts/types/get_topics_contacts_request.rb +13 -0
- data/lib/coss/email/contacts/types/import_contacts_request.rb +15 -0
- data/lib/coss/email/contacts/types/import_contacts_request_contacts_item.rb +21 -0
- data/lib/coss/email/contacts/types/import_contacts_request_contacts_item_properties_value.rb +19 -0
- data/lib/coss/email/contacts/types/list_contacts_request.rb +21 -0
- data/lib/coss/email/contacts/types/list_contacts_request_status.rb +17 -0
- data/lib/coss/email/contacts/types/remove_contacts_request.rb +13 -0
- data/lib/coss/email/contacts/types/resend_confirmation_contacts_request.rb +13 -0
- data/lib/coss/email/contacts/types/update_contact_request.rb +23 -0
- data/lib/coss/email/contacts/types/update_contact_request_properties_value.rb +19 -0
- data/lib/coss/email/contacts/types/update_contact_request_status.rb +16 -0
- data/lib/coss/email/contacts/types/update_contact_request_topics_item.rb +15 -0
- data/lib/coss/email/contacts/types/update_contact_request_topics_item_status.rb +16 -0
- data/lib/coss/email/contacts/types/update_contact_topics_request.rb +15 -0
- data/lib/coss/email/contacts/types/update_contact_topics_request_topics_item.rb +15 -0
- data/lib/coss/email/contacts/types/update_contact_topics_request_topics_item_status.rb +16 -0
- data/lib/coss/email/contacts/types/upsert_contact_request.rb +27 -0
- data/lib/coss/email/contacts/types/upsert_contact_request_properties_value.rb +19 -0
- data/lib/coss/email/contacts/types/upsert_contact_request_status.rb +16 -0
- data/lib/coss/email/contacts/types/upsert_contact_request_topics_item.rb +15 -0
- data/lib/coss/email/contacts/types/upsert_contact_request_topics_item_status.rb +16 -0
- data/lib/coss/email/dedicated_ips/client.rb +54 -0
- data/lib/coss/email/marketing_settings/client.rb +88 -0
- data/lib/coss/email/marketing_settings/types/update_marketing_settings_request.rb +27 -0
- data/lib/coss/email/received/client.rb +249 -0
- data/lib/coss/email/received/types/delete_received_request.rb +13 -0
- data/lib/coss/email/received/types/get_attachment_received_request.rb +15 -0
- data/lib/coss/email/received/types/get_raw_received_request.rb +13 -0
- data/lib/coss/email/received/types/get_received_request.rb +13 -0
- data/lib/coss/email/received/types/list_received_request.rb +15 -0
- data/lib/coss/email/segments/client.rb +284 -0
- data/lib/coss/email/segments/types/create_segment_request.rb +15 -0
- data/lib/coss/email/segments/types/get_segments_request.rb +13 -0
- data/lib/coss/email/segments/types/list_contacts_segments_request.rb +17 -0
- data/lib/coss/email/segments/types/list_segments_request.rb +15 -0
- data/lib/coss/email/segments/types/remove_segments_request.rb +13 -0
- data/lib/coss/email/segments/types/update_segment_request.rb +17 -0
- data/lib/coss/email/storage/client.rb +95 -0
- data/lib/coss/email/storage/types/update_storage_settings_request.rb +13 -0
- data/lib/coss/email/storage/types/update_storage_settings_request_content_storage.rb +16 -0
- data/lib/coss/email/suppressions/client.rb +316 -0
- data/lib/coss/email/suppressions/types/check_suppressions_request.rb +17 -0
- data/lib/coss/email/suppressions/types/check_suppressions_request_stream.rb +16 -0
- data/lib/coss/email/suppressions/types/create_suppression_request.rb +15 -0
- data/lib/coss/email/suppressions/types/create_suppression_request_scope.rb +20 -0
- data/lib/coss/email/suppressions/types/create_suppression_request_scope_one.rb +15 -0
- data/lib/coss/email/suppressions/types/create_suppression_request_scope_zero.rb +15 -0
- data/lib/coss/email/suppressions/types/export_suppressions_request.rb +15 -0
- data/lib/coss/email/suppressions/types/export_suppressions_request_reason.rb +19 -0
- data/lib/coss/email/suppressions/types/get_suppressions_request.rb +13 -0
- data/lib/coss/email/suppressions/types/import_suppressions_request.rb +13 -0
- data/lib/coss/email/suppressions/types/import_suppressions_request_suppressions_item.rb +15 -0
- data/lib/coss/email/suppressions/types/list_suppressions_request.rb +19 -0
- data/lib/coss/email/suppressions/types/remove_suppressions_request.rb +13 -0
- data/lib/coss/email/templates/client.rb +455 -0
- data/lib/coss/email/templates/types/create_email_template_request.rb +25 -0
- data/lib/coss/email/templates/types/delete_templates_request.rb +13 -0
- data/lib/coss/email/templates/types/get_draft_templates_request.rb +13 -0
- data/lib/coss/email/templates/types/get_templates_request.rb +13 -0
- data/lib/coss/email/templates/types/list_templates_request.rb +15 -0
- data/lib/coss/email/templates/types/publish_email_template_request.rb +15 -0
- data/lib/coss/email/templates/types/render_email_template_request.rb +19 -0
- data/lib/coss/email/templates/types/update_email_template_draft_request.rb +23 -0
- data/lib/coss/email/templates/types/update_email_template_request.rb +19 -0
- data/lib/coss/email/templates/versions/client.rb +149 -0
- data/lib/coss/email/templates/versions/types/get_versions_request.rb +17 -0
- data/lib/coss/email/templates/versions/types/list_versions_request.rb +19 -0
- data/lib/coss/email/templates/versions/types/restore_versions_request.rb +17 -0
- data/lib/coss/email/topics/client.rb +222 -0
- data/lib/coss/email/topics/types/create_topic_request.rb +23 -0
- data/lib/coss/email/topics/types/create_topic_request_default_subscription.rb +16 -0
- data/lib/coss/email/topics/types/create_topic_request_visibility.rb +16 -0
- data/lib/coss/email/topics/types/get_topics_request.rb +13 -0
- data/lib/coss/email/topics/types/list_topics_request.rb +15 -0
- data/lib/coss/email/topics/types/remove_topics_request.rb +13 -0
- data/lib/coss/email/topics/types/update_topic_request.rb +23 -0
- data/lib/coss/email/topics/types/update_topic_request_default_subscription.rb +16 -0
- data/lib/coss/email/topics/types/update_topic_request_visibility.rb +16 -0
- data/lib/coss/email/tracking/client.rb +221 -0
- data/lib/coss/email/tracking/types/remove_category_tracking_request.rb +13 -0
- data/lib/coss/email/tracking/types/update_category_tracking_request.rb +15 -0
- data/lib/coss/email/types/cancel_email_request.rb +11 -0
- data/lib/coss/email/types/get_batch_email_request.rb +11 -0
- data/lib/coss/email/types/get_email_request.rb +11 -0
- data/lib/coss/email/types/list_email_request.rb +29 -0
- data/lib/coss/email/types/list_events_email_request.rb +11 -0
- data/lib/coss/email/types/list_links_email_request.rb +11 -0
- data/lib/coss/email/types/reschedule_email_request.rb +13 -0
- data/lib/coss/email/types/send_email_batch_request.rb +13 -0
- data/lib/coss/email/types/send_email_body.rb +13 -0
- data/lib/coss/environment/client.rb +50 -0
- data/lib/coss/environment.rb +7 -0
- data/lib/coss/errors/api_error.rb +8 -0
- data/lib/coss/errors/client_error.rb +17 -0
- data/lib/coss/errors/redirect_error.rb +8 -0
- data/lib/coss/errors/response_error.rb +42 -0
- data/lib/coss/errors/server_error.rb +11 -0
- data/lib/coss/errors/timeout_error.rb +8 -0
- data/lib/coss/hooks/applications/client.rb +228 -0
- data/lib/coss/hooks/applications/types/create_hook_application_request.rb +17 -0
- data/lib/coss/hooks/applications/types/delete_applications_request.rb +13 -0
- data/lib/coss/hooks/applications/types/get_applications_request.rb +13 -0
- data/lib/coss/hooks/applications/types/list_applications_request.rb +15 -0
- data/lib/coss/hooks/applications/types/update_hook_application_request.rb +19 -0
- data/lib/coss/hooks/client.rb +44 -0
- data/lib/coss/hooks/deliveries/client.rb +143 -0
- data/lib/coss/hooks/deliveries/types/get_deliveries_request.rb +15 -0
- data/lib/coss/hooks/deliveries/types/list_attempts_deliveries_request.rb +15 -0
- data/lib/coss/hooks/deliveries/types/retry_deliveries_request.rb +15 -0
- data/lib/coss/hooks/endpoints/client.rb +522 -0
- data/lib/coss/hooks/endpoints/types/create_hook_endpoint_request.rb +27 -0
- data/lib/coss/hooks/endpoints/types/delete_endpoints_request.rb +15 -0
- data/lib/coss/hooks/endpoints/types/get_endpoints_request.rb +15 -0
- data/lib/coss/hooks/endpoints/types/get_recovery_endpoints_request.rb +17 -0
- data/lib/coss/hooks/endpoints/types/get_secret_endpoints_request.rb +15 -0
- data/lib/coss/hooks/endpoints/types/list_deliveries_endpoints_request.rb +21 -0
- data/lib/coss/hooks/endpoints/types/list_deliveries_endpoints_request_status.rb +17 -0
- data/lib/coss/hooks/endpoints/types/list_endpoints_request.rb +13 -0
- data/lib/coss/hooks/endpoints/types/recover_hook_endpoint_request.rb +17 -0
- data/lib/coss/hooks/endpoints/types/roll_hook_endpoint_secret_request.rb +17 -0
- data/lib/coss/hooks/endpoints/types/send_hook_test_request.rb +19 -0
- data/lib/coss/hooks/endpoints/types/update_hook_endpoint_request.rb +27 -0
- data/lib/coss/hooks/event_types/client.rb +232 -0
- data/lib/coss/hooks/event_types/types/archive_event_types_request.rb +13 -0
- data/lib/coss/hooks/event_types/types/create_hook_event_type_request.rb +19 -0
- data/lib/coss/hooks/event_types/types/get_event_types_request.rb +13 -0
- data/lib/coss/hooks/event_types/types/list_event_types_request.rb +17 -0
- data/lib/coss/hooks/event_types/types/list_event_types_request_include_archived.rb +16 -0
- data/lib/coss/hooks/event_types/types/update_hook_event_type_request.rb +21 -0
- data/lib/coss/hooks/messages/client.rb +205 -0
- data/lib/coss/hooks/messages/types/get_messages_request.rb +15 -0
- data/lib/coss/hooks/messages/types/list_deliveries_messages_request.rb +15 -0
- data/lib/coss/hooks/messages/types/list_messages_request.rb +19 -0
- data/lib/coss/hooks/messages/types/send_hook_message_request.rb +19 -0
- data/lib/coss/hooks/portal/client.rb +66 -0
- data/lib/coss/hooks/portal/types/create_hook_portal_session_request.rb +17 -0
- data/lib/coss/internal/errors/constraint_error.rb +10 -0
- data/lib/coss/internal/errors/type_error.rb +10 -0
- data/lib/coss/internal/http/base_request.rb +53 -0
- data/lib/coss/internal/http/raw_client.rb +271 -0
- data/lib/coss/internal/idempotency_key.rb +17 -0
- data/lib/coss/internal/iterators/cursor_item_iterator.rb +28 -0
- data/lib/coss/internal/iterators/cursor_page_iterator.rb +63 -0
- data/lib/coss/internal/iterators/item_iterator.rb +65 -0
- data/lib/coss/internal/iterators/offset_item_iterator.rb +30 -0
- data/lib/coss/internal/iterators/offset_page_iterator.rb +103 -0
- data/lib/coss/internal/json/request.rb +42 -0
- data/lib/coss/internal/json/serializable.rb +25 -0
- data/lib/coss/internal/multipart/multipart_encoder.rb +141 -0
- data/lib/coss/internal/multipart/multipart_form_data.rb +83 -0
- data/lib/coss/internal/multipart/multipart_form_data_part.rb +51 -0
- data/lib/coss/internal/multipart/multipart_request.rb +41 -0
- data/lib/coss/internal/types/array.rb +47 -0
- data/lib/coss/internal/types/boolean.rb +34 -0
- data/lib/coss/internal/types/enum.rb +56 -0
- data/lib/coss/internal/types/hash.rb +36 -0
- data/lib/coss/internal/types/model/field.rb +38 -0
- data/lib/coss/internal/types/model.rb +218 -0
- data/lib/coss/internal/types/type.rb +35 -0
- data/lib/coss/internal/types/union.rb +161 -0
- data/lib/coss/internal/types/unknown.rb +15 -0
- data/lib/coss/internal/types/utils.rb +116 -0
- data/lib/coss/log_drains/batches/client.rb +105 -0
- data/lib/coss/log_drains/batches/types/get_batches_request.rb +15 -0
- data/lib/coss/log_drains/batches/types/list_batches_request.rb +19 -0
- data/lib/coss/log_drains/batches/types/list_batches_request_status.rb +17 -0
- data/lib/coss/log_drains/client.rb +226 -0
- data/lib/coss/log_drains/types/create_log_drain_request.rb +15 -0
- data/lib/coss/log_drains/types/delete_log_drains_request.rb +11 -0
- data/lib/coss/log_drains/types/get_log_drains_request.rb +11 -0
- data/lib/coss/log_drains/types/update_log_drain_request.rb +19 -0
- data/lib/coss/logs/client.rb +119 -0
- data/lib/coss/logs/types/get_logs_request.rb +11 -0
- data/lib/coss/logs/types/list_logs_request.rb +37 -0
- data/lib/coss/reputation/client.rb +52 -0
- data/lib/coss/risk/assessments/client.rb +106 -0
- data/lib/coss/risk/assessments/types/get_assessments_request.rb +13 -0
- data/lib/coss/risk/assessments/types/list_assessments_request.rb +23 -0
- data/lib/coss/risk/assessments/types/list_assessments_request_review_status.rb +16 -0
- data/lib/coss/risk/client.rb +371 -0
- data/lib/coss/risk/limit_buckets/client.rb +214 -0
- data/lib/coss/risk/limit_buckets/types/create_risk_limit_bucket_request.rb +21 -0
- data/lib/coss/risk/limit_buckets/types/create_risk_limit_bucket_request_on_failure.rb +16 -0
- data/lib/coss/risk/limit_buckets/types/delete_limit_buckets_request.rb +13 -0
- data/lib/coss/risk/limit_buckets/types/get_limit_buckets_request.rb +13 -0
- data/lib/coss/risk/limit_buckets/types/update_risk_limit_bucket_request.rb +21 -0
- data/lib/coss/risk/limit_buckets/types/update_risk_limit_bucket_request_on_failure.rb +16 -0
- data/lib/coss/risk/lists/client.rb +181 -0
- data/lib/coss/risk/lists/types/create_risk_list_entry_request.rb +21 -0
- data/lib/coss/risk/lists/types/get_lists_request.rb +13 -0
- data/lib/coss/risk/lists/types/list_lists_request.rb +19 -0
- data/lib/coss/risk/lists/types/remove_lists_request.rb +13 -0
- data/lib/coss/risk/rules/client.rb +222 -0
- data/lib/coss/risk/rules/types/create_risk_rule_request.rb +25 -0
- data/lib/coss/risk/rules/types/create_risk_rule_request_match.rb +16 -0
- data/lib/coss/risk/rules/types/delete_rules_request.rb +13 -0
- data/lib/coss/risk/rules/types/get_rules_request.rb +13 -0
- data/lib/coss/risk/rules/types/update_risk_rule_request.rb +27 -0
- data/lib/coss/risk/rules/types/update_risk_rule_request_match.rb +16 -0
- data/lib/coss/risk/settings/client.rb +99 -0
- data/lib/coss/risk/settings/types/update_risk_settings_request.rb +23 -0
- data/lib/coss/risk/settings/types/update_risk_settings_request_captcha.rb +17 -0
- data/lib/coss/risk/settings/types/update_risk_settings_request_captcha_provider.rb +16 -0
- data/lib/coss/risk/settings/types/update_risk_settings_request_content_thresholds.rb +20 -0
- data/lib/coss/risk/settings/types/update_risk_settings_request_disabled_reasons_item.rb +57 -0
- data/lib/coss/risk/settings/types/update_risk_settings_request_reason_weights.rb +106 -0
- data/lib/coss/risk/types/check_risk_limit_request.rb +17 -0
- data/lib/coss/risk/types/create_risk_assessment_request.rb +29 -0
- data/lib/coss/risk/types/create_risk_assessment_request_captcha.rb +11 -0
- data/lib/coss/risk/types/create_risk_assessment_request_content.rb +13 -0
- data/lib/coss/risk/types/create_risk_assessment_request_device.rb +13 -0
- data/lib/coss/risk/types/create_risk_assessment_request_user.rb +13 -0
- data/lib/coss/risk/types/create_risk_feedback_request.rb +15 -0
- data/lib/coss/risk/types/risk_content_classify_request.rb +11 -0
- data/lib/coss/risk/types/risk_email_check_request.rb +11 -0
- data/lib/coss/risk/types/risk_ip_check_request.rb +11 -0
- data/lib/coss/risk/users/client.rb +55 -0
- data/lib/coss/risk/users/types/forget_users_request.rb +13 -0
- data/lib/coss/sms/client.rb +256 -0
- data/lib/coss/sms/numbers/client.rb +53 -0
- data/lib/coss/sms/received/client.rb +102 -0
- data/lib/coss/sms/received/types/get_received_request.rb +13 -0
- data/lib/coss/sms/received/types/list_received_request.rb +23 -0
- data/lib/coss/sms/suppressions/client.rb +214 -0
- data/lib/coss/sms/suppressions/types/check_suppressions_request.rb +13 -0
- data/lib/coss/sms/suppressions/types/create_sms_suppression_request.rb +13 -0
- data/lib/coss/sms/suppressions/types/get_suppressions_request.rb +13 -0
- data/lib/coss/sms/suppressions/types/list_suppressions_request.rb +17 -0
- data/lib/coss/sms/suppressions/types/remove_suppressions_request.rb +13 -0
- data/lib/coss/sms/types/cancel_sms_request.rb +11 -0
- data/lib/coss/sms/types/get_sms_request.rb +11 -0
- data/lib/coss/sms/types/list_events_sms_request.rb +11 -0
- data/lib/coss/sms/types/list_sms_request.rb +21 -0
- data/lib/coss/sms/types/send_sms_request.rb +21 -0
- data/lib/coss/sms/types/send_sms_request_tags_item.rb +13 -0
- data/lib/coss/types/account_webhook_event.rb +19 -0
- data/lib/coss/types/account_webhook_event_data.rb +21 -0
- data/lib/coss/types/account_webhook_event_data_previous_status.rb +13 -0
- data/lib/coss/types/account_webhook_event_data_status.rb +13 -0
- data/lib/coss/types/account_webhook_event_object.rb +11 -0
- data/lib/coss/types/account_webhook_event_type.rb +16 -0
- data/lib/coss/types/audience.rb +19 -0
- data/lib/coss/types/audience_contacts_added.rb +15 -0
- data/lib/coss/types/audience_contacts_added_object.rb +11 -0
- data/lib/coss/types/audience_list.rb +13 -0
- data/lib/coss/types/audience_list_object.rb +11 -0
- data/lib/coss/types/audience_object.rb +11 -0
- data/lib/coss/types/audit_actor_type.rb +13 -0
- data/lib/coss/types/audit_event.rb +37 -0
- data/lib/coss/types/audit_event_list.rb +13 -0
- data/lib/coss/types/audit_event_list_object.rb +11 -0
- data/lib/coss/types/audit_event_object.rb +11 -0
- data/lib/coss/types/billing.rb +41 -0
- data/lib/coss/types/billing_add_ons_item.rb +17 -0
- data/lib/coss/types/billing_add_ons_item_interval.rb +13 -0
- data/lib/coss/types/billing_contract.rb +20 -0
- data/lib/coss/types/billing_contract_kind.rb +13 -0
- data/lib/coss/types/billing_currency.rb +11 -0
- data/lib/coss/types/billing_estimate.rb +16 -0
- data/lib/coss/types/billing_features.rb +19 -0
- data/lib/coss/types/billing_holds_item.rb +11 -0
- data/lib/coss/types/billing_holds_item_reason.rb +13 -0
- data/lib/coss/types/billing_limits.rb +16 -0
- data/lib/coss/types/billing_object.rb +11 -0
- data/lib/coss/types/billing_payment_method.rb +13 -0
- data/lib/coss/types/billing_period.rb +12 -0
- data/lib/coss/types/billing_plan.rb +14 -0
- data/lib/coss/types/billing_scheduled_change.rb +12 -0
- data/lib/coss/types/billing_scheduled_change_plan.rb +14 -0
- data/lib/coss/types/billing_status.rb +13 -0
- data/lib/coss/types/billing_usage_item.rb +13 -0
- data/lib/coss/types/billing_usage_item_meter.rb +18 -0
- data/lib/coss/types/billing_webhook_event.rb +25 -0
- data/lib/coss/types/billing_webhook_event_five.rb +19 -0
- data/lib/coss/types/billing_webhook_event_five_data.rb +13 -0
- data/lib/coss/types/billing_webhook_event_five_object.rb +11 -0
- data/lib/coss/types/billing_webhook_event_five_type.rb +11 -0
- data/lib/coss/types/billing_webhook_event_four.rb +19 -0
- data/lib/coss/types/billing_webhook_event_four_data.rb +13 -0
- data/lib/coss/types/billing_webhook_event_four_data_reason.rb +13 -0
- data/lib/coss/types/billing_webhook_event_four_object.rb +11 -0
- data/lib/coss/types/billing_webhook_event_four_type.rb +12 -0
- data/lib/coss/types/billing_webhook_event_one.rb +19 -0
- data/lib/coss/types/billing_webhook_event_one_data.rb +15 -0
- data/lib/coss/types/billing_webhook_event_one_data_failure.rb +9 -0
- data/lib/coss/types/billing_webhook_event_one_object.rb +11 -0
- data/lib/coss/types/billing_webhook_event_one_type.rb +11 -0
- data/lib/coss/types/billing_webhook_event_seven.rb +19 -0
- data/lib/coss/types/billing_webhook_event_seven_data.rb +15 -0
- data/lib/coss/types/billing_webhook_event_seven_data_scope.rb +13 -0
- data/lib/coss/types/billing_webhook_event_seven_object.rb +11 -0
- data/lib/coss/types/billing_webhook_event_seven_type.rb +12 -0
- data/lib/coss/types/billing_webhook_event_six.rb +19 -0
- data/lib/coss/types/billing_webhook_event_six_data.rb +23 -0
- data/lib/coss/types/billing_webhook_event_six_data_period.rb +11 -0
- data/lib/coss/types/billing_webhook_event_six_data_scope.rb +13 -0
- data/lib/coss/types/billing_webhook_event_six_object.rb +11 -0
- data/lib/coss/types/billing_webhook_event_six_type.rb +11 -0
- data/lib/coss/types/billing_webhook_event_three.rb +19 -0
- data/lib/coss/types/billing_webhook_event_three_data.rb +19 -0
- data/lib/coss/types/billing_webhook_event_three_data_meter.rb +18 -0
- data/lib/coss/types/billing_webhook_event_three_data_of.rb +12 -0
- data/lib/coss/types/billing_webhook_event_three_data_period.rb +11 -0
- data/lib/coss/types/billing_webhook_event_three_object.rb +11 -0
- data/lib/coss/types/billing_webhook_event_three_type.rb +11 -0
- data/lib/coss/types/billing_webhook_event_two.rb +19 -0
- data/lib/coss/types/billing_webhook_event_two_data.rb +19 -0
- data/lib/coss/types/billing_webhook_event_two_data_change.rb +15 -0
- data/lib/coss/types/billing_webhook_event_two_data_plan.rb +14 -0
- data/lib/coss/types/billing_webhook_event_two_data_previous_plan.rb +14 -0
- data/lib/coss/types/billing_webhook_event_two_object.rb +11 -0
- data/lib/coss/types/billing_webhook_event_two_type.rb +11 -0
- data/lib/coss/types/billing_webhook_event_zero.rb +19 -0
- data/lib/coss/types/billing_webhook_event_zero_data.rb +13 -0
- data/lib/coss/types/billing_webhook_event_zero_object.rb +11 -0
- data/lib/coss/types/billing_webhook_event_zero_type.rb +13 -0
- data/lib/coss/types/broadcast.rb +57 -0
- data/lib/coss/types/broadcast_email_list.rb +13 -0
- data/lib/coss/types/broadcast_email_list_object.rb +11 -0
- data/lib/coss/types/broadcast_error.rb +11 -0
- data/lib/coss/types/broadcast_list.rb +13 -0
- data/lib/coss/types/broadcast_list_object.rb +11 -0
- data/lib/coss/types/broadcast_object.rb +11 -0
- data/lib/coss/types/broadcast_stats.rb +25 -0
- data/lib/coss/types/broadcast_status.rb +17 -0
- data/lib/coss/types/broadcast_test.rb +11 -0
- data/lib/coss/types/broadcast_test_object.rb +11 -0
- data/lib/coss/types/broadcast_tracking.rb +11 -0
- data/lib/coss/types/broadcast_webhook_event.rb +19 -0
- data/lib/coss/types/broadcast_webhook_event_data.rb +17 -0
- data/lib/coss/types/broadcast_webhook_event_data_broadcast.rb +13 -0
- data/lib/coss/types/broadcast_webhook_event_data_broadcast_status.rb +17 -0
- data/lib/coss/types/broadcast_webhook_event_data_error.rb +11 -0
- data/lib/coss/types/broadcast_webhook_event_object.rb +11 -0
- data/lib/coss/types/broadcast_webhook_event_type.rb +15 -0
- data/lib/coss/types/contact.rb +33 -0
- data/lib/coss/types/contact_confirmation.rb +13 -0
- data/lib/coss/types/contact_confirmation_object.rb +11 -0
- data/lib/coss/types/contact_confirmation_status.rb +14 -0
- data/lib/coss/types/contact_import.rb +17 -0
- data/lib/coss/types/contact_import_invalid_item.rb +13 -0
- data/lib/coss/types/contact_import_object.rb +11 -0
- data/lib/coss/types/contact_list.rb +13 -0
- data/lib/coss/types/contact_list_object.rb +11 -0
- data/lib/coss/types/contact_object.rb +11 -0
- data/lib/coss/types/contact_properties_value.rb +15 -0
- data/lib/coss/types/contact_property.rb +21 -0
- data/lib/coss/types/contact_property_fallback.rb +16 -0
- data/lib/coss/types/contact_property_list.rb +13 -0
- data/lib/coss/types/contact_property_list_object.rb +11 -0
- data/lib/coss/types/contact_property_object.rb +11 -0
- data/lib/coss/types/contact_property_type.rb +14 -0
- data/lib/coss/types/contact_source.rb +14 -0
- data/lib/coss/types/contact_status.rb +13 -0
- data/lib/coss/types/contact_topics.rb +13 -0
- data/lib/coss/types/contact_topics_object.rb +11 -0
- data/lib/coss/types/contact_topics_topics_item.rb +15 -0
- data/lib/coss/types/contact_topics_topics_item_choice.rb +12 -0
- data/lib/coss/types/contact_webhook_event.rb +19 -0
- data/lib/coss/types/contact_webhook_event_data.rb +15 -0
- data/lib/coss/types/contact_webhook_event_data_contact.rb +13 -0
- data/lib/coss/types/contact_webhook_event_data_contact_status.rb +13 -0
- data/lib/coss/types/contact_webhook_event_data_source.rb +14 -0
- data/lib/coss/types/contact_webhook_event_object.rb +11 -0
- data/lib/coss/types/contact_webhook_event_type.rb +15 -0
- data/lib/coss/types/credit.rb +35 -0
- data/lib/coss/types/credit_applies_to.rb +12 -0
- data/lib/coss/types/credit_kind.rb +12 -0
- data/lib/coss/types/credit_list.rb +13 -0
- data/lib/coss/types/credit_list_object.rb +11 -0
- data/lib/coss/types/credit_meter.rb +18 -0
- data/lib/coss/types/credit_meters_item.rb +18 -0
- data/lib/coss/types/credit_object.rb +11 -0
- data/lib/coss/types/credit_source.rb +16 -0
- data/lib/coss/types/dedicated_ip_pool.rb +22 -0
- data/lib/coss/types/dedicated_ip_pool_ips_item.rb +11 -0
- data/lib/coss/types/dedicated_ip_pool_object.rb +11 -0
- data/lib/coss/types/dedicated_ip_pool_status.rb +16 -0
- data/lib/coss/types/deleted_api_key.rb +13 -0
- data/lib/coss/types/deleted_api_key_object.rb +11 -0
- data/lib/coss/types/deleted_audience.rb +13 -0
- data/lib/coss/types/deleted_audience_object.rb +11 -0
- data/lib/coss/types/deleted_broadcast.rb +13 -0
- data/lib/coss/types/deleted_broadcast_object.rb +11 -0
- data/lib/coss/types/deleted_contact.rb +13 -0
- data/lib/coss/types/deleted_contact_object.rb +11 -0
- data/lib/coss/types/deleted_contact_property.rb +13 -0
- data/lib/coss/types/deleted_contact_property_object.rb +11 -0
- data/lib/coss/types/deleted_domain.rb +13 -0
- data/lib/coss/types/deleted_domain_object.rb +11 -0
- data/lib/coss/types/deleted_email_template.rb +13 -0
- data/lib/coss/types/deleted_email_template_object.rb +11 -0
- data/lib/coss/types/deleted_hook_application.rb +13 -0
- data/lib/coss/types/deleted_hook_application_object.rb +11 -0
- data/lib/coss/types/deleted_hook_endpoint.rb +13 -0
- data/lib/coss/types/deleted_hook_endpoint_object.rb +11 -0
- data/lib/coss/types/deleted_log_drain.rb +13 -0
- data/lib/coss/types/deleted_log_drain_object.rb +11 -0
- data/lib/coss/types/deleted_received_email.rb +13 -0
- data/lib/coss/types/deleted_received_email_object.rb +11 -0
- data/lib/coss/types/deleted_risk_limit_bucket.rb +13 -0
- data/lib/coss/types/deleted_risk_limit_bucket_object.rb +11 -0
- data/lib/coss/types/deleted_risk_list_entry.rb +13 -0
- data/lib/coss/types/deleted_risk_list_entry_object.rb +11 -0
- data/lib/coss/types/deleted_risk_rule.rb +13 -0
- data/lib/coss/types/deleted_risk_rule_object.rb +11 -0
- data/lib/coss/types/deleted_segment.rb +13 -0
- data/lib/coss/types/deleted_segment_object.rb +11 -0
- data/lib/coss/types/deleted_sms_suppression.rb +13 -0
- data/lib/coss/types/deleted_sms_suppression_object.rb +11 -0
- data/lib/coss/types/deleted_suppression.rb +13 -0
- data/lib/coss/types/deleted_suppression_object.rb +11 -0
- data/lib/coss/types/deleted_topic.rb +13 -0
- data/lib/coss/types/deleted_topic_object.rb +11 -0
- data/lib/coss/types/deleted_tracking_rule.rb +15 -0
- data/lib/coss/types/deleted_tracking_rule_object.rb +11 -0
- data/lib/coss/types/deleted_webhook_endpoint.rb +13 -0
- data/lib/coss/types/deleted_webhook_endpoint_object.rb +11 -0
- data/lib/coss/types/deleted_webhook_listener.rb +13 -0
- data/lib/coss/types/deleted_webhook_listener_object.rb +11 -0
- data/lib/coss/types/dmarc_published_record.rb +26 -0
- data/lib/coss/types/dmarc_published_record_adkim.rb +12 -0
- data/lib/coss/types/dmarc_published_record_aspf.rb +12 -0
- data/lib/coss/types/dmarc_published_record_np.rb +13 -0
- data/lib/coss/types/dmarc_published_record_p.rb +13 -0
- data/lib/coss/types/dmarc_published_record_sp.rb +13 -0
- data/lib/coss/types/dmarc_published_record_t.rb +12 -0
- data/lib/coss/types/dmarc_report.rb +33 -0
- data/lib/coss/types/dmarc_report_list.rb +13 -0
- data/lib/coss/types/dmarc_report_list_object.rb +11 -0
- data/lib/coss/types/dmarc_report_object.rb +11 -0
- data/lib/coss/types/dmarc_report_policy_published.rb +24 -0
- data/lib/coss/types/dmarc_report_record.rb +29 -0
- data/lib/coss/types/dmarc_report_record_auth_results.rb +11 -0
- data/lib/coss/types/dmarc_report_record_auth_results_dkim_item.rb +13 -0
- data/lib/coss/types/dmarc_report_record_auth_results_spf_item.rb +13 -0
- data/lib/coss/types/dmarc_report_record_disposition.rb +13 -0
- data/lib/coss/types/dmarc_report_record_dkim.rb +12 -0
- data/lib/coss/types/dmarc_report_record_reasons_item.rb +11 -0
- data/lib/coss/types/dmarc_report_record_spf.rb +12 -0
- data/lib/coss/types/dmarc_report_reporter.rb +11 -0
- data/lib/coss/types/dmarc_report_summary.rb +31 -0
- data/lib/coss/types/dmarc_report_summary_object.rb +11 -0
- data/lib/coss/types/dmarc_report_summary_policy_published.rb +24 -0
- data/lib/coss/types/dmarc_report_summary_reporter.rb +11 -0
- data/lib/coss/types/dmarc_source.rb +17 -0
- data/lib/coss/types/domain.rb +39 -0
- data/lib/coss/types/domain_bimi.rb +23 -0
- data/lib/coss/types/domain_bimi_dmarc_policy.rb +13 -0
- data/lib/coss/types/domain_bimi_issues_item.rb +11 -0
- data/lib/coss/types/domain_bimi_issues_item_code.rb +19 -0
- data/lib/coss/types/domain_bimi_status.rb +14 -0
- data/lib/coss/types/domain_dmarc.rb +37 -0
- data/lib/coss/types/domain_dmarc_checks_item.rb +13 -0
- data/lib/coss/types/domain_dmarc_checks_item_id.rb +17 -0
- data/lib/coss/types/domain_dmarc_next.rb +13 -0
- data/lib/coss/types/domain_dmarc_next_kind.rb +14 -0
- data/lib/coss/types/domain_dmarc_next_policy.rb +13 -0
- data/lib/coss/types/domain_dmarc_object.rb +11 -0
- data/lib/coss/types/domain_dmarc_policy.rb +13 -0
- data/lib/coss/types/domain_dmarc_report_summary.rb +27 -0
- data/lib/coss/types/domain_dmarc_stage.rb +15 -0
- data/lib/coss/types/domain_list.rb +13 -0
- data/lib/coss/types/domain_list_object.rb +11 -0
- data/lib/coss/types/domain_mail_from_status.rb +14 -0
- data/lib/coss/types/domain_object.rb +11 -0
- data/lib/coss/types/domain_record.rb +23 -0
- data/lib/coss/types/domain_record_purpose.rb +14 -0
- data/lib/coss/types/domain_record_status.rb +14 -0
- data/lib/coss/types/domain_record_type.rb +13 -0
- data/lib/coss/types/domain_status.rb +15 -0
- data/lib/coss/types/domain_webhook_event.rb +19 -0
- data/lib/coss/types/domain_webhook_event_data.rb +27 -0
- data/lib/coss/types/domain_webhook_event_object.rb +11 -0
- data/lib/coss/types/domain_webhook_event_type.rb +11 -0
- data/lib/coss/types/email.rb +61 -0
- data/lib/coss/types/email_attachment.rb +17 -0
- data/lib/coss/types/email_batch.rb +15 -0
- data/lib/coss/types/email_batch_object.rb +11 -0
- data/lib/coss/types/email_content_storage.rb +12 -0
- data/lib/coss/types/email_content_storage_mode.rb +12 -0
- data/lib/coss/types/email_event.rb +21 -0
- data/lib/coss/types/email_event_data.rb +27 -0
- data/lib/coss/types/email_event_data_bounce.rb +13 -0
- data/lib/coss/types/email_event_data_bounce_type.rb +13 -0
- data/lib/coss/types/email_event_data_click.rb +14 -0
- data/lib/coss/types/email_event_data_complaint.rb +11 -0
- data/lib/coss/types/email_event_data_delay.rb +13 -0
- data/lib/coss/types/email_event_data_delivery.rb +9 -0
- data/lib/coss/types/email_event_data_failure.rb +11 -0
- data/lib/coss/types/email_event_data_open.rb +10 -0
- data/lib/coss/types/email_event_data_reschedule.rb +12 -0
- data/lib/coss/types/email_event_data_suppression.rb +14 -0
- data/lib/coss/types/email_event_data_suppression_reason.rb +15 -0
- data/lib/coss/types/email_event_data_unsubscribe.rb +13 -0
- data/lib/coss/types/email_event_list.rb +13 -0
- data/lib/coss/types/email_event_list_object.rb +11 -0
- data/lib/coss/types/email_event_object.rb +11 -0
- data/lib/coss/types/email_event_type.rb +23 -0
- data/lib/coss/types/email_failure.rb +11 -0
- data/lib/coss/types/email_link.rb +23 -0
- data/lib/coss/types/email_link_list.rb +13 -0
- data/lib/coss/types/email_link_list_object.rb +11 -0
- data/lib/coss/types/email_link_object.rb +11 -0
- data/lib/coss/types/email_object.rb +11 -0
- data/lib/coss/types/email_recipient.rb +15 -0
- data/lib/coss/types/email_recipient_status.rb +19 -0
- data/lib/coss/types/email_recipient_type.rb +13 -0
- data/lib/coss/types/email_status.rb +15 -0
- data/lib/coss/types/email_stream.rb +12 -0
- data/lib/coss/types/email_summary.rb +54 -0
- data/lib/coss/types/email_summary_list.rb +13 -0
- data/lib/coss/types/email_summary_list_object.rb +11 -0
- data/lib/coss/types/email_summary_object.rb +11 -0
- data/lib/coss/types/email_summary_status.rb +15 -0
- data/lib/coss/types/email_summary_stream.rb +12 -0
- data/lib/coss/types/email_summary_tags_item.rb +11 -0
- data/lib/coss/types/email_tags_item.rb +11 -0
- data/lib/coss/types/email_template.rb +27 -0
- data/lib/coss/types/email_template_list.rb +13 -0
- data/lib/coss/types/email_template_list_object.rb +11 -0
- data/lib/coss/types/email_template_object.rb +11 -0
- data/lib/coss/types/email_template_reference.rb +13 -0
- data/lib/coss/types/email_template_version.rb +31 -0
- data/lib/coss/types/email_template_version_list.rb +13 -0
- data/lib/coss/types/email_template_version_list_object.rb +11 -0
- data/lib/coss/types/email_template_version_object.rb +11 -0
- data/lib/coss/types/email_tracking.rb +27 -0
- data/lib/coss/types/email_webhook_event.rb +19 -0
- data/lib/coss/types/email_webhook_event_data.rb +45 -0
- data/lib/coss/types/email_webhook_event_data_bounce.rb +13 -0
- data/lib/coss/types/email_webhook_event_data_bounce_type.rb +13 -0
- data/lib/coss/types/email_webhook_event_data_click.rb +14 -0
- data/lib/coss/types/email_webhook_event_data_complaint.rb +11 -0
- data/lib/coss/types/email_webhook_event_data_delay.rb +13 -0
- data/lib/coss/types/email_webhook_event_data_delivery.rb +9 -0
- data/lib/coss/types/email_webhook_event_data_failure.rb +11 -0
- data/lib/coss/types/email_webhook_event_data_open.rb +10 -0
- data/lib/coss/types/email_webhook_event_data_reschedule.rb +12 -0
- data/lib/coss/types/email_webhook_event_data_suppression.rb +14 -0
- data/lib/coss/types/email_webhook_event_data_suppression_reason.rb +15 -0
- data/lib/coss/types/email_webhook_event_data_tags_item.rb +11 -0
- data/lib/coss/types/email_webhook_event_data_unsubscribe.rb +13 -0
- data/lib/coss/types/email_webhook_event_object.rb +11 -0
- data/lib/coss/types/email_webhook_event_type.rb +23 -0
- data/lib/coss/types/environment.rb +24 -0
- data/lib/coss/types/environment_api_key.rb +18 -0
- data/lib/coss/types/environment_api_key_access.rb +12 -0
- data/lib/coss/types/environment_mode.rb +12 -0
- data/lib/coss/types/environment_object.rb +11 -0
- data/lib/coss/types/environment_organization.rb +15 -0
- data/lib/coss/types/environment_project.rb +13 -0
- data/lib/coss/types/error.rb +9 -0
- data/lib/coss/types/error_body.rb +19 -0
- data/lib/coss/types/error_body_issues_item.rb +11 -0
- data/lib/coss/types/error_body_type.rb +18 -0
- data/lib/coss/types/export_suppressions_request_scope.rb +16 -0
- data/lib/coss/types/export_suppressions_request_scope_one.rb +11 -0
- data/lib/coss/types/export_suppressions_request_scope_zero.rb +11 -0
- data/lib/coss/types/forgotten_risk_user.rb +13 -0
- data/lib/coss/types/forgotten_risk_user_object.rb +11 -0
- data/lib/coss/types/hook_application.rb +21 -0
- data/lib/coss/types/hook_application_list.rb +13 -0
- data/lib/coss/types/hook_application_list_object.rb +11 -0
- data/lib/coss/types/hook_application_object.rb +11 -0
- data/lib/coss/types/hook_attempt.rb +25 -0
- data/lib/coss/types/hook_attempt_list.rb +13 -0
- data/lib/coss/types/hook_attempt_list_object.rb +11 -0
- data/lib/coss/types/hook_attempt_object.rb +11 -0
- data/lib/coss/types/hook_delivery.rb +31 -0
- data/lib/coss/types/hook_delivery_list.rb +13 -0
- data/lib/coss/types/hook_delivery_list_object.rb +11 -0
- data/lib/coss/types/hook_delivery_object.rb +11 -0
- data/lib/coss/types/hook_delivery_status.rb +13 -0
- data/lib/coss/types/hook_endpoint.rb +37 -0
- data/lib/coss/types/hook_endpoint_disabled_reason.rb +12 -0
- data/lib/coss/types/hook_endpoint_list.rb +13 -0
- data/lib/coss/types/hook_endpoint_list_object.rb +11 -0
- data/lib/coss/types/hook_endpoint_object.rb +11 -0
- data/lib/coss/types/hook_endpoint_recovery.rb +25 -0
- data/lib/coss/types/hook_endpoint_recovery_object.rb +11 -0
- data/lib/coss/types/hook_endpoint_recovery_status.rb +12 -0
- data/lib/coss/types/hook_endpoint_secret.rb +11 -0
- data/lib/coss/types/hook_endpoint_secret_object.rb +11 -0
- data/lib/coss/types/hook_endpoint_webhook_event.rb +19 -0
- data/lib/coss/types/hook_endpoint_webhook_event_data.rb +19 -0
- data/lib/coss/types/hook_endpoint_webhook_event_object.rb +11 -0
- data/lib/coss/types/hook_endpoint_webhook_event_type.rb +11 -0
- data/lib/coss/types/hook_endpoint_with_secret.rb +39 -0
- data/lib/coss/types/hook_endpoint_with_secret_disabled_reason.rb +12 -0
- data/lib/coss/types/hook_endpoint_with_secret_object.rb +11 -0
- data/lib/coss/types/hook_event_type.rb +23 -0
- data/lib/coss/types/hook_event_type_list.rb +13 -0
- data/lib/coss/types/hook_event_type_list_object.rb +11 -0
- data/lib/coss/types/hook_event_type_object.rb +11 -0
- data/lib/coss/types/hook_message.rb +19 -0
- data/lib/coss/types/hook_message_list.rb +13 -0
- data/lib/coss/types/hook_message_list_object.rb +11 -0
- data/lib/coss/types/hook_message_object.rb +11 -0
- data/lib/coss/types/hook_portal_session.rb +21 -0
- data/lib/coss/types/hook_portal_session_object.rb +11 -0
- data/lib/coss/types/inbound_address.rb +13 -0
- data/lib/coss/types/inbound_address_object.rb +11 -0
- data/lib/coss/types/invoice.rb +51 -0
- data/lib/coss/types/invoice_collection_method.rb +12 -0
- data/lib/coss/types/invoice_currency.rb +11 -0
- data/lib/coss/types/invoice_kind.rb +14 -0
- data/lib/coss/types/invoice_line.rb +29 -0
- data/lib/coss/types/invoice_line_kind.rb +20 -0
- data/lib/coss/types/invoice_line_meter.rb +18 -0
- data/lib/coss/types/invoice_line_object.rb +11 -0
- data/lib/coss/types/invoice_line_period.rb +11 -0
- data/lib/coss/types/invoice_list.rb +13 -0
- data/lib/coss/types/invoice_list_object.rb +11 -0
- data/lib/coss/types/invoice_object.rb +11 -0
- data/lib/coss/types/invoice_period.rb +11 -0
- data/lib/coss/types/invoice_status.rb +14 -0
- data/lib/coss/types/invoice_summary.rb +49 -0
- data/lib/coss/types/invoice_summary_collection_method.rb +12 -0
- data/lib/coss/types/invoice_summary_currency.rb +11 -0
- data/lib/coss/types/invoice_summary_kind.rb +14 -0
- data/lib/coss/types/invoice_summary_object.rb +11 -0
- data/lib/coss/types/invoice_summary_period.rb +11 -0
- data/lib/coss/types/invoice_summary_status.rb +14 -0
- data/lib/coss/types/list_suppressions_request_scope.rb +16 -0
- data/lib/coss/types/list_suppressions_request_scope_one.rb +11 -0
- data/lib/coss/types/list_suppressions_request_scope_zero.rb +11 -0
- data/lib/coss/types/log.rb +49 -0
- data/lib/coss/types/log_drain.rb +27 -0
- data/lib/coss/types/log_drain_attempt.rb +21 -0
- data/lib/coss/types/log_drain_attempt_object.rb +11 -0
- data/lib/coss/types/log_drain_batch.rb +33 -0
- data/lib/coss/types/log_drain_batch_list.rb +13 -0
- data/lib/coss/types/log_drain_batch_list_object.rb +11 -0
- data/lib/coss/types/log_drain_batch_object.rb +11 -0
- data/lib/coss/types/log_drain_batch_status.rb +13 -0
- data/lib/coss/types/log_drain_disabled_reason.rb +12 -0
- data/lib/coss/types/log_drain_list.rb +13 -0
- data/lib/coss/types/log_drain_list_object.rb +11 -0
- data/lib/coss/types/log_drain_object.rb +11 -0
- data/lib/coss/types/log_drain_source.rb +17 -0
- data/lib/coss/types/log_drain_with_secret.rb +29 -0
- data/lib/coss/types/log_drain_with_secret_disabled_reason.rb +12 -0
- data/lib/coss/types/log_drain_with_secret_object.rb +11 -0
- data/lib/coss/types/log_level.rb +13 -0
- data/lib/coss/types/log_list.rb +13 -0
- data/lib/coss/types/log_list_object.rb +11 -0
- data/lib/coss/types/log_object.rb +11 -0
- data/lib/coss/types/log_source.rb +16 -0
- data/lib/coss/types/marketing_settings.rb +25 -0
- data/lib/coss/types/marketing_settings_object.rb +11 -0
- data/lib/coss/types/marketing_standing.rb +13 -0
- data/lib/coss/types/marketing_standing_status.rb +12 -0
- data/lib/coss/types/preference_links.rb +15 -0
- data/lib/coss/types/preference_links_object.rb +11 -0
- data/lib/coss/types/received_email.rb +57 -0
- data/lib/coss/types/received_email_attachment.rb +19 -0
- data/lib/coss/types/received_email_attachment_disposition.rb +12 -0
- data/lib/coss/types/received_email_blocked_reason.rb +11 -0
- data/lib/coss/types/received_email_headers_item.rb +11 -0
- data/lib/coss/types/received_email_list.rb +13 -0
- data/lib/coss/types/received_email_list_object.rb +11 -0
- data/lib/coss/types/received_email_object.rb +11 -0
- data/lib/coss/types/received_email_status.rb +12 -0
- data/lib/coss/types/received_email_summary.rb +41 -0
- data/lib/coss/types/received_email_summary_blocked_reason.rb +11 -0
- data/lib/coss/types/received_email_summary_object.rb +11 -0
- data/lib/coss/types/received_email_summary_status.rb +12 -0
- data/lib/coss/types/received_email_verdicts.rb +21 -0
- data/lib/coss/types/received_email_verdicts_dkim.rb +14 -0
- data/lib/coss/types/received_email_verdicts_dmarc.rb +14 -0
- data/lib/coss/types/received_email_verdicts_spam.rb +14 -0
- data/lib/coss/types/received_email_verdicts_spf.rb +14 -0
- data/lib/coss/types/received_email_verdicts_virus.rb +14 -0
- data/lib/coss/types/received_email_webhook_event.rb +19 -0
- data/lib/coss/types/received_email_webhook_event_data.rb +31 -0
- data/lib/coss/types/received_email_webhook_event_object.rb +11 -0
- data/lib/coss/types/received_email_webhook_event_type.rb +11 -0
- data/lib/coss/types/received_sms.rb +25 -0
- data/lib/coss/types/received_sms_keyword.rb +13 -0
- data/lib/coss/types/received_sms_list.rb +13 -0
- data/lib/coss/types/received_sms_list_object.rb +11 -0
- data/lib/coss/types/received_sms_object.rb +11 -0
- data/lib/coss/types/received_sms_webhook_event.rb +19 -0
- data/lib/coss/types/received_sms_webhook_event_data.rb +19 -0
- data/lib/coss/types/received_sms_webhook_event_data_keyword.rb +13 -0
- data/lib/coss/types/received_sms_webhook_event_object.rb +11 -0
- data/lib/coss/types/received_sms_webhook_event_type.rb +13 -0
- data/lib/coss/types/receiving_domain.rb +18 -0
- data/lib/coss/types/receiving_domain_record.rb +21 -0
- data/lib/coss/types/receiving_domain_record_status.rb +14 -0
- data/lib/coss/types/receiving_domain_record_type.rb +11 -0
- data/lib/coss/types/rendered_email_template.rb +21 -0
- data/lib/coss/types/rendered_email_template_object.rb +11 -0
- data/lib/coss/types/reputation.rb +23 -0
- data/lib/coss/types/reputation_check.rb +25 -0
- data/lib/coss/types/reputation_check_severity.rb +13 -0
- data/lib/coss/types/reputation_object.rb +11 -0
- data/lib/coss/types/reputation_status.rb +13 -0
- data/lib/coss/types/reputation_window.rb +12 -0
- data/lib/coss/types/risk_assessment.rb +35 -0
- data/lib/coss/types/risk_assessment_degraded_item.rb +17 -0
- data/lib/coss/types/risk_assessment_list.rb +13 -0
- data/lib/coss/types/risk_assessment_list_object.rb +11 -0
- data/lib/coss/types/risk_assessment_object.rb +11 -0
- data/lib/coss/types/risk_assessment_review_status.rb +12 -0
- data/lib/coss/types/risk_assessment_signals.rb +23 -0
- data/lib/coss/types/risk_assessment_user.rb +11 -0
- data/lib/coss/types/risk_calibration.rb +21 -0
- data/lib/coss/types/risk_calibration_object.rb +11 -0
- data/lib/coss/types/risk_calibration_reason.rb +23 -0
- data/lib/coss/types/risk_calibration_reason_code.rb +57 -0
- data/lib/coss/types/risk_calibration_rule.rb +19 -0
- data/lib/coss/types/risk_captcha_signals.rb +11 -0
- data/lib/coss/types/risk_checkout_request.rb +18 -0
- data/lib/coss/types/risk_checkout_request_card.rb +14 -0
- data/lib/coss/types/risk_checkout_request_card_funding.rb +14 -0
- data/lib/coss/types/risk_checkout_signals.rb +20 -0
- data/lib/coss/types/risk_checkout_signals_card_funding.rb +14 -0
- data/lib/coss/types/risk_content_classification.rb +14 -0
- data/lib/coss/types/risk_content_classification_object.rb +11 -0
- data/lib/coss/types/risk_content_signals.rb +17 -0
- data/lib/coss/types/risk_decision.rb +13 -0
- data/lib/coss/types/risk_device_signals.rb +22 -0
- data/lib/coss/types/risk_email_check.rb +31 -0
- data/lib/coss/types/risk_email_check_degraded_item.rb +12 -0
- data/lib/coss/types/risk_email_check_deliverability.rb +13 -0
- data/lib/coss/types/risk_email_check_object.rb +11 -0
- data/lib/coss/types/risk_email_signals.rb +23 -0
- data/lib/coss/types/risk_email_signals_deliverability.rb +13 -0
- data/lib/coss/types/risk_event.rb +15 -0
- data/lib/coss/types/risk_ip_check.rb +33 -0
- data/lib/coss/types/risk_ip_check_degraded_item.rb +12 -0
- data/lib/coss/types/risk_ip_check_hosting_kind.rb +13 -0
- data/lib/coss/types/risk_ip_check_object.rb +11 -0
- data/lib/coss/types/risk_ip_privacy.rb +15 -0
- data/lib/coss/types/risk_ip_signals.rb +27 -0
- data/lib/coss/types/risk_ip_signals_hosting_kind.rb +13 -0
- data/lib/coss/types/risk_limit.rb +23 -0
- data/lib/coss/types/risk_limit_bucket.rb +25 -0
- data/lib/coss/types/risk_limit_bucket_list.rb +14 -0
- data/lib/coss/types/risk_limit_bucket_list_object.rb +11 -0
- data/lib/coss/types/risk_limit_bucket_object.rb +11 -0
- data/lib/coss/types/risk_limit_bucket_on_failure.rb +12 -0
- data/lib/coss/types/risk_limit_object.rb +11 -0
- data/lib/coss/types/risk_list.rb +12 -0
- data/lib/coss/types/risk_list_entry.rb +23 -0
- data/lib/coss/types/risk_list_entry_list.rb +13 -0
- data/lib/coss/types/risk_list_entry_list_object.rb +11 -0
- data/lib/coss/types/risk_list_entry_object.rb +11 -0
- data/lib/coss/types/risk_list_entry_type.rb +16 -0
- data/lib/coss/types/risk_login_signals.rb +12 -0
- data/lib/coss/types/risk_outcome.rb +13 -0
- data/lib/coss/types/risk_reason.rb +33 -0
- data/lib/coss/types/risk_reason_code.rb +60 -0
- data/lib/coss/types/risk_reason_type.rb +16 -0
- data/lib/coss/types/risk_reason_window.rb +12 -0
- data/lib/coss/types/risk_rule.rb +29 -0
- data/lib/coss/types/risk_rule_condition.rb +14 -0
- data/lib/coss/types/risk_rule_condition_field.rb +62 -0
- data/lib/coss/types/risk_rule_condition_operator.rb +19 -0
- data/lib/coss/types/risk_rule_condition_value.rb +17 -0
- data/lib/coss/types/risk_rule_list.rb +14 -0
- data/lib/coss/types/risk_rule_list_object.rb +11 -0
- data/lib/coss/types/risk_rule_match.rb +12 -0
- data/lib/coss/types/risk_rule_object.rb +11 -0
- data/lib/coss/types/risk_settings.rb +23 -0
- data/lib/coss/types/risk_settings_captcha.rb +11 -0
- data/lib/coss/types/risk_settings_captcha_provider.rb +12 -0
- data/lib/coss/types/risk_settings_content_thresholds.rb +17 -0
- data/lib/coss/types/risk_settings_disabled_reasons_item.rb +53 -0
- data/lib/coss/types/risk_settings_object.rb +11 -0
- data/lib/coss/types/risk_settings_reason_weights.rb +103 -0
- data/lib/coss/types/risk_velocity_signals.rb +23 -0
- data/lib/coss/types/risk_webhook_event.rb +19 -0
- data/lib/coss/types/risk_webhook_event_data.rb +25 -0
- data/lib/coss/types/risk_webhook_event_object.rb +11 -0
- data/lib/coss/types/risk_webhook_event_type.rb +12 -0
- data/lib/coss/types/segment.rb +19 -0
- data/lib/coss/types/segment_filter.rb +15 -0
- data/lib/coss/types/segment_filter_conditions_item.rb +21 -0
- data/lib/coss/types/segment_filter_conditions_item_audience_id.rb +13 -0
- data/lib/coss/types/segment_filter_conditions_item_audience_id_field.rb +11 -0
- data/lib/coss/types/segment_filter_conditions_item_audience_id_op.rb +12 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions.rb +11 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item.rb +21 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_audience.rb +11 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_audience_op.rb +12 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_created_at.rb +11 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_created_at_op.rb +13 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_created_at_value.rb +14 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_email.rb +11 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_email_op.rb +13 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_property.rb +13 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_property_op.rb +22 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_property_value.rb +18 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_property_value_three_item.rb +15 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_topic.rb +11 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_topic_op.rb +12 -0
- data/lib/coss/types/segment_filter_conditions_item_conditions_match.rb +12 -0
- data/lib/coss/types/segment_filter_conditions_item_field.rb +13 -0
- data/lib/coss/types/segment_filter_conditions_item_field_field.rb +11 -0
- data/lib/coss/types/segment_filter_conditions_item_field_op.rb +13 -0
- data/lib/coss/types/segment_filter_conditions_item_field_value.rb +14 -0
- data/lib/coss/types/segment_filter_conditions_item_key.rb +15 -0
- data/lib/coss/types/segment_filter_conditions_item_key_field.rb +11 -0
- data/lib/coss/types/segment_filter_conditions_item_key_op.rb +22 -0
- data/lib/coss/types/segment_filter_conditions_item_key_value.rb +18 -0
- data/lib/coss/types/segment_filter_conditions_item_key_value_three_item.rb +15 -0
- data/lib/coss/types/segment_filter_conditions_item_one.rb +13 -0
- data/lib/coss/types/segment_filter_conditions_item_one_field.rb +11 -0
- data/lib/coss/types/segment_filter_conditions_item_one_op.rb +13 -0
- data/lib/coss/types/segment_filter_conditions_item_topic.rb +13 -0
- data/lib/coss/types/segment_filter_conditions_item_topic_field.rb +11 -0
- data/lib/coss/types/segment_filter_conditions_item_topic_op.rb +12 -0
- data/lib/coss/types/segment_filter_match.rb +12 -0
- data/lib/coss/types/segment_list.rb +13 -0
- data/lib/coss/types/segment_list_object.rb +11 -0
- data/lib/coss/types/segment_object.rb +11 -0
- data/lib/coss/types/send_email_attachment.rb +15 -0
- data/lib/coss/types/send_email_request.rb +45 -0
- data/lib/coss/types/send_email_request_bcc.rb +13 -0
- data/lib/coss/types/send_email_request_cc.rb +13 -0
- data/lib/coss/types/send_email_request_reply_to.rb +13 -0
- data/lib/coss/types/send_email_request_stream.rb +12 -0
- data/lib/coss/types/send_email_request_tags_item.rb +11 -0
- data/lib/coss/types/send_email_request_to.rb +13 -0
- data/lib/coss/types/sms.rb +39 -0
- data/lib/coss/types/sms_encoding.rb +12 -0
- data/lib/coss/types/sms_event.rb +19 -0
- data/lib/coss/types/sms_event_data.rb +13 -0
- data/lib/coss/types/sms_event_data_failure.rb +12 -0
- data/lib/coss/types/sms_event_data_suppression.rb +12 -0
- data/lib/coss/types/sms_event_data_suppression_reason.rb +13 -0
- data/lib/coss/types/sms_event_list.rb +13 -0
- data/lib/coss/types/sms_event_list_object.rb +11 -0
- data/lib/coss/types/sms_event_object.rb +11 -0
- data/lib/coss/types/sms_event_type.rb +17 -0
- data/lib/coss/types/sms_failure.rb +12 -0
- data/lib/coss/types/sms_list.rb +13 -0
- data/lib/coss/types/sms_list_object.rb +11 -0
- data/lib/coss/types/sms_number.rb +27 -0
- data/lib/coss/types/sms_number_kind.rb +12 -0
- data/lib/coss/types/sms_number_list.rb +13 -0
- data/lib/coss/types/sms_number_list_object.rb +11 -0
- data/lib/coss/types/sms_number_object.rb +11 -0
- data/lib/coss/types/sms_number_registration_status.rb +16 -0
- data/lib/coss/types/sms_number_status.rb +13 -0
- data/lib/coss/types/sms_object.rb +11 -0
- data/lib/coss/types/sms_status.rb +17 -0
- data/lib/coss/types/sms_suppression.rb +19 -0
- data/lib/coss/types/sms_suppression_check.rb +15 -0
- data/lib/coss/types/sms_suppression_check_object.rb +11 -0
- data/lib/coss/types/sms_suppression_check_suppression.rb +19 -0
- data/lib/coss/types/sms_suppression_check_suppression_object.rb +11 -0
- data/lib/coss/types/sms_suppression_check_suppression_reason.rb +13 -0
- data/lib/coss/types/sms_suppression_list.rb +13 -0
- data/lib/coss/types/sms_suppression_list_object.rb +11 -0
- data/lib/coss/types/sms_suppression_object.rb +11 -0
- data/lib/coss/types/sms_suppression_reason.rb +13 -0
- data/lib/coss/types/sms_tags_item.rb +11 -0
- data/lib/coss/types/sms_webhook_event.rb +19 -0
- data/lib/coss/types/sms_webhook_event_data.rb +29 -0
- data/lib/coss/types/sms_webhook_event_data_failure.rb +12 -0
- data/lib/coss/types/sms_webhook_event_data_suppression.rb +12 -0
- data/lib/coss/types/sms_webhook_event_data_suppression_reason.rb +13 -0
- data/lib/coss/types/sms_webhook_event_data_tags_item.rb +11 -0
- data/lib/coss/types/sms_webhook_event_object.rb +11 -0
- data/lib/coss/types/sms_webhook_event_type.rb +17 -0
- data/lib/coss/types/storage_settings.rb +15 -0
- data/lib/coss/types/storage_settings_content_storage.rb +12 -0
- data/lib/coss/types/storage_settings_object.rb +11 -0
- data/lib/coss/types/suppression.rb +21 -0
- data/lib/coss/types/suppression_check.rb +15 -0
- data/lib/coss/types/suppression_check_object.rb +11 -0
- data/lib/coss/types/suppression_import.rb +15 -0
- data/lib/coss/types/suppression_import_invalid_item.rb +13 -0
- data/lib/coss/types/suppression_import_object.rb +11 -0
- data/lib/coss/types/suppression_list.rb +13 -0
- data/lib/coss/types/suppression_list_object.rb +11 -0
- data/lib/coss/types/suppression_object.rb +11 -0
- data/lib/coss/types/suppression_reason.rb +15 -0
- data/lib/coss/types/template_content.rb +15 -0
- data/lib/coss/types/template_content_input.rb +15 -0
- data/lib/coss/types/template_problem.rb +17 -0
- data/lib/coss/types/template_problem_field.rb +13 -0
- data/lib/coss/types/template_variable.rb +19 -0
- data/lib/coss/types/template_variable_default.rb +15 -0
- data/lib/coss/types/template_variable_fields_item.rb +13 -0
- data/lib/coss/types/template_variable_fields_item_type.rb +13 -0
- data/lib/coss/types/template_variable_input.rb +19 -0
- data/lib/coss/types/template_variable_input_default.rb +16 -0
- data/lib/coss/types/template_variable_input_fields_item.rb +13 -0
- data/lib/coss/types/template_variable_input_fields_item_type.rb +13 -0
- data/lib/coss/types/template_variable_input_type.rb +14 -0
- data/lib/coss/types/template_variable_type.rb +14 -0
- data/lib/coss/types/topic.rb +27 -0
- data/lib/coss/types/topic_default_subscription.rb +12 -0
- data/lib/coss/types/topic_list.rb +13 -0
- data/lib/coss/types/topic_list_object.rb +11 -0
- data/lib/coss/types/topic_object.rb +11 -0
- data/lib/coss/types/topic_visibility.rb +12 -0
- data/lib/coss/types/tracking_domain.rb +25 -0
- data/lib/coss/types/tracking_domain_record.rb +18 -0
- data/lib/coss/types/tracking_domain_record_status.rb +14 -0
- data/lib/coss/types/tracking_domain_record_type.rb +11 -0
- data/lib/coss/types/tracking_domain_status.rb +15 -0
- data/lib/coss/types/tracking_options.rb +15 -0
- data/lib/coss/types/tracking_rule.rb +25 -0
- data/lib/coss/types/tracking_rule_object.rb +11 -0
- data/lib/coss/types/tracking_settings.rb +16 -0
- data/lib/coss/types/tracking_settings_object.rb +11 -0
- data/lib/coss/types/update_tracking_rule_request.rb +15 -0
- data/lib/coss/types/usage.rb +27 -0
- data/lib/coss/types/usage_list.rb +13 -0
- data/lib/coss/types/usage_list_object.rb +11 -0
- data/lib/coss/types/usage_meter.rb +18 -0
- data/lib/coss/types/usage_object.rb +11 -0
- data/lib/coss/types/webhook_attempt.rb +21 -0
- data/lib/coss/types/webhook_attempt_object.rb +11 -0
- data/lib/coss/types/webhook_delivery.rb +35 -0
- data/lib/coss/types/webhook_delivery_list.rb +13 -0
- data/lib/coss/types/webhook_delivery_list_object.rb +11 -0
- data/lib/coss/types/webhook_delivery_object.rb +11 -0
- data/lib/coss/types/webhook_delivery_status.rb +13 -0
- data/lib/coss/types/webhook_endpoint.rb +33 -0
- data/lib/coss/types/webhook_endpoint_disabled_reason.rb +12 -0
- data/lib/coss/types/webhook_endpoint_list.rb +13 -0
- data/lib/coss/types/webhook_endpoint_list_object.rb +11 -0
- data/lib/coss/types/webhook_endpoint_object.rb +11 -0
- data/lib/coss/types/webhook_endpoint_recovery.rb +15 -0
- data/lib/coss/types/webhook_endpoint_recovery_object.rb +11 -0
- data/lib/coss/types/webhook_endpoint_with_secret.rb +35 -0
- data/lib/coss/types/webhook_endpoint_with_secret_disabled_reason.rb +12 -0
- data/lib/coss/types/webhook_endpoint_with_secret_object.rb +11 -0
- data/lib/coss/types/webhook_listener.rb +21 -0
- data/lib/coss/types/webhook_listener_ack.rb +17 -0
- data/lib/coss/types/webhook_listener_delivery.rb +23 -0
- data/lib/coss/types/webhook_listener_delivery_object.rb +11 -0
- data/lib/coss/types/webhook_listener_object.rb +11 -0
- data/lib/coss/types/webhook_listener_poll.rb +15 -0
- data/lib/coss/types/webhook_listener_poll_object.rb +11 -0
- data/lib/coss/types/webhook_test_event.rb +15 -0
- data/lib/coss/types/webhook_test_event_event.rb +26 -0
- data/lib/coss/types/webhook_test_event_object.rb +11 -0
- data/lib/coss/version.rb +5 -0
- data/lib/coss/webhook_endpoints/client.rb +325 -0
- data/lib/coss/webhook_endpoints/deliveries/client.rb +153 -0
- data/lib/coss/webhook_endpoints/deliveries/types/get_deliveries_request.rb +15 -0
- data/lib/coss/webhook_endpoints/deliveries/types/list_deliveries_request.rb +21 -0
- data/lib/coss/webhook_endpoints/deliveries/types/list_deliveries_request_status.rb +17 -0
- data/lib/coss/webhook_endpoints/deliveries/types/retry_deliveries_request.rb +15 -0
- data/lib/coss/webhook_endpoints/types/create_webhook_endpoint_request.rb +17 -0
- data/lib/coss/webhook_endpoints/types/create_webhook_endpoint_request_api_version.rb +13 -0
- data/lib/coss/webhook_endpoints/types/create_webhook_endpoint_request_event_types_item.rb +68 -0
- data/lib/coss/webhook_endpoints/types/delete_webhook_endpoints_request.rb +11 -0
- data/lib/coss/webhook_endpoints/types/get_webhook_endpoints_request.rb +11 -0
- data/lib/coss/webhook_endpoints/types/recover_webhook_endpoint_request.rb +13 -0
- data/lib/coss/webhook_endpoints/types/roll_webhook_endpoint_secret_request.rb +13 -0
- data/lib/coss/webhook_endpoints/types/update_webhook_endpoint_request.rb +21 -0
- data/lib/coss/webhook_endpoints/types/update_webhook_endpoint_request_api_version.rb +13 -0
- data/lib/coss/webhook_endpoints/types/update_webhook_endpoint_request_event_types_item.rb +68 -0
- data/lib/coss/webhook_events/client.rb +63 -0
- data/lib/coss/webhook_events/types/create_test_webhook_event_request.rb +13 -0
- data/lib/coss/webhook_events/types/create_test_webhook_event_request_type.rb +68 -0
- data/lib/coss/webhook_listeners/client.rb +157 -0
- data/lib/coss/webhook_listeners/types/create_webhook_listener_request.rb +15 -0
- data/lib/coss/webhook_listeners/types/create_webhook_listener_request_api_version.rb +13 -0
- data/lib/coss/webhook_listeners/types/create_webhook_listener_request_event_types_item.rb +68 -0
- data/lib/coss/webhook_listeners/types/delete_webhook_listeners_request.rb +11 -0
- data/lib/coss/webhook_listeners/types/poll_webhook_listener_request.rb +17 -0
- data/lib/coss/webhooks.rb +98 -0
- data/lib/coss.rb +1050 -0
- data/reference.md +15152 -0
- metadata +1097 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Internal
|
|
5
|
+
class OffsetPageIterator
|
|
6
|
+
include Enumerable
|
|
7
|
+
|
|
8
|
+
# The raw HTTP response from the most recent page response.
|
|
9
|
+
# @return [Net::HTTPResponse, nil]
|
|
10
|
+
attr_reader :http_response
|
|
11
|
+
|
|
12
|
+
# Instantiates an OffsetPageIterator, an Enumerable class which wraps calls to an offset-based paginated API and yields pages of items from it.
|
|
13
|
+
#
|
|
14
|
+
# @param initial_page [Integer] The initial page to use when iterating, if any.
|
|
15
|
+
# @param item_field [Symbol] The field to pull the list of items to iterate over.
|
|
16
|
+
# @param has_next_field [Symbol] The field to pull the boolean of whether a next page exists from, if any.
|
|
17
|
+
# @param step [Boolean] If true, treats the page number as a true offset (i.e. increments the page number by the number of items returned from each call rather than just 1)
|
|
18
|
+
# @param block [Proc] A block which is responsible for receiving a page number to use and returning the given page from the API.
|
|
19
|
+
# The block should return a two-element array: [parsed_page, raw_http_response].
|
|
20
|
+
# @return [Coss::Internal::OffsetPageIterator]
|
|
21
|
+
def initialize(initial_page:, item_field:, has_next_field:, step:, &block)
|
|
22
|
+
@page_number = initial_page || (step ? 0 : 1)
|
|
23
|
+
@item_field = item_field
|
|
24
|
+
@has_next_field = has_next_field
|
|
25
|
+
@step = step
|
|
26
|
+
@get_next_page = block
|
|
27
|
+
|
|
28
|
+
# A cache of whether the API has another page, if it gives us that information...
|
|
29
|
+
@next_page = nil
|
|
30
|
+
# ...or the actual next page, preloaded, if it doesn't.
|
|
31
|
+
@has_next_page = nil
|
|
32
|
+
|
|
33
|
+
@http_response = nil
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Iterates over each page returned by the API.
|
|
37
|
+
#
|
|
38
|
+
# @param block [Proc] The block which each retrieved page is yielded to.
|
|
39
|
+
# @return [NilClass]
|
|
40
|
+
def each(&block)
|
|
41
|
+
while (page = next_page)
|
|
42
|
+
block.call(page)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Whether another page will be available from the API.
|
|
47
|
+
#
|
|
48
|
+
# @return [Boolean]
|
|
49
|
+
def next?
|
|
50
|
+
return @has_next_page unless @has_next_page.nil?
|
|
51
|
+
return true if @next_page
|
|
52
|
+
|
|
53
|
+
fetched_page = fetch_page(@page_number)
|
|
54
|
+
fetched_page_items = fetched_page&.send(@item_field)
|
|
55
|
+
if fetched_page_items.nil? || fetched_page_items.empty?
|
|
56
|
+
@has_next_page = false
|
|
57
|
+
else
|
|
58
|
+
@next_page = fetched_page
|
|
59
|
+
true
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Returns the next page from the API.
|
|
64
|
+
def next_page
|
|
65
|
+
return nil if @page_number.nil?
|
|
66
|
+
|
|
67
|
+
if @next_page
|
|
68
|
+
this_page = @next_page
|
|
69
|
+
@next_page = nil
|
|
70
|
+
else
|
|
71
|
+
this_page = fetch_page(@page_number)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
@has_next_page = this_page&.send(@has_next_field) if @has_next_field
|
|
75
|
+
|
|
76
|
+
items = this_page.send(@item_field)
|
|
77
|
+
if items.nil? || items.empty?
|
|
78
|
+
@page_number = nil
|
|
79
|
+
return nil
|
|
80
|
+
elsif @step
|
|
81
|
+
@page_number += items.length
|
|
82
|
+
else
|
|
83
|
+
@page_number += 1
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
this_page
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
private
|
|
90
|
+
|
|
91
|
+
def fetch_page(page_number)
|
|
92
|
+
result = @get_next_page.call(page_number)
|
|
93
|
+
if result.is_a?(Array)
|
|
94
|
+
fetched_page, raw_response = result
|
|
95
|
+
@http_response = raw_response
|
|
96
|
+
fetched_page
|
|
97
|
+
else
|
|
98
|
+
result
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Internal
|
|
5
|
+
module JSON
|
|
6
|
+
# @api private
|
|
7
|
+
class Request < Coss::Internal::Http::BaseRequest
|
|
8
|
+
attr_reader :body
|
|
9
|
+
|
|
10
|
+
# @param base_url [String] The base URL for the request
|
|
11
|
+
# @param path [String] The path for the request
|
|
12
|
+
# @param method [Symbol] The HTTP method for the request (:get, :post, etc.)
|
|
13
|
+
# @param headers [Hash] Additional headers for the request (optional)
|
|
14
|
+
# @param query [Hash] Query parameters for the request (optional)
|
|
15
|
+
# @param body [Object, nil] The JSON request body (optional)
|
|
16
|
+
# @param request_options [Coss::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
17
|
+
# @param max_retries [Integer, nil] Overrides the client's retry count for this request
|
|
18
|
+
def initialize(base_url:, path:, method:, headers: {}, query: {}, body: nil, request_options: {}, max_retries: nil)
|
|
19
|
+
super(base_url:, path:, method:, headers:, query:, request_options:, max_retries:)
|
|
20
|
+
|
|
21
|
+
@body = body
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# @return [Hash] The encoded HTTP request headers.
|
|
25
|
+
# @param protected_keys [Array<String>] Header keys set by the SDK client (e.g. auth, metadata)
|
|
26
|
+
# that must not be overridden by additional_headers from request_options.
|
|
27
|
+
def encode_headers(protected_keys: [])
|
|
28
|
+
sdk_headers = {
|
|
29
|
+
"Content-Type" => "application/json",
|
|
30
|
+
"Accept" => "application/json"
|
|
31
|
+
}.merge(@headers)
|
|
32
|
+
merge_additional_headers(sdk_headers, protected_keys:)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# @return [String, nil] The encoded HTTP request body.
|
|
36
|
+
def encode_body
|
|
37
|
+
@body.nil? ? nil : ::JSON.generate(@body)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Internal
|
|
5
|
+
module JSON
|
|
6
|
+
module Serializable
|
|
7
|
+
# Loads data from JSON into its deserialized form
|
|
8
|
+
#
|
|
9
|
+
# @param str [String] Raw JSON to load into an object
|
|
10
|
+
# @return [Object]
|
|
11
|
+
def load(str)
|
|
12
|
+
raise NotImplementedError
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Dumps data from its deserialized form into JSON
|
|
16
|
+
#
|
|
17
|
+
# @param value [Object] The deserialized value
|
|
18
|
+
# @return [String]
|
|
19
|
+
def dump(value)
|
|
20
|
+
raise NotImplementedError
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Internal
|
|
5
|
+
module Multipart
|
|
6
|
+
# Encodes parameters into a `multipart/form-data` payload as described by RFC
|
|
7
|
+
# 2388:
|
|
8
|
+
#
|
|
9
|
+
# https://tools.ietf.org/html/rfc2388
|
|
10
|
+
#
|
|
11
|
+
# This is most useful for transferring file-like objects.
|
|
12
|
+
#
|
|
13
|
+
# Parameters should be added with `#encode`. When ready, use `#body` to get
|
|
14
|
+
# the encoded result and `#content_type` to get the value that should be
|
|
15
|
+
# placed in the `Content-Type` header of a subsequent request (which includes
|
|
16
|
+
# a boundary value).
|
|
17
|
+
#
|
|
18
|
+
# This abstraction is heavily inspired by Stripe's multipart/form-data implementation,
|
|
19
|
+
# which can be found here:
|
|
20
|
+
#
|
|
21
|
+
# https://github.com/stripe/stripe-ruby/blob/ca00b676f04ac421cf5cb5ff0325f243651677b6/lib/stripe/multipart_encoder.rb#L18
|
|
22
|
+
#
|
|
23
|
+
# @api private
|
|
24
|
+
class Encoder
|
|
25
|
+
CONTENT_TYPE = "multipart/form-data"
|
|
26
|
+
CRLF = "\r\n"
|
|
27
|
+
|
|
28
|
+
attr_reader :boundary, :body
|
|
29
|
+
|
|
30
|
+
def initialize
|
|
31
|
+
# Chose the same number of random bytes that Go uses in its standard
|
|
32
|
+
# library implementation. Easily enough entropy to ensure that it won't
|
|
33
|
+
# be present in a file we're sending.
|
|
34
|
+
@boundary = SecureRandom.hex(30)
|
|
35
|
+
|
|
36
|
+
@body = String.new
|
|
37
|
+
@closed = false
|
|
38
|
+
@first_field = true
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Gets the content type string including the boundary.
|
|
42
|
+
#
|
|
43
|
+
# @return [String] The content type with boundary
|
|
44
|
+
def content_type
|
|
45
|
+
"#{CONTENT_TYPE}; boundary=#{@boundary}"
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Encode the given FormData object into a multipart/form-data payload.
|
|
49
|
+
#
|
|
50
|
+
# @param form_data [FormData] The form data to encode
|
|
51
|
+
# @return [String] The encoded body.
|
|
52
|
+
def encode(form_data)
|
|
53
|
+
return "" if form_data.parts.empty?
|
|
54
|
+
|
|
55
|
+
form_data.parts.each do |part|
|
|
56
|
+
write_part(part)
|
|
57
|
+
end
|
|
58
|
+
close
|
|
59
|
+
|
|
60
|
+
@body
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Writes a FormDataPart to the encoder.
|
|
64
|
+
#
|
|
65
|
+
# @param part [FormDataPart] The part to write
|
|
66
|
+
# @return [nil]
|
|
67
|
+
def write_part(part)
|
|
68
|
+
raise "Cannot write to closed encoder" if @closed
|
|
69
|
+
|
|
70
|
+
write_field(
|
|
71
|
+
name: part.name,
|
|
72
|
+
data: part.contents,
|
|
73
|
+
filename: part.filename,
|
|
74
|
+
headers: part.headers
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
nil
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Writes a field to the encoder.
|
|
81
|
+
#
|
|
82
|
+
# @param name [String] The field name
|
|
83
|
+
# @param data [String] The field data
|
|
84
|
+
# @param filename [String, nil] Optional filename
|
|
85
|
+
# @param headers [Hash<String, String>, nil] Optional additional headers
|
|
86
|
+
# @return [nil]
|
|
87
|
+
def write_field(name:, data:, filename: nil, headers: nil)
|
|
88
|
+
raise "Cannot write to closed encoder" if @closed
|
|
89
|
+
|
|
90
|
+
if @first_field
|
|
91
|
+
@first_field = false
|
|
92
|
+
else
|
|
93
|
+
@body << CRLF
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
@body << "--#{@boundary}#{CRLF}"
|
|
97
|
+
@body << %(Content-Disposition: form-data; name="#{escape(name.to_s)}")
|
|
98
|
+
@body << %(; filename="#{escape(filename)}") if filename
|
|
99
|
+
@body << CRLF
|
|
100
|
+
|
|
101
|
+
if headers
|
|
102
|
+
headers.each do |key, value|
|
|
103
|
+
@body << "#{key}: #{value}#{CRLF}"
|
|
104
|
+
end
|
|
105
|
+
elsif filename
|
|
106
|
+
# Default content type for files.
|
|
107
|
+
@body << "Content-Type: application/octet-stream#{CRLF}"
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
@body << CRLF
|
|
111
|
+
@body << data.to_s
|
|
112
|
+
|
|
113
|
+
nil
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# Finalizes the encoder by writing the final boundary.
|
|
117
|
+
#
|
|
118
|
+
# @return [nil]
|
|
119
|
+
def close
|
|
120
|
+
raise "Encoder already closed" if @closed
|
|
121
|
+
|
|
122
|
+
@body << CRLF
|
|
123
|
+
@body << "--#{@boundary}--"
|
|
124
|
+
@closed = true
|
|
125
|
+
|
|
126
|
+
nil
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
private
|
|
130
|
+
|
|
131
|
+
# Escapes quotes for use in header values and replaces line breaks with spaces.
|
|
132
|
+
#
|
|
133
|
+
# @param str [String] The string to escape
|
|
134
|
+
# @return [String] The escaped string
|
|
135
|
+
def escape(str)
|
|
136
|
+
str.to_s.gsub('"', "%22").tr("\n", " ").tr("\r", " ")
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
end
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Internal
|
|
5
|
+
module Multipart
|
|
6
|
+
# @api private
|
|
7
|
+
class FormData
|
|
8
|
+
# @return [Array<FormDataPart>] The parts in this multipart form data.
|
|
9
|
+
attr_reader :parts
|
|
10
|
+
|
|
11
|
+
# @return [Encoder] The encoder for this multipart form data.
|
|
12
|
+
private attr_reader :encoder
|
|
13
|
+
|
|
14
|
+
def initialize
|
|
15
|
+
@encoder = Encoder.new
|
|
16
|
+
@parts = []
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Adds a new part to the multipart form data.
|
|
20
|
+
#
|
|
21
|
+
# @param name [String] The name of the form field
|
|
22
|
+
# @param value [String, Integer, Float, Boolean, #read] The value of the field
|
|
23
|
+
# @param content_type [String, nil] Optional content type
|
|
24
|
+
# @return [self] Returns self for chaining
|
|
25
|
+
def add(name:, value:, content_type: nil)
|
|
26
|
+
headers = content_type ? { "Content-Type" => content_type } : nil
|
|
27
|
+
add_part(FormDataPart.new(name:, value:, headers:))
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Adds a file to the multipart form data.
|
|
31
|
+
#
|
|
32
|
+
# @param name [String] The name of the form field
|
|
33
|
+
# @param file [String, #read] A path to a file on disk, or a file/readable object
|
|
34
|
+
# @param filename [String, nil] Optional filename (defaults to basename of the path for paths and File objects)
|
|
35
|
+
# @param content_type [String, nil] Optional content type (e.g. "image/png")
|
|
36
|
+
# @return [self] Returns self for chaining
|
|
37
|
+
def add_file(name:, file:, filename: nil, content_type: nil)
|
|
38
|
+
headers = content_type ? { "Content-Type" => content_type } : nil
|
|
39
|
+
if file.is_a?(::String)
|
|
40
|
+
filename ||= ::File.basename(file)
|
|
41
|
+
file = ::File.binread(file)
|
|
42
|
+
else
|
|
43
|
+
filename ||= filename_for(file)
|
|
44
|
+
end
|
|
45
|
+
add_part(FormDataPart.new(name:, value: file, filename:, headers:))
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Adds a pre-created part to the multipart form data.
|
|
49
|
+
#
|
|
50
|
+
# @param part [FormDataPart] The part to add
|
|
51
|
+
# @return [self] Returns self for chaining
|
|
52
|
+
def add_part(part)
|
|
53
|
+
@parts << part
|
|
54
|
+
self
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Gets the content type string including the boundary.
|
|
58
|
+
#
|
|
59
|
+
# @return [String] The content type with boundary.
|
|
60
|
+
def content_type
|
|
61
|
+
@encoder.content_type
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Encode the multipart form data into a multipart/form-data payload.
|
|
65
|
+
#
|
|
66
|
+
# @return [String] The encoded body.
|
|
67
|
+
def encode
|
|
68
|
+
@encoder.encode(self)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
private
|
|
72
|
+
|
|
73
|
+
def filename_for(file)
|
|
74
|
+
if file.is_a?(::File) || file.respond_to?(:path)
|
|
75
|
+
::File.basename(file.path)
|
|
76
|
+
elsif file.respond_to?(:name)
|
|
77
|
+
file.name
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "securerandom"
|
|
4
|
+
|
|
5
|
+
module Coss
|
|
6
|
+
module Internal
|
|
7
|
+
module Multipart
|
|
8
|
+
# @api private
|
|
9
|
+
class FormDataPart
|
|
10
|
+
attr_reader :name, :contents, :filename, :headers
|
|
11
|
+
|
|
12
|
+
# @param name [String] The name of the form field
|
|
13
|
+
# @param value [String, Integer, Float, Boolean, File, #read] The value of the field
|
|
14
|
+
# @param filename [String, nil] Optional filename for file uploads
|
|
15
|
+
# @param headers [Hash<String, String>, nil] Optional additional headers
|
|
16
|
+
def initialize(name:, value:, filename: nil, headers: nil)
|
|
17
|
+
@name = name
|
|
18
|
+
@contents = convert_to_content(value)
|
|
19
|
+
@filename = filename
|
|
20
|
+
@headers = headers
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# Converts the part to a hash suitable for serialization.
|
|
24
|
+
#
|
|
25
|
+
# @return [Hash] A hash representation of the part
|
|
26
|
+
def to_hash
|
|
27
|
+
result = {
|
|
28
|
+
name: @name,
|
|
29
|
+
contents: @contents
|
|
30
|
+
}
|
|
31
|
+
result[:filename] = @filename if @filename
|
|
32
|
+
result[:headers] = @headers if @headers
|
|
33
|
+
result
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
private
|
|
37
|
+
|
|
38
|
+
# Converts various types of values to a content representation
|
|
39
|
+
# @param value [String, Integer, Float, Boolean, #read] The value to convert
|
|
40
|
+
# @return [String] The string representation of the value
|
|
41
|
+
def convert_to_content(value)
|
|
42
|
+
if value.respond_to?(:read)
|
|
43
|
+
value.read
|
|
44
|
+
else
|
|
45
|
+
value.to_s
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Internal
|
|
5
|
+
module Multipart
|
|
6
|
+
# @api private
|
|
7
|
+
class Request < Coss::Internal::Http::BaseRequest
|
|
8
|
+
attr_reader :body
|
|
9
|
+
|
|
10
|
+
# @param base_url [String] The base URL for the request
|
|
11
|
+
# @param path [String] The path for the request
|
|
12
|
+
# @param method [Symbol] The HTTP method for the request (:get, :post, etc.)
|
|
13
|
+
# @param headers [Hash] Additional headers for the request (optional)
|
|
14
|
+
# @param query [Hash] Query parameters for the request (optional)
|
|
15
|
+
# @param body [MultipartFormData, nil] The multipart form data for the request (optional)
|
|
16
|
+
# @param request_options [Coss::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
17
|
+
# @param max_retries [Integer, nil] Overrides the client's retry count for this request
|
|
18
|
+
def initialize(base_url:, path:, method:, headers: {}, query: {}, body: nil, request_options: {}, max_retries: nil)
|
|
19
|
+
super(base_url:, path:, method:, headers:, query:, request_options:, max_retries:)
|
|
20
|
+
|
|
21
|
+
@body = body
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# @return [Hash] The encoded HTTP request headers.
|
|
25
|
+
# @param protected_keys [Array<String>] Header keys set by the SDK client (e.g. auth, metadata)
|
|
26
|
+
# that must not be overridden by additional_headers from request_options.
|
|
27
|
+
def encode_headers(protected_keys: [])
|
|
28
|
+
sdk_headers = {
|
|
29
|
+
"Content-Type" => @body.content_type
|
|
30
|
+
}.merge(@headers)
|
|
31
|
+
merge_additional_headers(sdk_headers, protected_keys:)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# @return [String, nil] The encoded HTTP request body.
|
|
35
|
+
def encode_body
|
|
36
|
+
@body&.encode
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Internal
|
|
5
|
+
module Types
|
|
6
|
+
# An array of a specific type
|
|
7
|
+
class Array
|
|
8
|
+
include Coss::Internal::Types::Type
|
|
9
|
+
|
|
10
|
+
attr_reader :type
|
|
11
|
+
|
|
12
|
+
class << self
|
|
13
|
+
# Instantiates a new `Array` of a given type
|
|
14
|
+
#
|
|
15
|
+
# @param type [Object] The member type of this array
|
|
16
|
+
#
|
|
17
|
+
# @return [Coss::Internal::Types::Array]
|
|
18
|
+
def [](type)
|
|
19
|
+
new(type)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# @api private
|
|
24
|
+
def initialize(type)
|
|
25
|
+
@type = type
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Coerces a value into this array
|
|
29
|
+
#
|
|
30
|
+
# @param value [Object]
|
|
31
|
+
# @option strict [Boolean]
|
|
32
|
+
# @return [::Array]
|
|
33
|
+
def coerce(value, strict: strict?)
|
|
34
|
+
unless value.is_a?(::Array)
|
|
35
|
+
raise Errors::TypeError, "cannot coerce `#{value.class}` to Array<#{type}>" if strict
|
|
36
|
+
|
|
37
|
+
return value
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
value.map do |element|
|
|
41
|
+
Utils.coerce(type, element, strict: strict)
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Internal
|
|
5
|
+
module Types
|
|
6
|
+
module Boolean
|
|
7
|
+
extend Coss::Internal::Types::Union
|
|
8
|
+
|
|
9
|
+
member TrueClass
|
|
10
|
+
member FalseClass
|
|
11
|
+
|
|
12
|
+
# Overrides the base coercion method for enums to allow integer and string values to become booleans
|
|
13
|
+
#
|
|
14
|
+
# @param value [Object]
|
|
15
|
+
# @option strict [Boolean]
|
|
16
|
+
# @return [Object]
|
|
17
|
+
def self.coerce(value, strict: strict?)
|
|
18
|
+
case value
|
|
19
|
+
when TrueClass, FalseClass
|
|
20
|
+
return value
|
|
21
|
+
when Integer
|
|
22
|
+
return value == 1
|
|
23
|
+
when String
|
|
24
|
+
return %w[1 true].include?(value)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
raise Errors::TypeError, "cannot coerce `#{value.class}` to Boolean" if strict
|
|
28
|
+
|
|
29
|
+
value
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Internal
|
|
5
|
+
module Types
|
|
6
|
+
# Module for defining enums
|
|
7
|
+
module Enum
|
|
8
|
+
include Type
|
|
9
|
+
|
|
10
|
+
# @api private
|
|
11
|
+
#
|
|
12
|
+
# @return [Array<Object>]
|
|
13
|
+
def values
|
|
14
|
+
@values ||= constants.map { |c| const_get(c) }
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# @api private
|
|
18
|
+
def finalize!
|
|
19
|
+
values
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# @api private
|
|
23
|
+
def strict?
|
|
24
|
+
@strict ||= false
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# @api private
|
|
28
|
+
def strict!
|
|
29
|
+
@strict = true
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def coerce(value, strict: strict?)
|
|
33
|
+
coerced_value = Utils.coerce(Symbol, value)
|
|
34
|
+
|
|
35
|
+
return coerced_value if values.include?(coerced_value)
|
|
36
|
+
|
|
37
|
+
raise Errors::TypeError, "`#{value}` not in enum #{self}" if strict
|
|
38
|
+
|
|
39
|
+
value
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Parse JSON string and coerce to the enum value
|
|
43
|
+
#
|
|
44
|
+
# @param str [String] JSON string to parse
|
|
45
|
+
# @return [String] The enum value
|
|
46
|
+
def load(str)
|
|
47
|
+
coerce(::JSON.parse(str))
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def inspect
|
|
51
|
+
"#{name}[#{values.join(", ")}]"
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Internal
|
|
5
|
+
module Types
|
|
6
|
+
class Hash
|
|
7
|
+
include Type
|
|
8
|
+
|
|
9
|
+
attr_reader :key_type, :value_type
|
|
10
|
+
|
|
11
|
+
class << self
|
|
12
|
+
def [](key_type, value_type)
|
|
13
|
+
new(key_type, value_type)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def initialize(key_type, value_type)
|
|
18
|
+
@key_type = key_type
|
|
19
|
+
@value_type = value_type
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def coerce(value, strict: strict?)
|
|
23
|
+
unless value.is_a?(::Hash)
|
|
24
|
+
raise Errors::TypeError, "not hash" if strict
|
|
25
|
+
|
|
26
|
+
return value
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
value.to_h do |k, v|
|
|
30
|
+
[Utils.coerce(key_type, k, strict: strict), Utils.coerce(value_type, v, strict: strict)]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|