cloudinary-account-provisioning 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/lib/cld_provisioning/accesskeys.rb +927 -0
- data/lib/cld_provisioning/billingusage.rb +231 -0
- data/lib/cld_provisioning/cldprovisioning.rb +173 -0
- data/lib/cld_provisioning/custompolicies.rb +958 -0
- data/lib/cld_provisioning/effectivepolicies.rb +233 -0
- data/lib/cld_provisioning/models/callbacks.rb +13 -0
- data/lib/cld_provisioning/models/errors/apierror.rb +40 -0
- data/lib/cld_provisioning/models/errors/apierror.rbi +27 -0
- data/lib/cld_provisioning/models/errors/errorresponse.rb +35 -0
- data/lib/cld_provisioning/models/errors/errorresponse.rbi +14 -0
- data/lib/cld_provisioning/models/errors/permissionserrorresponse.rb +35 -0
- data/lib/cld_provisioning/models/errors/permissionserrorresponse.rbi +14 -0
- data/lib/cld_provisioning/models/errors.rb +15 -0
- data/lib/cld_provisioning/models/operations/addusertousergroup_request.rb +44 -0
- data/lib/cld_provisioning/models/operations/addusertousergroup_request.rbi +26 -0
- data/lib/cld_provisioning/models/operations/createcustompolicy_request.rb +40 -0
- data/lib/cld_provisioning/models/operations/createcustompolicy_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/createproductenvironment_request.rb +50 -0
- data/lib/cld_provisioning/models/operations/createproductenvironment_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/createrole_request.rb +40 -0
- data/lib/cld_provisioning/models/operations/createrole_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/createuser_request.rb +40 -0
- data/lib/cld_provisioning/models/operations/createuser_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/createuser_requestbody.rb +85 -0
- data/lib/cld_provisioning/models/operations/createuser_requestbody.rbi +38 -0
- data/lib/cld_provisioning/models/operations/createusergroup_request.rb +40 -0
- data/lib/cld_provisioning/models/operations/createusergroup_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/deleteaccesskey_request.rb +48 -0
- data/lib/cld_provisioning/models/operations/deleteaccesskey_request.rbi +26 -0
- data/lib/cld_provisioning/models/operations/deleteaccesskeybyname_request.rb +48 -0
- data/lib/cld_provisioning/models/operations/deleteaccesskeybyname_request.rbi +26 -0
- data/lib/cld_provisioning/models/operations/deletecustompolicy_request.rb +40 -0
- data/lib/cld_provisioning/models/operations/deletecustompolicy_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/deleteproductenvironment_request.rb +44 -0
- data/lib/cld_provisioning/models/operations/deleteproductenvironment_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/deleterole_request.rb +51 -0
- data/lib/cld_provisioning/models/operations/deleterole_request.rbi +26 -0
- data/lib/cld_provisioning/models/operations/deleteuser_request.rb +40 -0
- data/lib/cld_provisioning/models/operations/deleteuser_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/deleteusergroup_request.rb +40 -0
- data/lib/cld_provisioning/models/operations/deleteusergroup_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/generateaccesskey_request.rb +55 -0
- data/lib/cld_provisioning/models/operations/generateaccesskey_request.rbi +26 -0
- data/lib/cld_provisioning/models/operations/getaccesskeys_request.rb +89 -0
- data/lib/cld_provisioning/models/operations/getaccesskeys_request.rbi +44 -0
- data/lib/cld_provisioning/models/operations/getbillingusage_request.rb +60 -0
- data/lib/cld_provisioning/models/operations/getbillingusage_request.rbi +26 -0
- data/lib/cld_provisioning/models/operations/getcustompolicies_request.rb +79 -0
- data/lib/cld_provisioning/models/operations/getcustompolicies_request.rbi +38 -0
- data/lib/cld_provisioning/models/operations/getcustompolicy_request.rb +40 -0
- data/lib/cld_provisioning/models/operations/getcustompolicy_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/geteffectivepolicies_request.rb +85 -0
- data/lib/cld_provisioning/models/operations/geteffectivepolicies_request.rbi +38 -0
- data/lib/cld_provisioning/models/operations/getgroupsforuser_request.rb +40 -0
- data/lib/cld_provisioning/models/operations/getgroupsforuser_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/getprincipalroles_request.rb +161 -0
- data/lib/cld_provisioning/models/operations/getprincipalroles_request.rbi +80 -0
- data/lib/cld_provisioning/models/operations/getproductenvironment_request.rb +44 -0
- data/lib/cld_provisioning/models/operations/getproductenvironment_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/getproductenvironments_request.rb +79 -0
- data/lib/cld_provisioning/models/operations/getproductenvironments_request.rbi +38 -0
- data/lib/cld_provisioning/models/operations/getrole_request.rb +103 -0
- data/lib/cld_provisioning/models/operations/getrole_request.rbi +50 -0
- data/lib/cld_provisioning/models/operations/getroleprincipals_request.rb +135 -0
- data/lib/cld_provisioning/models/operations/getroleprincipals_request.rbi +68 -0
- data/lib/cld_provisioning/models/operations/getroles_request.rb +80 -0
- data/lib/cld_provisioning/models/operations/getroles_request.rbi +38 -0
- data/lib/cld_provisioning/models/operations/getsubaccountsforuser_request.rb +40 -0
- data/lib/cld_provisioning/models/operations/getsubaccountsforuser_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/getsystempolicies_request.rb +59 -0
- data/lib/cld_provisioning/models/operations/getsystempolicies_request.rbi +26 -0
- data/lib/cld_provisioning/models/operations/getuser_request.rb +40 -0
- data/lib/cld_provisioning/models/operations/getuser_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/getusergroup_request.rb +52 -0
- data/lib/cld_provisioning/models/operations/getusergroup_request.rbi +26 -0
- data/lib/cld_provisioning/models/operations/getusergroups_request.rb +46 -0
- data/lib/cld_provisioning/models/operations/getusergroups_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/getusers_request.rb +179 -0
- data/lib/cld_provisioning/models/operations/getusers_request.rbi +92 -0
- data/lib/cld_provisioning/models/operations/getusersinusergroup_request.rb +40 -0
- data/lib/cld_provisioning/models/operations/getusersinusergroup_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/inspect_request.rb +155 -0
- data/lib/cld_provisioning/models/operations/inspect_request.rbi +74 -0
- data/lib/cld_provisioning/models/operations/inspectmultiple_request.rb +40 -0
- data/lib/cld_provisioning/models/operations/inspectmultiple_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/queryparam_sort_by.rb +22 -0
- data/lib/cld_provisioning/models/operations/queryparam_sort_by.rbi +9 -0
- data/lib/cld_provisioning/models/operations/queryparam_sort_order.rb +20 -0
- data/lib/cld_provisioning/models/operations/queryparam_sort_order.rbi +9 -0
- data/lib/cld_provisioning/models/operations/removeuserfromusergroup_request.rb +44 -0
- data/lib/cld_provisioning/models/operations/removeuserfromusergroup_request.rbi +26 -0
- data/lib/cld_provisioning/models/operations/role.rb +24 -0
- data/lib/cld_provisioning/models/operations/role.rbi +9 -0
- data/lib/cld_provisioning/models/operations/sort_by.rb +22 -0
- data/lib/cld_provisioning/models/operations/sort_by.rbi +9 -0
- data/lib/cld_provisioning/models/operations/sort_order.rb +20 -0
- data/lib/cld_provisioning/models/operations/sort_order.rbi +9 -0
- data/lib/cld_provisioning/models/operations/union_type.rb +21 -0
- data/lib/cld_provisioning/models/operations/union_type.rbi +9 -0
- data/lib/cld_provisioning/models/operations/updateaccesskey_request.rb +64 -0
- data/lib/cld_provisioning/models/operations/updateaccesskey_request.rbi +32 -0
- data/lib/cld_provisioning/models/operations/updatecustompolicy_request.rb +51 -0
- data/lib/cld_provisioning/models/operations/updatecustompolicy_request.rbi +26 -0
- data/lib/cld_provisioning/models/operations/updateprincipalroles_request.rb +50 -0
- data/lib/cld_provisioning/models/operations/updateprincipalroles_request.rbi +20 -0
- data/lib/cld_provisioning/models/operations/updateproductenvironment_request.rb +59 -0
- data/lib/cld_provisioning/models/operations/updateproductenvironment_request.rbi +26 -0
- data/lib/cld_provisioning/models/operations/updaterole_request.rb +44 -0
- data/lib/cld_provisioning/models/operations/updaterole_request.rbi +26 -0
- data/lib/cld_provisioning/models/operations/updateroleprincipals_request.rb +55 -0
- data/lib/cld_provisioning/models/operations/updateroleprincipals_request.rbi +26 -0
- data/lib/cld_provisioning/models/operations/updateuser_request.rb +46 -0
- data/lib/cld_provisioning/models/operations/updateuser_request.rbi +26 -0
- data/lib/cld_provisioning/models/operations/updateusergroup_request.rb +51 -0
- data/lib/cld_provisioning/models/operations/updateusergroup_request.rbi +26 -0
- data/lib/cld_provisioning/models/operations.rb +72 -0
- data/lib/cld_provisioning/models/server_variables/server_region.rb +20 -0
- data/lib/cld_provisioning/models/server_variables.rb +13 -0
- data/lib/cld_provisioning/models/shared/accesskey.rb +96 -0
- data/lib/cld_provisioning/models/shared/accesskey.rbi +44 -0
- data/lib/cld_provisioning/models/shared/accesskeyrequest.rb +44 -0
- data/lib/cld_provisioning/models/shared/accesskeyrequest.rbi +20 -0
- data/lib/cld_provisioning/models/shared/accesskeysresponse.rb +44 -0
- data/lib/cld_provisioning/models/shared/accesskeysresponse.rbi +20 -0
- data/lib/cld_provisioning/models/shared/accesskeyupdaterequest.rb +66 -0
- data/lib/cld_provisioning/models/shared/accesskeyupdaterequest.rbi +26 -0
- data/lib/cld_provisioning/models/shared/apiaccesskey.rb +52 -0
- data/lib/cld_provisioning/models/shared/apiaccesskey.rbi +26 -0
- data/lib/cld_provisioning/models/shared/billingusageresponse.rb +46 -0
- data/lib/cld_provisioning/models/shared/billingusageresponse.rbi +20 -0
- data/lib/cld_provisioning/models/shared/billingusageresponse_breakdown.rb +133 -0
- data/lib/cld_provisioning/models/shared/billingusageresponse_breakdown.rbi +68 -0
- data/lib/cld_provisioning/models/shared/breakdown.rb +133 -0
- data/lib/cld_provisioning/models/shared/breakdown.rbi +68 -0
- data/lib/cld_provisioning/models/shared/cedarerror.rb +43 -0
- data/lib/cld_provisioning/models/shared/cedarerror.rbi +20 -0
- data/lib/cld_provisioning/models/shared/cedarschemaresponse.rb +35 -0
- data/lib/cld_provisioning/models/shared/cedarschemaresponse.rbi +14 -0
- data/lib/cld_provisioning/models/shared/cloudassettypebreakdown.rb +143 -0
- data/lib/cld_provisioning/models/shared/cloudassettypebreakdown.rbi +74 -0
- data/lib/cld_provisioning/models/shared/createrole.rb +102 -0
- data/lib/cld_provisioning/models/shared/createrole.rbi +44 -0
- data/lib/cld_provisioning/models/shared/custom_attributes.rb +26 -0
- data/lib/cld_provisioning/models/shared/custom_attributes.rbi +9 -0
- data/lib/cld_provisioning/models/shared/custompoliciesresponse.rb +47 -0
- data/lib/cld_provisioning/models/shared/custompoliciesresponse.rbi +20 -0
- data/lib/cld_provisioning/models/shared/custompolicy.rb +96 -0
- data/lib/cld_provisioning/models/shared/custompolicy.rbi +44 -0
- data/lib/cld_provisioning/models/shared/custompolicyresponse.rb +35 -0
- data/lib/cld_provisioning/models/shared/custompolicyresponse.rbi +14 -0
- data/lib/cld_provisioning/models/shared/custompolicyresponsedata.rb +125 -0
- data/lib/cld_provisioning/models/shared/custompolicyresponsedata.rbi +62 -0
- data/lib/cld_provisioning/models/shared/cycles.rb +87 -0
- data/lib/cld_provisioning/models/shared/cycles.rbi +38 -0
- data/lib/cld_provisioning/models/shared/data.rb +49 -0
- data/lib/cld_provisioning/models/shared/data.rbi +20 -0
- data/lib/cld_provisioning/models/shared/dedicated_for.rb +20 -0
- data/lib/cld_provisioning/models/shared/dedicated_for.rbi +9 -0
- data/lib/cld_provisioning/models/shared/details.rb +26 -0
- data/lib/cld_provisioning/models/shared/details.rbi +9 -0
- data/lib/cld_provisioning/models/shared/effectivepoliciesresponse.rb +35 -0
- data/lib/cld_provisioning/models/shared/effectivepoliciesresponse.rbi +14 -0
- data/lib/cld_provisioning/models/shared/effectivepolicy.rb +44 -0
- data/lib/cld_provisioning/models/shared/effectivepolicy.rbi +20 -0
- data/lib/cld_provisioning/models/shared/effectiverole.rb +46 -0
- data/lib/cld_provisioning/models/shared/effectiverole.rbi +20 -0
- data/lib/cld_provisioning/models/shared/email_preferences.rb +26 -0
- data/lib/cld_provisioning/models/shared/email_preferences.rbi +9 -0
- data/lib/cld_provisioning/models/shared/error.rb +35 -0
- data/lib/cld_provisioning/models/shared/error.rbi +14 -0
- data/lib/cld_provisioning/models/shared/inspectrequest.rb +83 -0
- data/lib/cld_provisioning/models/shared/inspectrequest.rbi +38 -0
- data/lib/cld_provisioning/models/shared/inspectrequest_policy_parameters.rb +26 -0
- data/lib/cld_provisioning/models/shared/inspectrequest_policy_parameters.rbi +9 -0
- data/lib/cld_provisioning/models/shared/managementtypeenum.rb +22 -0
- data/lib/cld_provisioning/models/shared/managementtypeenum.rbi +9 -0
- data/lib/cld_provisioning/models/shared/metric_usage.rb +68 -0
- data/lib/cld_provisioning/models/shared/metric_usage.rbi +32 -0
- data/lib/cld_provisioning/models/shared/monthly_cycles.rb +87 -0
- data/lib/cld_provisioning/models/shared/monthly_cycles.rbi +38 -0
- data/lib/cld_provisioning/models/shared/operationenum.rb +19 -0
- data/lib/cld_provisioning/models/shared/operationenum.rbi +9 -0
- data/lib/cld_provisioning/models/shared/permissionserror.rb +68 -0
- data/lib/cld_provisioning/models/shared/permissionserror.rbi +32 -0
- data/lib/cld_provisioning/models/shared/permissiontypeenum.rb +22 -0
- data/lib/cld_provisioning/models/shared/permissiontypeenum.rbi +9 -0
- data/lib/cld_provisioning/models/shared/policy_parameters.rb +29 -0
- data/lib/cld_provisioning/models/shared/policy_parameters.rbi +9 -0
- data/lib/cld_provisioning/models/shared/principal.rb +46 -0
- data/lib/cld_provisioning/models/shared/principal.rbi +20 -0
- data/lib/cld_provisioning/models/shared/principalresponsedata.rb +120 -0
- data/lib/cld_provisioning/models/shared/principalresponsedata.rbi +56 -0
- data/lib/cld_provisioning/models/shared/principalresponsedata_policy_parameters.rb +26 -0
- data/lib/cld_provisioning/models/shared/principalresponsedata_policy_parameters.rbi +9 -0
- data/lib/cld_provisioning/models/shared/principalrole.rb +68 -0
- data/lib/cld_provisioning/models/shared/principalrole.rbi +26 -0
- data/lib/cld_provisioning/models/shared/principalrolesdata.rb +150 -0
- data/lib/cld_provisioning/models/shared/principalrolesdata.rbi +68 -0
- data/lib/cld_provisioning/models/shared/principalrolesinspectdata.rb +61 -0
- data/lib/cld_provisioning/models/shared/principalrolesinspectdata.rbi +26 -0
- data/lib/cld_provisioning/models/shared/principalrolesinspectresponse.rb +46 -0
- data/lib/cld_provisioning/models/shared/principalrolesinspectresponse.rbi +20 -0
- data/lib/cld_provisioning/models/shared/principalrolesinspectresponse_data.rb +35 -0
- data/lib/cld_provisioning/models/shared/principalrolesinspectresponse_data.rbi +14 -0
- data/lib/cld_provisioning/models/shared/principalrolesresponse.rb +35 -0
- data/lib/cld_provisioning/models/shared/principalrolesresponse.rbi +14 -0
- data/lib/cld_provisioning/models/shared/principalsresponse.rb +36 -0
- data/lib/cld_provisioning/models/shared/principalsresponse.rbi +14 -0
- data/lib/cld_provisioning/models/shared/principaltypeenum.rb +24 -0
- data/lib/cld_provisioning/models/shared/principaltypeenum.rbi +9 -0
- data/lib/cld_provisioning/models/shared/productenvironment.rb +112 -0
- data/lib/cld_provisioning/models/shared/productenvironment.rbi +50 -0
- data/lib/cld_provisioning/models/shared/productenvironmentrequest.rb +68 -0
- data/lib/cld_provisioning/models/shared/productenvironmentrequest.rbi +32 -0
- data/lib/cld_provisioning/models/shared/productenvironmentsresponse.rb +35 -0
- data/lib/cld_provisioning/models/shared/productenvironmentsresponse.rbi +14 -0
- data/lib/cld_provisioning/models/shared/productenvironmentupdaterequest.rb +71 -0
- data/lib/cld_provisioning/models/shared/productenvironmentupdaterequest.rbi +32 -0
- data/lib/cld_provisioning/models/shared/productenvironmentupdaterequest_custom_attributes.rb +26 -0
- data/lib/cld_provisioning/models/shared/productenvironmentupdaterequest_custom_attributes.rbi +9 -0
- data/lib/cld_provisioning/models/shared/role.rb +58 -0
- data/lib/cld_provisioning/models/shared/role.rbi +26 -0
- data/lib/cld_provisioning/models/shared/roleresponse.rb +35 -0
- data/lib/cld_provisioning/models/shared/roleresponse.rbi +14 -0
- data/lib/cld_provisioning/models/shared/roleresponse_data1.rb +149 -0
- data/lib/cld_provisioning/models/shared/roleresponse_data1.rbi +68 -0
- data/lib/cld_provisioning/models/shared/roleresponsedata.rb +139 -0
- data/lib/cld_provisioning/models/shared/roleresponsedata.rbi +62 -0
- data/lib/cld_provisioning/models/shared/rolesresponse.rb +36 -0
- data/lib/cld_provisioning/models/shared/rolesresponse.rbi +14 -0
- data/lib/cld_provisioning/models/shared/roletomanage.rb +55 -0
- data/lib/cld_provisioning/models/shared/roletomanage.rbi +26 -0
- data/lib/cld_provisioning/models/shared/roletomanage_policy_parameters.rb +26 -0
- data/lib/cld_provisioning/models/shared/roletomanage_policy_parameters.rbi +9 -0
- data/lib/cld_provisioning/models/shared/scopetypeenum.rb +22 -0
- data/lib/cld_provisioning/models/shared/scopetypeenum.rbi +9 -0
- data/lib/cld_provisioning/models/shared/security.rb +52 -0
- data/lib/cld_provisioning/models/shared/security.rbi +20 -0
- data/lib/cld_provisioning/models/shared/subaccountsummary.rb +77 -0
- data/lib/cld_provisioning/models/shared/subaccountsummary.rbi +38 -0
- data/lib/cld_provisioning/models/shared/successresponse.rb +35 -0
- data/lib/cld_provisioning/models/shared/successresponse.rbi +14 -0
- data/lib/cld_provisioning/models/shared/systempoliciesresponse.rb +47 -0
- data/lib/cld_provisioning/models/shared/systempoliciesresponse.rbi +20 -0
- data/lib/cld_provisioning/models/shared/systempolicyresponsedata.rb +153 -0
- data/lib/cld_provisioning/models/shared/systempolicyresponsedata.rbi +74 -0
- data/lib/cld_provisioning/models/shared/systemrolesandpoliciescatalogresponse.rb +35 -0
- data/lib/cld_provisioning/models/shared/systemrolesandpoliciescatalogresponse.rbi +14 -0
- data/lib/cld_provisioning/models/shared/updatecustompolicy.rb +96 -0
- data/lib/cld_provisioning/models/shared/updatecustompolicy.rbi +44 -0
- data/lib/cld_provisioning/models/shared/updateprincipalrolesrequest.rb +64 -0
- data/lib/cld_provisioning/models/shared/updateprincipalrolesrequest.rbi +26 -0
- data/lib/cld_provisioning/models/shared/updateroleprincipal.rb +74 -0
- data/lib/cld_provisioning/models/shared/updateroleprincipal.rbi +32 -0
- data/lib/cld_provisioning/models/shared/updateroleprincipal_policy_parameters.rb +26 -0
- data/lib/cld_provisioning/models/shared/updateroleprincipal_policy_parameters.rbi +9 -0
- data/lib/cld_provisioning/models/shared/updateroleprincipalsrequest.rb +55 -0
- data/lib/cld_provisioning/models/shared/updateroleprincipalsrequest.rbi +20 -0
- data/lib/cld_provisioning/models/shared/user.rb +258 -0
- data/lib/cld_provisioning/models/shared/user.rbi +134 -0
- data/lib/cld_provisioning/models/shared/usergroup.rb +93 -0
- data/lib/cld_provisioning/models/shared/usergroup.rbi +38 -0
- data/lib/cld_provisioning/models/shared/usergrouprequest.rb +46 -0
- data/lib/cld_provisioning/models/shared/usergrouprequest.rbi +20 -0
- data/lib/cld_provisioning/models/shared/usergroupslistresponse.rb +36 -0
- data/lib/cld_provisioning/models/shared/usergroupslistresponse.rbi +14 -0
- data/lib/cld_provisioning/models/shared/usergroupsresponse.rb +36 -0
- data/lib/cld_provisioning/models/shared/usergroupsresponse.rbi +14 -0
- data/lib/cld_provisioning/models/shared/usergroupsummary.rb +44 -0
- data/lib/cld_provisioning/models/shared/usergroupsummary.rbi +20 -0
- data/lib/cld_provisioning/models/shared/usergroupuser.rb +52 -0
- data/lib/cld_provisioning/models/shared/usergroupuser.rbi +26 -0
- data/lib/cld_provisioning/models/shared/usergroupusersresponse.rb +36 -0
- data/lib/cld_provisioning/models/shared/usergroupusersresponse.rbi +14 -0
- data/lib/cld_provisioning/models/shared/userrequest.rb +85 -0
- data/lib/cld_provisioning/models/shared/userrequest.rbi +38 -0
- data/lib/cld_provisioning/models/shared/userrequest_role.rb +24 -0
- data/lib/cld_provisioning/models/shared/userrequest_role.rbi +9 -0
- data/lib/cld_provisioning/models/shared/usersresponse.rb +35 -0
- data/lib/cld_provisioning/models/shared/usersresponse.rbi +14 -0
- data/lib/cld_provisioning/models/shared/usersubaccountsresponse.rb +36 -0
- data/lib/cld_provisioning/models/shared/usersubaccountsresponse.rbi +14 -0
- data/lib/cld_provisioning/models/shared/validatecedarpolicyrequest.rb +36 -0
- data/lib/cld_provisioning/models/shared/validatecedarpolicyrequest.rbi +14 -0
- data/lib/cld_provisioning/models/shared/validatecedarpolicyresponse.rb +43 -0
- data/lib/cld_provisioning/models/shared/validatecedarpolicyresponse.rbi +20 -0
- data/lib/cld_provisioning/models/shared.rb +111 -0
- data/lib/cld_provisioning/principals.rb +818 -0
- data/lib/cld_provisioning/productenvironments.rb +928 -0
- data/lib/cld_provisioning/public.rb +456 -0
- data/lib/cld_provisioning/roles.rb +1315 -0
- data/lib/cld_provisioning/sdk_hooks/account_config.rb +62 -0
- data/lib/cld_provisioning/sdk_hooks/cloudinary_account_hook.rb +87 -0
- data/lib/cld_provisioning/sdk_hooks/hooks.rb +100 -0
- data/lib/cld_provisioning/sdk_hooks/registration.rb +37 -0
- data/lib/cld_provisioning/sdk_hooks/types.rb +181 -0
- data/lib/cld_provisioning/sdk_hooks/user_agent_hook.rb +35 -0
- data/lib/cld_provisioning/sdkconfiguration.rb +133 -0
- data/lib/cld_provisioning/sdkconfiguration.rbi +89 -0
- data/lib/cld_provisioning/systempolicies.rb +240 -0
- data/lib/cld_provisioning/usergroups.rb +1425 -0
- data/lib/cld_provisioning/users.rb +1245 -0
- data/lib/cld_provisioning/utils/forms.rb +233 -0
- data/lib/cld_provisioning/utils/headers.rb +83 -0
- data/lib/cld_provisioning/utils/query_params.rb +168 -0
- data/lib/cld_provisioning/utils/request_bodies.rb +80 -0
- data/lib/cld_provisioning/utils/retries.rb +98 -0
- data/lib/cld_provisioning/utils/security.rb +159 -0
- data/lib/cld_provisioning/utils/url.rb +125 -0
- data/lib/cld_provisioning/utils/utils.rb +242 -0
- data/lib/cloudinary_account_provisioning.rb +38 -0
- data/lib/crystalline/enum.rbi +17 -0
- data/lib/crystalline/metadata_fields.rb +266 -0
- data/lib/crystalline/module.rb +189 -0
- data/lib/crystalline/types.rb +171 -0
- data/lib/crystalline/utils.rb +70 -0
- data/lib/crystalline.rb +14 -0
- metadata +570 -0
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
# @generated-id: b632003fb3ad
|
|
3
|
+
|
|
4
|
+
# typed: false
|
|
5
|
+
# frozen_string_literal: true
|
|
6
|
+
|
|
7
|
+
module Crystalline
|
|
8
|
+
module MetadataFields
|
|
9
|
+
|
|
10
|
+
class Field
|
|
11
|
+
attr_accessor :name, :type, :metadata
|
|
12
|
+
|
|
13
|
+
def initialize(name, type, metadata)
|
|
14
|
+
@name = name
|
|
15
|
+
@type = type
|
|
16
|
+
@metadata = metadata
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
module ClassMethods
|
|
21
|
+
|
|
22
|
+
def fields
|
|
23
|
+
@__fields__ = [] if @__fields__.nil?
|
|
24
|
+
|
|
25
|
+
@__fields__
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def field(field_name, type, metadata = {})
|
|
29
|
+
attr_accessor field_name
|
|
30
|
+
|
|
31
|
+
fields << Field.new(field_name, type, metadata)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def field_augmented?
|
|
35
|
+
true
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def unmarshal_single(field_type, value, format_metadata = nil)
|
|
39
|
+
decoder = format_metadata.fetch(:decoder, nil)
|
|
40
|
+
|
|
41
|
+
# Delegate complex Crystalline types to unmarshal_json
|
|
42
|
+
if field_type.is_a?(Crystalline::DiscriminatedUnion) ||
|
|
43
|
+
Crystalline::Utils.arr?(field_type) ||
|
|
44
|
+
Crystalline::Utils.hash?(field_type) ||
|
|
45
|
+
Crystalline::Utils.union?(field_type)
|
|
46
|
+
return Crystalline.unmarshal_json(value, field_type)
|
|
47
|
+
elsif field_type.instance_of?(Class) && field_type.include?(::Crystalline::MetadataFields)
|
|
48
|
+
return field_type.from_dict(value)
|
|
49
|
+
elsif field_type.to_s == 'Date'
|
|
50
|
+
return Date.parse(value)
|
|
51
|
+
elsif field_type.to_s == 'DateTime'
|
|
52
|
+
return DateTime.parse(value)
|
|
53
|
+
elsif field_type.to_s == 'Object'
|
|
54
|
+
if value.is_a?(::String)
|
|
55
|
+
trimmed = value.lstrip
|
|
56
|
+
if trimmed.start_with?('{') || trimmed.start_with?('[')
|
|
57
|
+
# rubocop:disable Lint/SuppressedException
|
|
58
|
+
begin
|
|
59
|
+
value = JSON.parse(value)
|
|
60
|
+
rescue TypeError, JSON::ParserError
|
|
61
|
+
end
|
|
62
|
+
# rubocop:enable Lint/SuppressedException
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
return value
|
|
66
|
+
elsif field_type.to_s == 'Float'
|
|
67
|
+
return value.to_f
|
|
68
|
+
|
|
69
|
+
end
|
|
70
|
+
if decoder.nil?
|
|
71
|
+
value
|
|
72
|
+
else
|
|
73
|
+
decoder.call(value)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def from_dict(d)
|
|
78
|
+
to_build = {}
|
|
79
|
+
|
|
80
|
+
# Collect lookup keys for regular fields so we can identify additional properties later
|
|
81
|
+
known_keys = {}
|
|
82
|
+
additional_props_fields = []
|
|
83
|
+
fields.each do |field|
|
|
84
|
+
format_metadata = field.metadata.fetch(:format_json, {})
|
|
85
|
+
if format_metadata.fetch(:additional_properties, false)
|
|
86
|
+
additional_props_fields << field
|
|
87
|
+
else
|
|
88
|
+
lookup = format_metadata.fetch(:letter_case, nil).call
|
|
89
|
+
known_keys[lookup] = true
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# Process regular fields
|
|
94
|
+
(fields - additional_props_fields).each do |field|
|
|
95
|
+
key = field.name
|
|
96
|
+
format_metadata = field.metadata.fetch(:format_json, {})
|
|
97
|
+
field_type = field.type
|
|
98
|
+
|
|
99
|
+
lookup = format_metadata.fetch(:letter_case, nil).call
|
|
100
|
+
value = d[lookup]
|
|
101
|
+
if ::Crystalline::Utils.nilable? field_type
|
|
102
|
+
if value == 'null'
|
|
103
|
+
to_build[key] = nil
|
|
104
|
+
next
|
|
105
|
+
end
|
|
106
|
+
field_type = ::Crystalline::Utils.nilable_of(field_type)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# If field is not nilable, and the value is not in the dict, raise a KeyError
|
|
110
|
+
raise KeyError, "key #{lookup} not found in hash" if value.nil? && !::Crystalline::Utils.nilable?(field.type)
|
|
111
|
+
# If field is nilable, and the value is not in the dict, just move to the next field
|
|
112
|
+
next if value.nil?
|
|
113
|
+
|
|
114
|
+
if field_type.is_a?(Crystalline::DiscriminatedUnion)
|
|
115
|
+
to_build[key] = field_type.parse(value)
|
|
116
|
+
elsif Crystalline::Utils.arr? field_type
|
|
117
|
+
inner_type = Crystalline::Utils.arr_of(field_type)
|
|
118
|
+
unmarshalled_array = value.map { |f| unmarshal_single(inner_type, f, format_metadata) }
|
|
119
|
+
to_build[key] = unmarshalled_array
|
|
120
|
+
elsif Crystalline::Utils.hash? field_type
|
|
121
|
+
val_type = Crystalline::Utils.hash_of(field_type)
|
|
122
|
+
|
|
123
|
+
# rubocop:disable Style/HashTransformValues
|
|
124
|
+
unmarshalled_hash = value.map { |k, v| [k, unmarshal_single(val_type, v, format_metadata)] }.to_h
|
|
125
|
+
# rubocop:enable Style/HashTransformValues
|
|
126
|
+
to_build[key] = unmarshalled_hash
|
|
127
|
+
elsif Crystalline::Utils.union? field_type
|
|
128
|
+
discriminator = field.metadata.fetch(:discriminator, nil)
|
|
129
|
+
discriminator_mapping = field.metadata.fetch(:discriminator_mapping, nil)
|
|
130
|
+
if !discriminator.nil?
|
|
131
|
+
discriminator_value = value.fetch(discriminator)
|
|
132
|
+
if !discriminator_mapping.nil?
|
|
133
|
+
# Use explicit mapping from discriminator value to type
|
|
134
|
+
type_to_deserialize = discriminator_mapping[discriminator_value]
|
|
135
|
+
else
|
|
136
|
+
# Fallback: try to match discriminator value against type name
|
|
137
|
+
type_to_deserialize = Crystalline::Utils.get_union_types(field_type).find { |t| t.name.split('::').last == discriminator_value }
|
|
138
|
+
end
|
|
139
|
+
to_build[key] = Crystalline.unmarshal_json(value, type_to_deserialize)
|
|
140
|
+
else
|
|
141
|
+
union_types = Crystalline::Utils.get_union_types(field_type)
|
|
142
|
+
union_types = union_types.sort_by { |klass| Crystalline.non_nilable_attr_count(klass) }
|
|
143
|
+
|
|
144
|
+
if Crystalline.union_strategy == :populated_fields
|
|
145
|
+
to_build[key] = Crystalline.unmarshal_union_populated_fields(value, union_types)
|
|
146
|
+
else
|
|
147
|
+
union_types.each do |union_type|
|
|
148
|
+
begin
|
|
149
|
+
to_build[key] = Crystalline.unmarshal_json(value, union_type)
|
|
150
|
+
rescue TypeError
|
|
151
|
+
next
|
|
152
|
+
rescue NoMethodError
|
|
153
|
+
next
|
|
154
|
+
rescue KeyError
|
|
155
|
+
next
|
|
156
|
+
end
|
|
157
|
+
break
|
|
158
|
+
end
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
elsif field_type.instance_of?(Class) && field_type.include?(::Crystalline::MetadataFields)
|
|
162
|
+
to_build[key] = Crystalline.unmarshal_json(value, field_type)
|
|
163
|
+
else
|
|
164
|
+
to_build[key] = unmarshal_single(field_type, value, format_metadata)
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
# Process additional properties fields: collect remaining keys from the dict
|
|
169
|
+
additional_props_fields.each do |field|
|
|
170
|
+
key = field.name
|
|
171
|
+
format_metadata = field.metadata.fetch(:format_json, {})
|
|
172
|
+
field_type = field.type
|
|
173
|
+
|
|
174
|
+
remaining = d.reject { |k, _| known_keys.key?(k) }
|
|
175
|
+
if remaining.empty?
|
|
176
|
+
next if ::Crystalline::Utils.nilable?(field.type)
|
|
177
|
+
|
|
178
|
+
raise KeyError, 'no additional properties found in hash'
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
inner_field_type = field_type
|
|
182
|
+
inner_field_type = ::Crystalline::Utils.nilable_of(inner_field_type) if ::Crystalline::Utils.nilable?(inner_field_type)
|
|
183
|
+
if Crystalline::Utils.hash?(inner_field_type)
|
|
184
|
+
val_type = Crystalline::Utils.hash_of(inner_field_type)
|
|
185
|
+
# rubocop:disable Style/HashTransformValues
|
|
186
|
+
to_build[key] = remaining.map { |k, v| [k, unmarshal_single(val_type, v, format_metadata)] }.to_h
|
|
187
|
+
# rubocop:enable Style/HashTransformValues
|
|
188
|
+
else
|
|
189
|
+
to_build[key] = remaining
|
|
190
|
+
end
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
new(**to_build)
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
def initialize
|
|
198
|
+
instance = allocate
|
|
199
|
+
fields.each { |mod| instance.singleton_class.include(mod) }
|
|
200
|
+
instance.send(:initialize)
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
def self.included(base)
|
|
204
|
+
base.extend(ClassMethods)
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
def fields
|
|
208
|
+
self.class.fields
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
def field(field_name)
|
|
212
|
+
fields.each do |f|
|
|
213
|
+
return f if f.name == field_name
|
|
214
|
+
end
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
def marshal_single(field)
|
|
218
|
+
if field.class.include? ::Crystalline::MetadataFields
|
|
219
|
+
field.to_dict
|
|
220
|
+
else
|
|
221
|
+
if ::Crystalline.needs_string_conversion field
|
|
222
|
+
::Crystalline.json_encode field
|
|
223
|
+
else
|
|
224
|
+
field
|
|
225
|
+
end
|
|
226
|
+
end
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
def to_dict
|
|
230
|
+
result = {}
|
|
231
|
+
fields.sort_by(&:name).each do |field|
|
|
232
|
+
format_json_meta = field.metadata[:format_json]
|
|
233
|
+
required = !format_json_meta.nil? && format_json_meta.include?(:required)
|
|
234
|
+
is_additional_props = !format_json_meta.nil? && format_json_meta.fetch(:additional_properties, false)
|
|
235
|
+
|
|
236
|
+
if !format_json_meta.nil? && format_json_meta.include?(:letter_case)
|
|
237
|
+
key = format_json_meta[:letter_case].call(field.name)
|
|
238
|
+
else
|
|
239
|
+
key = field.name
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
f = send(field.name)
|
|
243
|
+
next if f.nil? && !required
|
|
244
|
+
result[key] = nil if f.nil? && required
|
|
245
|
+
|
|
246
|
+
# Flatten additional properties into the parent object
|
|
247
|
+
if is_additional_props && f.is_a?(::Hash)
|
|
248
|
+
f.each { |k, v| result[k] = marshal_single(v) }
|
|
249
|
+
elsif f.is_a? ::Array
|
|
250
|
+
result[key] = f.map { |o| marshal_single(o) }
|
|
251
|
+
elsif f.is_a? ::Hash
|
|
252
|
+
result[key] = f.transform_values { |v| marshal_single(v) }
|
|
253
|
+
else
|
|
254
|
+
result[key] = marshal_single(f)
|
|
255
|
+
end
|
|
256
|
+
end
|
|
257
|
+
result
|
|
258
|
+
end
|
|
259
|
+
|
|
260
|
+
def to_json(*args)
|
|
261
|
+
JSON.generate(to_dict, *args)
|
|
262
|
+
end
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
end
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
# @generated-id: f20714527078
|
|
3
|
+
|
|
4
|
+
# typed: false
|
|
5
|
+
# frozen_string_literal: true
|
|
6
|
+
|
|
7
|
+
module Crystalline
|
|
8
|
+
@union_strategy = :populated_fields
|
|
9
|
+
|
|
10
|
+
class << self
|
|
11
|
+
attr_accessor :union_strategy
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def self.to_dict(complex)
|
|
15
|
+
if complex.is_a?(::Array)
|
|
16
|
+
complex.map { |v| Crystalline.to_dict(v) }
|
|
17
|
+
elsif complex.is_a?(::Hash)
|
|
18
|
+
complex.transform_values { |v| Crystalline.to_dict(v) }
|
|
19
|
+
elsif complex.respond_to?(:class) && complex.class.include?(::Crystalline::MetadataFields)
|
|
20
|
+
complex.to_dict
|
|
21
|
+
else
|
|
22
|
+
json_encode(complex, primitives: false)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.needs_string_conversion(val)
|
|
27
|
+
val.class.respond_to?(:enums) || val.is_a?(DateTime) || val.nil?
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def self.to_json(complex)
|
|
31
|
+
JSON.dump(to_dict(complex))
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def self.unmarshal_json(data, type)
|
|
35
|
+
if Crystalline::Utils.nilable?(type)
|
|
36
|
+
type = Crystalline::Utils.nilable_of(type)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
if type.is_a?(Crystalline::DiscriminatedUnion)
|
|
40
|
+
type.parse(data)
|
|
41
|
+
elsif type.instance_of?(Class) && type.include?(::Crystalline::MetadataFields)
|
|
42
|
+
type.from_dict(data)
|
|
43
|
+
elsif Crystalline::Utils.union?(type)
|
|
44
|
+
union_types = Crystalline::Utils.get_union_types(type)
|
|
45
|
+
union_types = union_types.sort_by { |klass| Crystalline.non_nilable_attr_count(klass) }
|
|
46
|
+
|
|
47
|
+
if Crystalline.union_strategy == :populated_fields
|
|
48
|
+
Crystalline.unmarshal_union_populated_fields(data, union_types)
|
|
49
|
+
else
|
|
50
|
+
Crystalline.unmarshal_union_left_to_right(data, union_types)
|
|
51
|
+
end
|
|
52
|
+
elsif Crystalline::Utils.arr?(type)
|
|
53
|
+
data.map { |v| Crystalline.unmarshal_json(v, Crystalline::Utils.arr_of(type)) }
|
|
54
|
+
elsif Crystalline::Utils.hash?(type)
|
|
55
|
+
data.transform_values { |v| Crystalline.unmarshal_json(v, Crystalline::Utils.hash_of(type)) }
|
|
56
|
+
elsif Crystalline::Utils.nilable?(type) && data == "null"
|
|
57
|
+
nil
|
|
58
|
+
elsif Crystalline::Utils.boolean?(type)
|
|
59
|
+
Crystalline::Utils.to_boolean(data)
|
|
60
|
+
elsif type.is_a?(Class) && type < T::Enum
|
|
61
|
+
type.deserialize(data)
|
|
62
|
+
elsif type.is_a?(Class) && type.respond_to?(:enums) && type.respond_to?(:deserialize)
|
|
63
|
+
type.deserialize(data)
|
|
64
|
+
else
|
|
65
|
+
data
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def self.json_encode(val, primitives: true)
|
|
70
|
+
if val.class.respond_to?(:enums)
|
|
71
|
+
val.serialize
|
|
72
|
+
elsif val.is_a?(DateTime)
|
|
73
|
+
val.strftime("%Y-%m-%dT%H:%M:%S.%NZ").sub(/(\.\d*[1-9])0+Z\z/, "\\1Z").sub(/\.0+Z\z/, "Z")
|
|
74
|
+
elsif val.nil?
|
|
75
|
+
nil
|
|
76
|
+
elsif primitives
|
|
77
|
+
val.to_s
|
|
78
|
+
else
|
|
79
|
+
val
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def self.unmarshal_union_left_to_right(data, union_types)
|
|
84
|
+
union_types.each do |union_type|
|
|
85
|
+
return Crystalline.unmarshal_json(data, union_type)
|
|
86
|
+
rescue TypeError
|
|
87
|
+
next
|
|
88
|
+
rescue NoMethodError
|
|
89
|
+
next
|
|
90
|
+
rescue KeyError
|
|
91
|
+
next
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
nil
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def self.unmarshal_union_populated_fields(data, union_types)
|
|
98
|
+
best_value = nil
|
|
99
|
+
best_matched = -1
|
|
100
|
+
best_inexact = 0
|
|
101
|
+
best_unmatched = 0
|
|
102
|
+
|
|
103
|
+
union_types.each do |union_type|
|
|
104
|
+
value = Crystalline.unmarshal_json(data, union_type)
|
|
105
|
+
matched, inexact, unmatched = count_matched_fields(value, data)
|
|
106
|
+
|
|
107
|
+
if best_value.nil? ||
|
|
108
|
+
matched > best_matched ||
|
|
109
|
+
(matched == best_matched && inexact < best_inexact) ||
|
|
110
|
+
(matched == best_matched && inexact == best_inexact && unmatched < best_unmatched)
|
|
111
|
+
best_value = value
|
|
112
|
+
best_matched = matched
|
|
113
|
+
best_inexact = inexact
|
|
114
|
+
best_unmatched = unmatched
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
rescue TypeError
|
|
118
|
+
next
|
|
119
|
+
rescue NoMethodError
|
|
120
|
+
next
|
|
121
|
+
rescue KeyError
|
|
122
|
+
next
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
best_value
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
def self.count_matched_fields(value, raw_data)
|
|
129
|
+
matched = 0
|
|
130
|
+
inexact = 0
|
|
131
|
+
unmatched = 0
|
|
132
|
+
|
|
133
|
+
if value.is_a?(Crystalline::Unknown)
|
|
134
|
+
return [0, 0, 0]
|
|
135
|
+
elsif value.class.include?(::Crystalline::MetadataFields)
|
|
136
|
+
value.fields.each do |field|
|
|
137
|
+
format_metadata = field.metadata.fetch(:format_json, {})
|
|
138
|
+
lookup = format_metadata.fetch(:letter_case, nil)&.call
|
|
139
|
+
field_val = value.send(field.name)
|
|
140
|
+
|
|
141
|
+
if raw_data.is_a?(::Hash) && lookup && raw_data.key?(lookup)
|
|
142
|
+
if field_val.class.include?(::Crystalline::MetadataFields) && raw_data[lookup].is_a?(::Hash)
|
|
143
|
+
nested_matched, nested_inexact, nested_unmatched = count_matched_fields(field_val, raw_data[lookup])
|
|
144
|
+
matched += nested_matched
|
|
145
|
+
inexact += nested_inexact
|
|
146
|
+
unmatched += nested_unmatched
|
|
147
|
+
else
|
|
148
|
+
matched += 1
|
|
149
|
+
if field_val.respond_to?(:known?) && !field_val.known?
|
|
150
|
+
inexact += 1
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
elsif !::Crystalline::Utils.nilable?(field.type)
|
|
154
|
+
unmatched += 1
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
elsif value.is_a?(::Array)
|
|
158
|
+
matched = value.length
|
|
159
|
+
elsif value.is_a?(::Hash)
|
|
160
|
+
matched = value.length
|
|
161
|
+
else
|
|
162
|
+
matched = 1
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
[matched, inexact, unmatched]
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
def self.non_nilable_attr_count(klass)
|
|
169
|
+
# somewhat sane sort ordering for Union deserialization.
|
|
170
|
+
# All Crystalline objects return the number of non-nilable fields
|
|
171
|
+
# All non-string primitives return 2
|
|
172
|
+
# All arrays and hashes return 1
|
|
173
|
+
# Strings return 0 (since any data can deserialize to a string, it should be our last attempt)
|
|
174
|
+
if klass.respond_to?(:fields)
|
|
175
|
+
return -1 *
|
|
176
|
+
klass.fields.count do |field|
|
|
177
|
+
!::Crystalline::Utils.nilable?(field.type)
|
|
178
|
+
end
|
|
179
|
+
else
|
|
180
|
+
if klass == String
|
|
181
|
+
return 0
|
|
182
|
+
elsif klass.is_a?(T::Types::TypedArray) || klass.is_a?(T::Types::TypedHash)
|
|
183
|
+
return 1
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
return 2
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
end
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
# @generated-id: 99bd085a257e
|
|
3
|
+
|
|
4
|
+
# typed: false
|
|
5
|
+
# frozen_string_literal: true
|
|
6
|
+
|
|
7
|
+
module Crystalline
|
|
8
|
+
class Array
|
|
9
|
+
attr_accessor :inner_type
|
|
10
|
+
|
|
11
|
+
def initialize(inner_type)
|
|
12
|
+
@inner_type = inner_type
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
class Hash
|
|
17
|
+
attr_accessor :key_type, :value_type
|
|
18
|
+
|
|
19
|
+
def initialize(key_type, value_type)
|
|
20
|
+
@key_type = key_type
|
|
21
|
+
@value_type = value_type
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
class Union
|
|
26
|
+
attr_accessor :types
|
|
27
|
+
|
|
28
|
+
def initialize(*types)
|
|
29
|
+
@types = types
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
class Nilable
|
|
34
|
+
attr_accessor :inner_type
|
|
35
|
+
|
|
36
|
+
def initialize(inner_type)
|
|
37
|
+
@inner_type = inner_type
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
class Boolean
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Wraps an unrecognized payload from an open discriminated union.
|
|
45
|
+
# Produced when the discriminator value is missing, unknown, or schema validation fails.
|
|
46
|
+
class Unknown
|
|
47
|
+
attr_reader :raw
|
|
48
|
+
|
|
49
|
+
def initialize(raw:)
|
|
50
|
+
@raw = raw
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def unknown?
|
|
54
|
+
true
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Forward-compatible discriminated union parser.
|
|
59
|
+
# Known discriminator values are deserialized to their mapped types.
|
|
60
|
+
# Unknown or invalid payloads are captured as Crystalline::Unknown.
|
|
61
|
+
class DiscriminatedUnion
|
|
62
|
+
attr_reader :discriminator, :variants
|
|
63
|
+
|
|
64
|
+
def initialize(discriminator, variants)
|
|
65
|
+
@discriminator = discriminator
|
|
66
|
+
@variants = variants
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def parse(payload)
|
|
70
|
+
unless payload.is_a?(::Hash)
|
|
71
|
+
return Unknown.new(raw: payload)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
disc_value = payload[@discriminator]
|
|
75
|
+
unless disc_value.is_a?(::String)
|
|
76
|
+
return Unknown.new(raw: payload)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
variant_type = @variants[disc_value]
|
|
80
|
+
unless variant_type
|
|
81
|
+
return Unknown.new(raw: payload)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
begin
|
|
85
|
+
Crystalline.unmarshal_json(payload, variant_type)
|
|
86
|
+
rescue StandardError
|
|
87
|
+
Unknown.new(raw: payload)
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def self.unknown?(value)
|
|
93
|
+
value.is_a?(Unknown)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
module Enum
|
|
97
|
+
def self.included(base)
|
|
98
|
+
base.extend(ClassMethods)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def initialize(val)
|
|
102
|
+
if self.class.instance_methods(false).include?(:initialize)
|
|
103
|
+
super(val)
|
|
104
|
+
else
|
|
105
|
+
@val = val
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
module ClassMethods
|
|
110
|
+
def enums(&blk)
|
|
111
|
+
@mapping = {}
|
|
112
|
+
|
|
113
|
+
yield
|
|
114
|
+
constants(false).each do |const_name|
|
|
115
|
+
instance = const_get(const_name, false)
|
|
116
|
+
unless instance.is_a? self
|
|
117
|
+
raise 'Enum constants must be instances of the Enum class (e.g. `Foo = new`)'
|
|
118
|
+
end
|
|
119
|
+
@mapping[instance.serialize] = instance
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def open!
|
|
124
|
+
@open = true
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
def open?
|
|
128
|
+
@open == true
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def deserialize(val)
|
|
132
|
+
if @mapping.include? val
|
|
133
|
+
@mapping[val]
|
|
134
|
+
elsif open?
|
|
135
|
+
new(val)
|
|
136
|
+
else
|
|
137
|
+
raise "Invalid value for enum: #{val}"
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
def serialize
|
|
143
|
+
@val
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
def to_s
|
|
147
|
+
serialize.to_s
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
def inspect
|
|
151
|
+
"#<#{self.class} #{serialize.inspect}>"
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
def known?
|
|
155
|
+
self.class.instance_variable_get(:@mapping)&.value?(self) || false
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
def ==(other)
|
|
159
|
+
other = other.serialize if other.is_a?(self.class)
|
|
160
|
+
@val == other
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
def eql?(other)
|
|
164
|
+
self == other
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
def hash
|
|
168
|
+
@val.hash
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
# @generated-id: 16176de8524e
|
|
3
|
+
|
|
4
|
+
# typed: false
|
|
5
|
+
# frozen_string_literal: true
|
|
6
|
+
|
|
7
|
+
module Crystalline
|
|
8
|
+
module Utils
|
|
9
|
+
def self.arr?(t)
|
|
10
|
+
if t.instance_of? Crystalline::Array
|
|
11
|
+
return true
|
|
12
|
+
end
|
|
13
|
+
false
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def self.arr_of(t)
|
|
17
|
+
t.inner_type
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def self.hash?(t)
|
|
21
|
+
if t.instance_of? Crystalline::Hash
|
|
22
|
+
return true
|
|
23
|
+
end
|
|
24
|
+
false
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def self.hash_of(t)
|
|
28
|
+
t.value_type
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def self.nilable?(t)
|
|
32
|
+
if t.instance_of? Crystalline::Nilable
|
|
33
|
+
return true
|
|
34
|
+
end
|
|
35
|
+
if t.instance_of? Crystalline::Union
|
|
36
|
+
return t.types.any? { |tt| tt.instance_of? Crystalline::Nilable }
|
|
37
|
+
end
|
|
38
|
+
false
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def self.nilable_of(t)
|
|
42
|
+
|
|
43
|
+
if nilable? t
|
|
44
|
+
return t.inner_type
|
|
45
|
+
end
|
|
46
|
+
nil
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def self.union?(t)
|
|
50
|
+
return t.instance_of? Crystalline::Union
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def self.get_union_types(t)
|
|
54
|
+
t.types
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def self.boolean?(t)
|
|
58
|
+
t.instance_of? Crystalline::Boolean
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def self.to_boolean(value)
|
|
62
|
+
case value
|
|
63
|
+
when true, false
|
|
64
|
+
value
|
|
65
|
+
else
|
|
66
|
+
raise TypeError, "Cannot convert #{value.inspect} to boolean. The value is of type #{value.class}"
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
data/lib/crystalline.rb
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
# @generated-id: eca767cf937a
|
|
3
|
+
|
|
4
|
+
# typed: false
|
|
5
|
+
# frozen_string_literal: true
|
|
6
|
+
|
|
7
|
+
module Crystalline
|
|
8
|
+
autoload :MetadataFields, 'crystalline/metadata_fields'
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
require_relative 'crystalline/utils'
|
|
13
|
+
require_relative 'crystalline/module'
|
|
14
|
+
require_relative 'crystalline/types'
|