bella_baxter 0.1.1.pre.preview.124 → 0.1.1.pre.preview.126
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 +4 -4
- data/README.md +45 -42
- data/lib/bella_baxter/e2ee.rb +13 -4
- data/lib/bella_baxter/e2ee_faraday_middleware.rb +85 -24
- data/lib/bella_baxter/errors.rb +26 -0
- data/lib/bella_baxter/generated/api/tenants/invites/item/accept/accept_request_builder.rb +2 -0
- data/lib/bella_baxter/generated/api/tenants/invites/item/address_verification/address_verification_request_builder.rb +1 -0
- data/lib/bella_baxter/generated/api/tenants/invites/item/preview/preview_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/tenants/item/invites/invites_request_builder.rb +7 -3
- data/lib/bella_baxter/generated/api/tenants/item/invites/item/replacement/replacement_request_builder.rb +4 -2
- data/lib/bella_baxter/generated/api/tenants/item/invites/item/with_token_item_request_builder.rb +7 -4
- data/lib/bella_baxter/generated/api/tenants/item/item_request_builder.rb +58 -0
- data/lib/bella_baxter/generated/api/tenants/item/settings/settings_request_builder.rb +7 -3
- data/lib/bella_baxter/generated/api/tenants/item/switch/switch_request_builder.rb +7 -3
- data/lib/bella_baxter/generated/api/tenants/item/users/item/role/role_request_builder.rb +6 -3
- data/lib/bella_baxter/generated/api/tenants/item/users/item/with_user_item_request_builder.rb +8 -4
- data/lib/bella_baxter/generated/api/tenants/item/users/users_request_builder.rb +6 -3
- data/lib/bella_baxter/generated/api/tenants/item/verify_access/verify_access_request_builder.rb +7 -3
- data/lib/bella_baxter/generated/api/tenants/my_tenants/my_tenants_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/tenants/new/new_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/tenants/tenants_request_builder.rb +8 -107
- data/lib/bella_baxter/generated/api/users/handshake/handshake_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/access_logs/access_logs_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/admin/admin_request_builder.rb +0 -6
- data/lib/bella_baxter/generated/api/v1/admin/change_password/change_password_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/admin/notifications/notifications_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/admin/roles/roles_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/admin/users/item/users_item_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/admin/users/users_request_builder.rb +3 -2
- data/lib/bella_baxter/generated/api/v1/admin/webhooks/webhooks_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/api_keys/api_keys_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/api_keys/item/api_keys_item_request_builder.rb +10 -3
- data/lib/bella_baxter/generated/api/v1/api_keys/item/device/device_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/api_keys/item/toggle_status/toggle_status_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/audit_stream/availability/availability_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/audit_stream/destination/deliveries/deliveries_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/audit_stream/destination/destination_request_builder.rb +21 -5
- data/lib/bella_baxter/generated/api/v1/audit_stream/destination/replays/item/with_replay_item_request_builder.rb +10 -3
- data/lib/bella_baxter/generated/api/v1/audit_stream/destination/replays/replays_request_builder.rb +7 -1
- data/lib/bella_baxter/generated/api/v1/audit_stream/destination/test/test_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/auth/config/config_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/auth/sso_hint/sso_hint_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/auth/token/token_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/billing/checkout/checkout_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/billing/portal/portal_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/cert_rotation/logs/logs_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/dashboard/dashboard_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/environments/item/api_keys/api_keys_request_builder.rb +9 -2
- data/lib/bella_baxter/generated/api/v1/environments/item/drift/drift_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/environments/item/jwt_bundle/jwt_bundle_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/environments/item/notifications/notifications_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/environments/item/secret_drift_summary/secret_drift_summary_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/environments/item/security/scan/scan_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/environments/item/security/security_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/environments/item/svid/exchange/exchange_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/environments/item/token/token_request_builder.rb +7 -1
- data/lib/bella_baxter/generated/api/v1/environments/item/tokens/issue/issue_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/environments/item/trust_bundle/trust_bundle_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/environments/item/trust_domains/item/trust_domains_item_request_builder.rb +9 -3
- data/lib/bella_baxter/generated/api/v1/environments/item/trust_domains/trust_domains_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/environments/item/webhooks/webhooks_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/environments/item/workload_identities/attest/attest_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/environments/item/workload_identities/jwt_svid/jwt_svid_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/events/stream/stream_request_builder.rb +5 -2
- data/lib/bella_baxter/generated/api/v1/groups/groups_request_builder.rb +6 -3
- data/lib/bella_baxter/generated/api/v1/groups/item/groups_item_request_builder.rb +8 -2
- data/lib/bella_baxter/generated/api/v1/groups/item/members/item/with_user_item_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/groups/item/members/members_request_builder.rb +7 -2
- data/lib/bella_baxter/generated/api/v1/keys/me/me_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/me/api_keys/api_keys_request_builder.rb +11 -2
- data/lib/bella_baxter/generated/api/v1/me/api_keys/item/api_keys_item_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/me/mcp_connections/item/mcp_connections_item_request_builder.rb +6 -2
- data/lib/bella_baxter/generated/api/v1/me/mcp_connections/mcp_connections_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/notifications/item/notifications_item_request_builder.rb +9 -2
- data/lib/bella_baxter/generated/api/v1/notifications/item/test/test_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/notifications/item/toggle/toggle_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/notifications/item/update/update_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/notifications/notifications_request_builder.rb +7 -1
- data/lib/bella_baxter/generated/api/v1/pki/logs/logs_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/import/import_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/encryption_key/encryption_key_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/encryption_key/provision/provision_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/encryption_key/rotate/rotate_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/environments_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/audience_readiness/audience_readiness_request_builder.rb +1 -0
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/cert_rotation/cert_rotation_request_builder.rb +11 -4
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/cert_rotation/item/cancel/cancel_request_builder.rb +6 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/cert_rotation/item/report/pdf/pdf_request_builder.rb +6 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/cert_rotation/item/report/report_request_builder.rb +6 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/cert_rotation/item/with_job_item_request_builder.rb +6 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/copy/copy_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/groups/groups_request_builder.rb +8 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/groups/item/with_group_item_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/lease_policy/lease_policy_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/leases/item/with_lease_item_request_builder.rb +6 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/leases/leases_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/node_bindings/item/with_binding_item_request_builder.rb +5 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/node_bindings/node_bindings_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/pki/authority/adoption/adoption_request_builder.rb +7 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/pki/authority/authority_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/pki/ca/ca_request_builder.rb +10 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/pki/certificates/certificates_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/pki/issue/issue_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/pki/jwt_signing_key/rotate/rotate_request_builder.rb +7 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/pki/revoke/revoke_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/pki/roles/item/with_role_name_item_request_builder.rb +6 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/pki/roles/roles_request_builder.rb +10 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/pki/tidy/tidy_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/providers/item/credentials/generate/generate_request_builder.rb +1 -0
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/providers/item/credentials/roles/roles_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/providers/item/with_provider_slug_item_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/providers/providers_request_builder.rb +6 -3
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/restore/restore_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/spiffe_settings/spiffe_settings_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/ssh/authority/adoption/adoption_request_builder.rb +7 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/ssh/authority/authority_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/ssh/ca/rotate/rotate_request_builder.rb +7 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/ssh/ca_public_key/ca_public_key_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/ssh/configure/configure_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/ssh/deploy_authority/deploy_authority_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/ssh/roles/item/with_role_name_item_request_builder.rb +6 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/ssh/roles/roles_request_builder.rb +10 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/ssh/sign/sign_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/totp/generate/generate_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/totp/import/import_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/totp/item/code/code_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/totp/item/with_name_item_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/totp/totp_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/users/item/with_user_item_request_builder.rb +8 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/users/users_request_builder.rb +7 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/with_env_slug_item_request_builder.rb +8 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/workload_identities/item/leases/leases_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/workload_identities/item/revoke_leases/revoke_leases_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/workload_identities/item/workload_identities_item_request_builder.rb +8 -3
- data/lib/bella_baxter/generated/api/v1/projects/item/environments/item/workload_identities/workload_identities_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/export/export_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/global_secret_provider/global_secret_provider_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/groups/groups_request_builder.rb +8 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/groups/item/with_group_item_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/item_request_builder.rb +10 -3
- data/lib/bella_baxter/generated/api/v1/projects/item/notifications/notifications_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/providers/item/with_provider_item_request_builder.rb +5 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/providers/providers_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/secret_drift/secret_drift_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/security/scan/scan_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/security/security_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/users/item/permissions/permissions_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/users/item/with_user_item_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/item/users/users_request_builder.rb +8 -2
- data/lib/bella_baxter/generated/api/v1/projects/item/webhooks/webhooks_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/projects/projects_request_builder.rb +8 -3
- data/lib/bella_baxter/generated/api/v1/projects/search/search_request_builder.rb +2 -1
- data/lib/bella_baxter/generated/api/v1/projects/tags/tags_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/providers/catalog/catalog_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/providers/init_system/init_system_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/providers/item/providers_item_request_builder.rb +11 -3
- data/lib/bella_baxter/generated/api/v1/providers/providers_request_builder.rb +6 -3
- data/lib/bella_baxter/generated/api/v1/providers/regions/aws/aws_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/providers/search/search_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/providers/test_connection/test_connection_request_builder.rb +1 -0
- data/lib/bella_baxter/generated/api/v1/security/summary/summary_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/shares/item/shares_item_request_builder.rb +8 -3
- data/lib/bella_baxter/generated/api/v1/shares/item/unlock/unlock_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/shares/shares_request_builder.rb +7 -2
- data/lib/bella_baxter/generated/api/v1/spiffe/attestation_vocabulary/attestation_vocabulary_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/ssh/logs/logs_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/stripe/webhook/webhook_request_builder.rb +6 -2
- data/lib/bella_baxter/generated/api/v1/superadmin/users/item/tenants/tenants_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/system/health/rate_limit/rate_limit_request_builder.rb +2 -1
- data/lib/bella_baxter/generated/api/v1/system/integration_info/integration_info_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/system/rate_limit/status/status_request_builder.rb +2 -1
- data/lib/bella_baxter/generated/api/v1/tenant/billing/statements/statements_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/tenant/features/features_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/tenant/features/item/with_feature_item_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/tenant/usage/usage_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/tenants/me/devices/devices_request_builder.rb +12 -2
- data/lib/bella_baxter/generated/api/v1/tenants/me/devices/item/devices_item_request_builder.rb +7 -2
- data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/emergency_kit/emergency_kit_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/encryption_key_request_builder.rb +11 -2
- data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/migrate/migrate_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/recover/recover_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/recovery_challenge/recovery_challenge_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/reprovision/reprovision_request_builder.rb +7 -1
- data/lib/bella_baxter/generated/api/v1/tenants/me/sso/enforce/enforce_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/tenants/me/sso/oidc/oidc_request_builder.rb +7 -1
- data/lib/bella_baxter/generated/api/v1/tenants/me/sso/request/request_request_builder.rb +7 -1
- data/lib/bella_baxter/generated/api/v1/tenants/me/sso/saml/saml_request_builder.rb +7 -1
- data/lib/bella_baxter/generated/api/v1/tenants/me/sso/sso_request_builder.rb +13 -4
- data/lib/bella_baxter/generated/api/v1/tenants/me/zke/enforce/enforce_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/tenants/me/zke/readiness/readiness_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/tenants/me/zke/zke_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/token/token_request_builder.rb +7 -1
- data/lib/bella_baxter/generated/api/v1/users/change_password/change_password_request_builder.rb +6 -1
- data/lib/bella_baxter/generated/api/v1/users/item/deactivation_impact/deactivation_impact_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/users/item/reactivate/reactivate_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/api/v1/users/item/with_user_item_request_builder.rb +7 -2
- data/lib/bella_baxter/generated/api/v1/users/me/me_request_builder.rb +9 -2
- data/lib/bella_baxter/generated/api/v1/webhooks/item/deactivate/deactivate_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/webhooks/item/deliveries/deliveries_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/webhooks/item/link_provider/link_provider_request_builder.rb +8 -1
- data/lib/bella_baxter/generated/api/v1/webhooks/item/reactivate/reactivate_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/webhooks/item/rotate_secret/rotate_secret_request_builder.rb +7 -1
- data/lib/bella_baxter/generated/api/v1/webhooks/item/test/test_request_builder.rb +5 -1
- data/lib/bella_baxter/generated/api/v1/webhooks/item/webhooks_item_request_builder.rb +14 -3
- data/lib/bella_baxter/generated/api/v1/webhooks/webhooks_request_builder.rb +7 -1
- data/lib/bella_baxter/generated/api/version/version_request_builder.rb +4 -1
- data/lib/bella_baxter/generated/models/billing_statement_response.rb +40 -0
- data/lib/bella_baxter/generated/models/change_password_response.rb +5 -3
- data/lib/bella_baxter/generated/models/link_provider_request.rb +40 -0
- data/lib/bella_baxter/generated/models/migrate_tenant_encryption_response.rb +40 -0
- data/lib/bella_baxter/generated/models/migration_location_kind.rb +9 -0
- data/lib/bella_baxter/generated/models/migration_not_migrated.rb +243 -0
- data/lib/bella_baxter/generated/models/migration_skip_reason.rb +12 -0
- data/lib/bella_baxter/generated/models/migration_subject.rb +10 -0
- data/lib/bella_baxter/generated/models/models.rb +4 -7
- data/lib/bella_baxter/generated/models/operation_response.rb +5 -3
- data/lib/bella_baxter/generated/models/pki_ca_public_key_response.rb +62 -0
- data/lib/bella_baxter/generated/models/tenant_usage_response.rb +40 -0
- data/lib/bella_baxter/generated/models/update_provider_command.rb +20 -0
- data/lib/bella_baxter/generated/models/webhook_delivery_response.rb +20 -0
- data/lib/bella_baxter/generated/models/webhook_response.rb +20 -0
- data/lib/bella_baxter/version.rb +1 -1
- data/lib/bella_baxter.rb +4 -4
- metadata +6 -15
- data/lib/bella_baxter/generated/api/tenants/item/identifier_item_request_builder.rb +0 -96
- data/lib/bella_baxter/generated/api/v1/admin/tenants/item/item.rb +0 -0
- data/lib/bella_baxter/generated/api/v1/admin/tenants/item/plan/plan.rb +0 -0
- data/lib/bella_baxter/generated/api/v1/admin/tenants/item/plan/plan_request_builder.rb +0 -81
- data/lib/bella_baxter/generated/api/v1/admin/tenants/item/tenants_item_request_builder.rb +0 -40
- data/lib/bella_baxter/generated/api/v1/admin/tenants/tenants.rb +0 -0
- data/lib/bella_baxter/generated/api/v1/admin/tenants/tenants_request_builder.rb +0 -43
- data/lib/bella_baxter/generated/models/change_tenant_plan_request.rb +0 -82
- data/lib/bella_baxter/generated/models/change_tenant_plan_response.rb +0 -122
- data/lib/bella_baxter/generated/models/command.rb +0 -122
- data/lib/bella_baxter/generated/models/create_tenant_response.rb +0 -142
- data/lib/bella_baxter/generated/models/get_tenant_response.rb +0 -203
- data/lib/bella_baxter/generated/models/list_tenants_response.rb +0 -183
- data/lib/bella_baxter/generated/models/tenant_status.rb +0 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4d57f22bf677a984e743d0163d0b1c1fe5f861196762c36d5b19167359257e97
|
|
4
|
+
data.tar.gz: d402af58772203e4cbaee1dc1cef449969f09d19a2cf324fe53301d8db42f09a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4e4829202c1ff0a88fda309e2d6522a0e3476e0bf7b464236b20521a0da69bfb39c5ae613702309ddc81354e6bd7b9225d7e786b813ff5f93ed7010019c43aee
|
|
7
|
+
data.tar.gz: ab4397d6c37c21329539b5069da1c886cf747674abbc4111fd74c0cd048847a9c164024bcdd9bbcdea348806b33d6bd7dedb42605f36f28dd77e2d981c4b59df
|
data/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# bella_baxter Ruby SDK
|
|
2
2
|
|
|
3
|
-
Ruby client for [Bella Baxter](https://github.com/cosmic-chimps/bella-baxter) — load secrets into your Ruby or Rails application
|
|
3
|
+
Ruby client for [Bella Baxter](https://github.com/cosmic-chimps/bella-baxter) — load secrets into your Ruby or Rails application.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
-
- **Zero runtime dependencies** — uses only Ruby's stdlib (`openssl`, `net/http`, `json`)
|
|
8
7
|
- **Rails Railtie** — auto-loads secrets before `database.yml` is evaluated
|
|
9
|
-
- **End-to-end encryption** —
|
|
10
|
-
- **
|
|
8
|
+
- **End-to-end encryption, always on** — ECDH-P256-HKDF-SHA256-AES256GCM (stdlib OpenSSL)
|
|
9
|
+
- **Project and environment from the key** — discovered via `GET /api/v1/keys/me`, nothing to configure
|
|
11
10
|
- **ENV injection** — `load_into_env!` respects existing values (local dev overrides work)
|
|
11
|
+
- **Full API access** — `client.client` is the Kiota-generated navigator for every other endpoint
|
|
12
12
|
|
|
13
13
|
## Installation
|
|
14
14
|
|
|
@@ -27,16 +27,22 @@ bundle install
|
|
|
27
27
|
require "bella_baxter"
|
|
28
28
|
|
|
29
29
|
client = BellaBaxter::Client.new(
|
|
30
|
-
baxter_url:
|
|
31
|
-
api_key:
|
|
32
|
-
project: "my-app",
|
|
33
|
-
environment: "production"
|
|
30
|
+
baxter_url: "https://baxter.example.com",
|
|
31
|
+
api_key: "bax-..."
|
|
34
32
|
)
|
|
35
33
|
|
|
34
|
+
# The project and environment are the ones the API key is scoped to.
|
|
36
35
|
secrets = client.all_secrets.secrets
|
|
37
36
|
puts secrets["DATABASE_URL"]
|
|
37
|
+
|
|
38
|
+
# Or name them explicitly:
|
|
39
|
+
secrets = client.pull_secrets(project: "my-app", environment: "production")
|
|
38
40
|
```
|
|
39
41
|
|
|
42
|
+
`Client.new` accepts `baxter_url:`, `api_key:`, `timeout:` (seconds, default 10), `private_key:` (a device
|
|
43
|
+
key PEM; defaults to `BELLA_BAXTER_PRIVATE_KEY`) and `on_wrapped_dek_received:`. The project and environment
|
|
44
|
+
are not constructor options: they come from the key, or are passed to each read.
|
|
45
|
+
|
|
40
46
|
## Rails integration
|
|
41
47
|
|
|
42
48
|
Add the gem to your Gemfile. That's all.
|
|
@@ -48,9 +54,8 @@ The gem ships a **Railtie** that injects all secrets into `ENV` during Rails' `b
|
|
|
48
54
|
```bash
|
|
49
55
|
BELLA_BAXTER_URL=https://baxter.example.com
|
|
50
56
|
BELLA_API_KEY=bax-...
|
|
51
|
-
|
|
52
|
-
#
|
|
53
|
-
# BELLA_E2EE=true to enable end-to-end encryption
|
|
57
|
+
# The project and environment are the ones the key is scoped to; E2EE is always on.
|
|
58
|
+
# BELLA_BAXTER_PRIVATE_KEY=... (optional) a registered device key, injected by `bella sdk run`
|
|
54
59
|
```
|
|
55
60
|
|
|
56
61
|
**database.yml** — nothing secret lives here:
|
|
@@ -87,14 +92,13 @@ BellaBaxter.load_into_env!(overwrite: true)
|
|
|
87
92
|
|
|
88
93
|
## End-to-end encryption
|
|
89
94
|
|
|
95
|
+
Always on: the client presents a P-256 public key (`X-E2E-Public-Key`) on every read that carries secret
|
|
96
|
+
values — the bulk read, both exports, a provider's list, a single secret, a secret version and the global
|
|
97
|
+
list, including the ones you make through `client.client` — and the server encrypts the response to it. Pass `private_key:` (or set `BELLA_BAXTER_PRIVATE_KEY`) to use a
|
|
98
|
+
registered device key instead of an ephemeral one.
|
|
99
|
+
|
|
90
100
|
```ruby
|
|
91
|
-
client = BellaBaxter::Client.new(
|
|
92
|
-
baxter_url: "https://baxter.example.com",
|
|
93
|
-
api_key: "bax-...",
|
|
94
|
-
project: "my-app",
|
|
95
|
-
environment: "production",
|
|
96
|
-
enable_e2ee: true # Client generates P-256 keypair; server encrypts the response
|
|
97
|
-
)
|
|
101
|
+
client = BellaBaxter::Client.new(baxter_url: "https://baxter.example.com", api_key: "bax-...")
|
|
98
102
|
|
|
99
103
|
# Decryption is transparent — same API
|
|
100
104
|
secrets = client.all_secrets.secrets
|
|
@@ -102,26 +106,22 @@ secrets = client.all_secrets.secrets
|
|
|
102
106
|
|
|
103
107
|
Algorithm: `ECDH-P256 → HKDF-SHA256 → AES-256-GCM`. All operations use Ruby's built-in `openssl` — no extra gems required.
|
|
104
108
|
|
|
105
|
-
|
|
109
|
+
**A presented key requires an encrypted answer (#1050).** If a read that presented the key gets back plain
|
|
110
|
+
JSON, an envelope that fails to decrypt (tampered), or one encrypted to a different key, the client raises
|
|
111
|
+
`BellaBaxter::E2EEResponseError` (a `DecryptionError`) instead of returning anything. `error.code` is
|
|
112
|
+
`"e2ee-plaintext-response"` or `"e2ee-decryption-failed"`, the same codes every Bella SDK uses. There is no
|
|
113
|
+
plaintext fallback.
|
|
106
114
|
|
|
107
|
-
|
|
108
|
-
# Create
|
|
109
|
-
client.create_secret(
|
|
110
|
-
provider: "my-vault", # provider slug
|
|
111
|
-
key: "DATABASE_URL",
|
|
112
|
-
value: "postgres://...",
|
|
113
|
-
description: "Primary database"
|
|
114
|
-
)
|
|
115
|
+
## Other endpoints (writes, TOTP, providers, …)
|
|
115
116
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
provider: "my-vault",
|
|
119
|
-
key: "DATABASE_URL",
|
|
120
|
-
value: "postgres://new-host/..."
|
|
121
|
-
)
|
|
117
|
+
The client wraps the secret reads above. Every other endpoint — creating or updating secrets, TOTP,
|
|
118
|
+
providers, environments — is on the Kiota-generated navigator, which uses the same signing and E2EE:
|
|
122
119
|
|
|
123
|
-
|
|
124
|
-
client.
|
|
120
|
+
```ruby
|
|
121
|
+
api = client.client.api.v1.projects.by_id("my-app").environments.by_env_slug("production")
|
|
122
|
+
|
|
123
|
+
totp_keys = api.totp.get.resume
|
|
124
|
+
providers = api.providers.get.resume
|
|
125
125
|
```
|
|
126
126
|
|
|
127
127
|
## Lightweight version check
|
|
@@ -138,23 +138,26 @@ puts "Version #{v.version}, last changed #{v.last_modified}"
|
|
|
138
138
|
```ruby
|
|
139
139
|
# config/initializers/bella_baxter.rb
|
|
140
140
|
BellaBaxter.configure do |c|
|
|
141
|
-
c.baxter_url
|
|
142
|
-
c.api_key
|
|
143
|
-
c.
|
|
144
|
-
c.environment = Rails.env
|
|
145
|
-
c.enable_e2ee = Rails.env.production?
|
|
141
|
+
c.baxter_url = ENV["BELLA_BAXTER_URL"]
|
|
142
|
+
c.api_key = ENV["BELLA_API_KEY"]
|
|
143
|
+
c.timeout = 5
|
|
146
144
|
end
|
|
147
145
|
|
|
148
146
|
# Access the singleton client anywhere
|
|
149
147
|
BellaBaxter.client.all_secrets
|
|
150
148
|
```
|
|
151
149
|
|
|
150
|
+
`BellaBaxter::Configuration` has exactly `baxter_url`, `api_key` and `timeout`.
|
|
151
|
+
|
|
152
152
|
## Samples
|
|
153
153
|
|
|
154
154
|
| Sample | Description |
|
|
155
155
|
|--------|-------------|
|
|
156
|
-
| [`samples/01-
|
|
157
|
-
| [`samples/02-
|
|
156
|
+
| [`samples/01-dotenv-file/`](samples/01-dotenv-file/) | Read the `.env` file `bella` writes |
|
|
157
|
+
| [`samples/02-process-inject/`](samples/02-process-inject/) | Read the secrets `bella run` injects into `ENV` |
|
|
158
|
+
| [`samples/03-standalone/`](samples/03-standalone/) | Pure Ruby script using the SDK |
|
|
159
|
+
| [`samples/04-rails/`](samples/04-rails/) | Rails integration with `database.yml` example |
|
|
160
|
+
| [`samples/05-typed-secrets/`](samples/05-typed-secrets/) | Typed secrets generated by `bella secrets generate ruby` |
|
|
158
161
|
|
|
159
162
|
---
|
|
160
163
|
|
data/lib/bella_baxter/e2ee.rb
CHANGED
|
@@ -116,6 +116,18 @@ module BellaBaxter
|
|
|
116
116
|
def decrypt_raw(payload)
|
|
117
117
|
return payload unless payload["encrypted"] == true
|
|
118
118
|
|
|
119
|
+
JSON.parse(decrypt_plaintext(payload))
|
|
120
|
+
rescue JSON::ParserError => e
|
|
121
|
+
raise BellaBaxter::DecryptionError, "Decrypted payload is not valid JSON: #{e.message}"
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# Decrypt an envelope and return its plaintext exactly as the server serialized it (a String).
|
|
125
|
+
# #1162: the middleware hands this on unchanged, whatever the read's shape.
|
|
126
|
+
#
|
|
127
|
+
# @param payload [Hash] Parsed JSON encrypted payload ("encrypted" => true).
|
|
128
|
+
# @return [String] The decrypted UTF-8 JSON text.
|
|
129
|
+
# @raise [BellaBaxter::DecryptionError] when the GCM tag does not verify.
|
|
130
|
+
def decrypt_plaintext(payload)
|
|
119
131
|
server_key_der = Base64.strict_decode64(payload["serverPublicKey"])
|
|
120
132
|
nonce = Base64.strict_decode64(payload["nonce"])
|
|
121
133
|
tag = Base64.strict_decode64(payload["tag"])
|
|
@@ -132,12 +144,9 @@ module BellaBaxter
|
|
|
132
144
|
cipher.auth_tag = tag
|
|
133
145
|
cipher.auth_data = ""
|
|
134
146
|
|
|
135
|
-
|
|
136
|
-
JSON.parse(plaintext)
|
|
147
|
+
(cipher.update(ciphertext) + cipher.final).force_encoding(Encoding::UTF_8)
|
|
137
148
|
rescue OpenSSL::Cipher::CipherError => e
|
|
138
149
|
raise BellaBaxter::DecryptionError, "AES-GCM decryption failed: #{e.message}"
|
|
139
|
-
rescue JSON::ParserError => e
|
|
140
|
-
raise BellaBaxter::DecryptionError, "Decrypted payload is not valid JSON: #{e.message}"
|
|
141
150
|
end
|
|
142
151
|
|
|
143
152
|
private
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
require "faraday"
|
|
4
4
|
require "json"
|
|
5
|
+
require_relative "errors"
|
|
6
|
+
require_relative "e2ee"
|
|
5
7
|
|
|
6
8
|
module BellaBaxter
|
|
7
|
-
# Faraday middleware that transparently adds E2EE to
|
|
9
|
+
# Faraday middleware that transparently adds E2EE to the envelope-required secret reads.
|
|
8
10
|
#
|
|
9
|
-
# On outbound: adds X-E2E-Public-Key
|
|
10
|
-
#
|
|
11
|
+
# On outbound: adds X-E2E-Public-Key on every envelope-required read (#1162, +requires_envelope?+) so
|
|
12
|
+
# the server encrypts the response.
|
|
13
|
+
# On inbound: decrypts the envelope and hands the server's plaintext JSON on unchanged.
|
|
11
14
|
class E2EEFaradayMiddleware < Faraday::Middleware
|
|
12
15
|
def initialize(app, key_pair: nil, on_wrapped_dek_received: nil)
|
|
13
16
|
super(app)
|
|
@@ -15,33 +18,55 @@ module BellaBaxter
|
|
|
15
18
|
@on_wrapped_dek_received = on_wrapped_dek_received
|
|
16
19
|
end
|
|
17
20
|
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
# #1050 — the GETs whose 2xx body the server encrypts to a presented key: every read that carries
|
|
22
|
+
# secret VALUES (apps/sdk/SDK_CONTRACT.md, "Which Endpoints Support E2EE"). Everything else under
|
|
23
|
+
# /secrets (…/version, …/manifest, …/hash, …/{key}/metadata, writes) is plain JSON by design and must
|
|
24
|
+
# never be refused. One place, so the rule and the table cannot drift apart inside this SDK.
|
|
25
|
+
def self.requires_envelope?(method, path)
|
|
26
|
+
return false unless method.to_s.downcase == "get"
|
|
27
|
+
|
|
28
|
+
marker = "/api/v1/projects/"
|
|
29
|
+
i = path.to_s.index(marker) or return false
|
|
30
|
+
_project, *rest = path[(i + marker.length)..].split("/", -1)
|
|
31
|
+
|
|
32
|
+
return true if rest == ["secrets"]
|
|
33
|
+
return false unless rest.length >= 3 && rest[0] == "environments"
|
|
20
34
|
|
|
21
|
-
|
|
22
|
-
|
|
35
|
+
tail = rest[2..]
|
|
36
|
+
return true if tail == ["secrets"] || tail == ["secrets", "export"]
|
|
37
|
+
return false unless tail.length >= 3 && tail[0] == "providers" && tail[2] == "secrets"
|
|
38
|
+
|
|
39
|
+
provider_tail = tail[3..]
|
|
40
|
+
case provider_tail.length
|
|
41
|
+
when 0 then true
|
|
42
|
+
when 1 then provider_tail[0] != "hash" && !provider_tail[0].empty?
|
|
43
|
+
when 3 then provider_tail[1] == "versions" && provider_tail[2].match?(/\A\d+\z/)
|
|
44
|
+
else false
|
|
23
45
|
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def call(env)
|
|
49
|
+
# #1162 — the key is presented on EVERY envelope-required read (SDK_CONTRACT.md, "Rule: the key is
|
|
50
|
+
# presented on every envelope-required read"), decided here by the one matcher, never per method.
|
|
51
|
+
# From then on a 2xx that is not a decryptable envelope is an error (#1050), never a value.
|
|
52
|
+
presented = self.class.requires_envelope?(env.method, env.url.path)
|
|
53
|
+
|
|
54
|
+
env.request_headers["X-E2E-Public-Key"] = @e2ee.public_key_b64 if presented
|
|
24
55
|
|
|
25
56
|
@app.call(env).on_complete do |resp_env|
|
|
26
|
-
next unless
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
resp_env[:body] = JSON.generate(decrypted)
|
|
34
|
-
else
|
|
35
|
-
secrets = @e2ee.decrypt(data)
|
|
36
|
-
resp_env[:body] = JSON.generate(
|
|
37
|
-
"secrets" => secrets,
|
|
38
|
-
"version" => 0,
|
|
39
|
-
"environmentSlug" => "",
|
|
40
|
-
"environmentName" => "",
|
|
41
|
-
"lastModified" => ""
|
|
42
|
-
)
|
|
57
|
+
next unless presented && resp_env.status.between?(200, 299)
|
|
58
|
+
|
|
59
|
+
path = env.url.path
|
|
60
|
+
data = begin
|
|
61
|
+
JSON.parse(resp_env.body.to_s)
|
|
62
|
+
rescue JSON::ParserError
|
|
63
|
+
raise E2EEResponseError.plaintext(path)
|
|
43
64
|
end
|
|
44
65
|
|
|
66
|
+
raise E2EEResponseError.plaintext(path) unless data.is_a?(Hash) && data["encrypted"] == true
|
|
67
|
+
|
|
68
|
+
resp_env[:body] = decrypted_body(data, path)
|
|
69
|
+
|
|
45
70
|
if @on_wrapped_dek_received
|
|
46
71
|
wrapped_dek = resp_env.response_headers["X-Bella-Wrapped-Dek"] ||
|
|
47
72
|
resp_env.response_headers["x-bella-wrapped-dek"]
|
|
@@ -56,5 +81,41 @@ module BellaBaxter
|
|
|
56
81
|
end
|
|
57
82
|
end
|
|
58
83
|
end
|
|
84
|
+
|
|
85
|
+
private
|
|
86
|
+
|
|
87
|
+
# The body handed on after decryption. The plaintext of every envelope-required read is the JSON the
|
|
88
|
+
# server would have sent without a key (a secret item, an array of them, a {key: value} export,
|
|
89
|
+
# ListGlobalSecretsResponse), so it is passed on byte for byte (#1162). Only getAllEnvironmentSecrets
|
|
90
|
+
# keeps its legacy rescue: a server that encrypted just the flat {key: value} dict is re-wrapped as an
|
|
91
|
+
# AllEnvironmentSecretsResponse. Any failure — a missing or undecodable field, a GCM tag that does not
|
|
92
|
+
# verify (tampered), a key it was not encrypted to — is the one refusal, with the original as +cause+.
|
|
93
|
+
def decrypted_body(data, path)
|
|
94
|
+
plaintext = @e2ee.decrypt_plaintext(data)
|
|
95
|
+
decrypted = JSON.parse(plaintext)
|
|
96
|
+
return plaintext unless all_environment_secrets?(path)
|
|
97
|
+
return plaintext if decrypted.is_a?(Hash) && decrypted["secrets"].is_a?(Hash)
|
|
98
|
+
raise E2EEResponseError.decryption_failed(path) unless decrypted.is_a?(Hash)
|
|
99
|
+
|
|
100
|
+
JSON.generate(
|
|
101
|
+
"secrets" => decrypted.transform_values(&:to_s),
|
|
102
|
+
"version" => 0,
|
|
103
|
+
"environmentSlug" => "",
|
|
104
|
+
"environmentName" => "",
|
|
105
|
+
"lastModified" => ""
|
|
106
|
+
)
|
|
107
|
+
rescue E2EEResponseError
|
|
108
|
+
raise
|
|
109
|
+
rescue StandardError
|
|
110
|
+
raise E2EEResponseError.decryption_failed(path)
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# .../api/v1/projects/{p}/environments/{e}/secrets — getAllEnvironmentSecrets.
|
|
114
|
+
def all_environment_secrets?(path)
|
|
115
|
+
marker = "/api/v1/projects/"
|
|
116
|
+
i = path.to_s.index(marker) or return false
|
|
117
|
+
segs = path[(i + marker.length)..].split("/", -1)
|
|
118
|
+
segs.length == 4 && segs[1] == "environments" && segs[3] == "secrets"
|
|
119
|
+
end
|
|
59
120
|
end
|
|
60
121
|
end
|
data/lib/bella_baxter/errors.rb
CHANGED
|
@@ -20,6 +20,32 @@ module BellaBaxter
|
|
|
20
20
|
# Raised when E2EE decryption fails.
|
|
21
21
|
class DecryptionError < Error; end
|
|
22
22
|
|
|
23
|
+
# #1050 — a secrets read that presented X-E2E-Public-Key got back something other than an envelope
|
|
24
|
+
# that decrypts with this client's key. Refused, never returned: there is no plaintext fallback.
|
|
25
|
+
#
|
|
26
|
+
# +code+ is the stable, cross-SDK contract (apps/sdk/SDK_CONTRACT.md, "a presented key requires an
|
|
27
|
+
# envelope"); the message names the request path and the code, never the body, ciphertext or a key.
|
|
28
|
+
# A DecryptionError subclass so code that already rescues DecryptionError keeps catching it.
|
|
29
|
+
class E2EEResponseError < DecryptionError
|
|
30
|
+
# The 2xx answer was not an `"encrypted": true` envelope (plain secrets, or not JSON at all).
|
|
31
|
+
PLAINTEXT_RESPONSE = "e2ee-plaintext-response"
|
|
32
|
+
# The envelope was malformed, tampered with (GCM tag), or encrypted to a different key.
|
|
33
|
+
DECRYPTION_FAILED = "e2ee-decryption-failed"
|
|
34
|
+
|
|
35
|
+
attr_reader :code, :path
|
|
36
|
+
|
|
37
|
+
def initialize(code, path)
|
|
38
|
+
@code = code
|
|
39
|
+
@path = path
|
|
40
|
+
what = code == PLAINTEXT_RESPONSE ? "expected but plaintext received" : "could not be decrypted"
|
|
41
|
+
super("E2EE response #{what} for #{path}; refusing it (#{code})")
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def self.plaintext(path) = new(PLAINTEXT_RESPONSE, path)
|
|
45
|
+
|
|
46
|
+
def self.decryption_failed(path) = new(DECRYPTION_FAILED, path)
|
|
47
|
+
end
|
|
48
|
+
|
|
23
49
|
# Raised when required configuration is missing.
|
|
24
50
|
class ConfigurationError < Error; end
|
|
25
51
|
|
|
@@ -38,6 +38,8 @@ module BellaBaxterGenerated
|
|
|
38
38
|
)
|
|
39
39
|
error_mapping = Hash.new
|
|
40
40
|
error_mapping["403"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
41
|
+
error_mapping["404"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
42
|
+
error_mapping["409"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
41
43
|
error_mapping["503"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
42
44
|
return @request_adapter.send_async(request_info, lambda {|pn| BellaBaxterGenerated::Models::AcceptInviteResponse.create_from_discriminator_value(pn) }, error_mapping)
|
|
43
45
|
end
|
|
@@ -38,6 +38,7 @@ module BellaBaxterGenerated
|
|
|
38
38
|
)
|
|
39
39
|
error_mapping = Hash.new
|
|
40
40
|
error_mapping["403"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
41
|
+
error_mapping["404"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
41
42
|
error_mapping["409"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
42
43
|
error_mapping["503"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
43
44
|
return @request_adapter.send_async(request_info, lambda {|pn| BellaBaxterGenerated::Models::InviteAddressVerificationResponse.create_from_discriminator_value(pn) }, error_mapping)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
require 'microsoft_kiota_abstractions'
|
|
2
2
|
require_relative '../../../../../bella_baxter_generated'
|
|
3
3
|
require_relative '../../../../../models/invite_preview_response'
|
|
4
|
+
require_relative '../../../../../models/problem_details'
|
|
4
5
|
require_relative '../../../../api'
|
|
5
6
|
require_relative '../../../tenants'
|
|
6
7
|
require_relative '../../invites'
|
|
@@ -35,7 +36,9 @@ module BellaBaxterGenerated
|
|
|
35
36
|
request_info = self.to_get_request_information(
|
|
36
37
|
request_configuration
|
|
37
38
|
)
|
|
38
|
-
|
|
39
|
+
error_mapping = Hash.new
|
|
40
|
+
error_mapping["404"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
41
|
+
return @request_adapter.send_async(request_info, lambda {|pn| BellaBaxterGenerated::Models::InvitePreviewResponse.create_from_discriminator_value(pn) }, error_mapping)
|
|
39
42
|
end
|
|
40
43
|
##
|
|
41
44
|
## GET_api_tenants_invites_token_preview
|
|
@@ -16,7 +16,7 @@ module BellaBaxterGenerated
|
|
|
16
16
|
module Item
|
|
17
17
|
module Invites
|
|
18
18
|
##
|
|
19
|
-
# Builds and executes requests for operations under \api\tenants\{
|
|
19
|
+
# Builds and executes requests for operations under \api\tenants\{-id}\invites
|
|
20
20
|
class InvitesRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
|
|
21
21
|
|
|
22
22
|
##
|
|
@@ -37,7 +37,7 @@ module BellaBaxterGenerated
|
|
|
37
37
|
## @return a void
|
|
38
38
|
##
|
|
39
39
|
def initialize(path_parameters, request_adapter)
|
|
40
|
-
super(path_parameters, request_adapter, "{+baseurl}/api/tenants/{
|
|
40
|
+
super(path_parameters, request_adapter, "{+baseurl}/api/tenants/{%2Did}/invites")
|
|
41
41
|
end
|
|
42
42
|
##
|
|
43
43
|
## GET_api_tenants_id_invites
|
|
@@ -48,7 +48,9 @@ module BellaBaxterGenerated
|
|
|
48
48
|
request_info = self.to_get_request_information(
|
|
49
49
|
request_configuration
|
|
50
50
|
)
|
|
51
|
-
|
|
51
|
+
error_mapping = Hash.new
|
|
52
|
+
error_mapping["404"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
53
|
+
return @request_adapter.send_async(request_info, lambda {|pn| BellaBaxterGenerated::Models::InviteListResponse.create_from_discriminator_value(pn) }, error_mapping)
|
|
52
54
|
end
|
|
53
55
|
##
|
|
54
56
|
## POST_api_tenants_id_invites
|
|
@@ -63,6 +65,8 @@ module BellaBaxterGenerated
|
|
|
63
65
|
)
|
|
64
66
|
error_mapping = Hash.new
|
|
65
67
|
error_mapping["400"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
68
|
+
error_mapping["404"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
69
|
+
error_mapping["409"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
66
70
|
return @request_adapter.send_async(request_info, lambda {|pn| BellaBaxterGenerated::Models::InviteResponse.create_from_discriminator_value(pn) }, error_mapping)
|
|
67
71
|
end
|
|
68
72
|
##
|
|
@@ -17,7 +17,7 @@ module BellaBaxterGenerated
|
|
|
17
17
|
module Item
|
|
18
18
|
module Replacement
|
|
19
19
|
##
|
|
20
|
-
# Builds and executes requests for operations under \api\tenants\{
|
|
20
|
+
# Builds and executes requests for operations under \api\tenants\{-id}\invites\{token}\replacement
|
|
21
21
|
class ReplacementRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
|
|
22
22
|
|
|
23
23
|
##
|
|
@@ -27,7 +27,7 @@ module BellaBaxterGenerated
|
|
|
27
27
|
## @return a void
|
|
28
28
|
##
|
|
29
29
|
def initialize(path_parameters, request_adapter)
|
|
30
|
-
super(path_parameters, request_adapter, "{+baseurl}/api/tenants/{
|
|
30
|
+
super(path_parameters, request_adapter, "{+baseurl}/api/tenants/{%2Did}/invites/{token}/replacement")
|
|
31
31
|
end
|
|
32
32
|
##
|
|
33
33
|
## POST_api_tenants_id_invites_token_replacement
|
|
@@ -40,6 +40,8 @@ module BellaBaxterGenerated
|
|
|
40
40
|
)
|
|
41
41
|
error_mapping = Hash.new
|
|
42
42
|
error_mapping["400"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
43
|
+
error_mapping["404"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
44
|
+
error_mapping["409"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
43
45
|
return @request_adapter.send_async(request_info, lambda {|pn| BellaBaxterGenerated::Models::InviteResponse.create_from_discriminator_value(pn) }, error_mapping)
|
|
44
46
|
end
|
|
45
47
|
##
|
data/lib/bella_baxter/generated/api/tenants/item/invites/item/with_token_item_request_builder.rb
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require 'microsoft_kiota_abstractions'
|
|
2
2
|
require_relative '../../../../../bella_baxter_generated'
|
|
3
|
+
require_relative '../../../../../models/problem_details'
|
|
3
4
|
require_relative '../../../../api'
|
|
4
5
|
require_relative '../../../tenants'
|
|
5
6
|
require_relative '../../item'
|
|
@@ -14,7 +15,7 @@ module BellaBaxterGenerated
|
|
|
14
15
|
module Invites
|
|
15
16
|
module Item
|
|
16
17
|
##
|
|
17
|
-
# Builds and executes requests for operations under \api\tenants\{
|
|
18
|
+
# Builds and executes requests for operations under \api\tenants\{-id}\invites\{token}
|
|
18
19
|
class WithTokenItemRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
|
|
19
20
|
|
|
20
21
|
##
|
|
@@ -29,7 +30,7 @@ module BellaBaxterGenerated
|
|
|
29
30
|
## @return a void
|
|
30
31
|
##
|
|
31
32
|
def initialize(path_parameters, request_adapter)
|
|
32
|
-
super(path_parameters, request_adapter, "{+baseurl}/api/tenants/{
|
|
33
|
+
super(path_parameters, request_adapter, "{+baseurl}/api/tenants/{%2Did}/invites/{token}")
|
|
33
34
|
end
|
|
34
35
|
##
|
|
35
36
|
## DELETE_api_tenants_id_invites_token
|
|
@@ -40,7 +41,9 @@ module BellaBaxterGenerated
|
|
|
40
41
|
request_info = self.to_delete_request_information(
|
|
41
42
|
request_configuration
|
|
42
43
|
)
|
|
43
|
-
|
|
44
|
+
error_mapping = Hash.new
|
|
45
|
+
error_mapping["404"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
46
|
+
return @request_adapter.send_async(request_info, nil, error_mapping)
|
|
44
47
|
end
|
|
45
48
|
##
|
|
46
49
|
## DELETE_api_tenants_id_invites_token
|
|
@@ -56,7 +59,7 @@ module BellaBaxterGenerated
|
|
|
56
59
|
request_info.url_template = @url_template
|
|
57
60
|
request_info.path_parameters = @path_parameters
|
|
58
61
|
request_info.http_method = :DELETE
|
|
59
|
-
request_info.headers.try_add('Accept', 'application/json')
|
|
62
|
+
request_info.headers.try_add('Accept', 'application/json, application/problem+json')
|
|
60
63
|
return request_info
|
|
61
64
|
end
|
|
62
65
|
##
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
require 'microsoft_kiota_abstractions'
|
|
2
|
+
require_relative '../../../bella_baxter_generated'
|
|
3
|
+
require_relative '../../api'
|
|
4
|
+
require_relative '../tenants'
|
|
5
|
+
require_relative './invites/invites_request_builder'
|
|
6
|
+
require_relative './item'
|
|
7
|
+
require_relative './settings/settings_request_builder'
|
|
8
|
+
require_relative './switch/switch_request_builder'
|
|
9
|
+
require_relative './users/users_request_builder'
|
|
10
|
+
require_relative './verify_access/verify_access_request_builder'
|
|
11
|
+
|
|
12
|
+
module BellaBaxterGenerated
|
|
13
|
+
module Api
|
|
14
|
+
module Tenants
|
|
15
|
+
module Item
|
|
16
|
+
##
|
|
17
|
+
# Builds and executes requests for operations under \api\tenants\{-id}
|
|
18
|
+
class ItemRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
|
|
19
|
+
|
|
20
|
+
##
|
|
21
|
+
# The invites property
|
|
22
|
+
def invites()
|
|
23
|
+
return BellaBaxterGenerated::Api::Tenants::Item::Invites::InvitesRequestBuilder.new(@path_parameters, @request_adapter)
|
|
24
|
+
end
|
|
25
|
+
##
|
|
26
|
+
# The settings property
|
|
27
|
+
def settings()
|
|
28
|
+
return BellaBaxterGenerated::Api::Tenants::Item::Settings::SettingsRequestBuilder.new(@path_parameters, @request_adapter)
|
|
29
|
+
end
|
|
30
|
+
##
|
|
31
|
+
# The switch property
|
|
32
|
+
def switch()
|
|
33
|
+
return BellaBaxterGenerated::Api::Tenants::Item::Switch::SwitchRequestBuilder.new(@path_parameters, @request_adapter)
|
|
34
|
+
end
|
|
35
|
+
##
|
|
36
|
+
# The users property
|
|
37
|
+
def users()
|
|
38
|
+
return BellaBaxterGenerated::Api::Tenants::Item::Users::UsersRequestBuilder.new(@path_parameters, @request_adapter)
|
|
39
|
+
end
|
|
40
|
+
##
|
|
41
|
+
# The verifyAccess property
|
|
42
|
+
def verify_access()
|
|
43
|
+
return BellaBaxterGenerated::Api::Tenants::Item::VerifyAccess::VerifyAccessRequestBuilder.new(@path_parameters, @request_adapter)
|
|
44
|
+
end
|
|
45
|
+
##
|
|
46
|
+
## Instantiates a new ItemRequestBuilder and sets the default values.
|
|
47
|
+
## @param path_parameters Path parameters for the request
|
|
48
|
+
## @param request_adapter The request adapter to use to execute the requests.
|
|
49
|
+
## @return a void
|
|
50
|
+
##
|
|
51
|
+
def initialize(path_parameters, request_adapter)
|
|
52
|
+
super(path_parameters, request_adapter, "{+baseurl}/api/tenants/{%2Did}")
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require 'microsoft_kiota_abstractions'
|
|
2
2
|
require_relative '../../../../bella_baxter_generated'
|
|
3
|
+
require_relative '../../../../models/problem_details'
|
|
3
4
|
require_relative '../../../../models/tenant_settings_response'
|
|
4
5
|
require_relative '../../../api'
|
|
5
6
|
require_relative '../../tenants'
|
|
@@ -12,7 +13,7 @@ module BellaBaxterGenerated
|
|
|
12
13
|
module Item
|
|
13
14
|
module Settings
|
|
14
15
|
##
|
|
15
|
-
# Builds and executes requests for operations under \api\tenants\{
|
|
16
|
+
# Builds and executes requests for operations under \api\tenants\{-id}\settings
|
|
16
17
|
class SettingsRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
|
|
17
18
|
|
|
18
19
|
##
|
|
@@ -22,7 +23,7 @@ module BellaBaxterGenerated
|
|
|
22
23
|
## @return a void
|
|
23
24
|
##
|
|
24
25
|
def initialize(path_parameters, request_adapter)
|
|
25
|
-
super(path_parameters, request_adapter, "{+baseurl}/api/tenants/{
|
|
26
|
+
super(path_parameters, request_adapter, "{+baseurl}/api/tenants/{%2Did}/settings")
|
|
26
27
|
end
|
|
27
28
|
##
|
|
28
29
|
## GET_api_tenants_tenantId_settings
|
|
@@ -33,7 +34,10 @@ module BellaBaxterGenerated
|
|
|
33
34
|
request_info = self.to_get_request_information(
|
|
34
35
|
request_configuration
|
|
35
36
|
)
|
|
36
|
-
|
|
37
|
+
error_mapping = Hash.new
|
|
38
|
+
error_mapping["403"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
39
|
+
error_mapping["404"] = lambda {|pn| BellaBaxterGenerated::Models::ProblemDetails.create_from_discriminator_value(pn) }
|
|
40
|
+
return @request_adapter.send_async(request_info, lambda {|pn| BellaBaxterGenerated::Models::TenantSettingsResponse.create_from_discriminator_value(pn) }, error_mapping)
|
|
37
41
|
end
|
|
38
42
|
##
|
|
39
43
|
## GET_api_tenants_tenantId_settings
|