openai 0.70.0 → 0.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/README.md +51 -1
  4. data/lib/openai/client.rb +62 -8
  5. data/lib/openai/internal/provider.rb +31 -0
  6. data/lib/openai/internal/transport/base_client.rb +65 -21
  7. data/lib/openai/models/admin/organization/audit_log_list_params.rb +84 -0
  8. data/lib/openai/models/admin/organization/audit_log_list_response.rb +84 -0
  9. data/lib/openai/models/admin/organization/projects/project_service_account.rb +4 -3
  10. data/lib/openai/models/admin/organization/projects/service_account_create_params.rb +9 -1
  11. data/lib/openai/models/admin/organization/projects/service_account_create_response.rb +26 -6
  12. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rb +54 -0
  13. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rb +57 -0
  14. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +88 -13
  15. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +88 -13
  16. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +88 -13
  17. data/lib/openai/models/admin/organization/usage_completions_response.rb +88 -13
  18. data/lib/openai/models/admin/organization/usage_costs_response.rb +88 -13
  19. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +88 -13
  20. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +88 -13
  21. data/lib/openai/models/admin/organization/usage_images_response.rb +88 -13
  22. data/lib/openai/models/admin/organization/usage_moderations_response.rb +88 -13
  23. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +88 -13
  24. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +88 -13
  25. data/lib/openai/models/beta/beta_response_input_item.rb +16 -32
  26. data/lib/openai/provider.rb +18 -0
  27. data/lib/openai/providers/bedrock.rb +489 -0
  28. data/lib/openai/resources/admin/organization/projects/service_accounts/api_keys.rb +60 -0
  29. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +10 -3
  30. data/lib/openai/version.rb +1 -1
  31. data/lib/openai.rb +6 -0
  32. data/rbi/openai/client.rbi +17 -0
  33. data/rbi/openai/internal/provider.rbi +51 -0
  34. data/rbi/openai/internal/transport/base_client.rbi +32 -0
  35. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +420 -0
  36. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +420 -0
  37. data/rbi/openai/models/admin/organization/projects/project_service_account.rbi +8 -3
  38. data/rbi/openai/models/admin/organization/projects/service_account_create_params.rbi +8 -0
  39. data/rbi/openai/models/admin/organization/projects/service_account_create_response.rbi +52 -8
  40. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbi +84 -0
  41. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbi +80 -0
  42. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +121 -16
  43. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +121 -16
  44. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +121 -16
  45. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +121 -16
  46. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +121 -16
  47. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +121 -16
  48. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +121 -16
  49. data/rbi/openai/models/admin/organization/usage_images_response.rbi +121 -16
  50. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +121 -16
  51. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +121 -16
  52. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +121 -16
  53. data/rbi/openai/models/beta/beta_response_input_item.rbi +39 -46
  54. data/rbi/openai/provider.rbi +9 -0
  55. data/rbi/openai/providers.rbi +33 -0
  56. data/rbi/openai/resources/admin/organization/projects/service_accounts/api_keys.rbi +45 -0
  57. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +12 -2
  58. data/sig/openai/client.rbs +7 -0
  59. data/sig/openai/internal/provider.rbs +29 -0
  60. data/sig/openai/internal/transport/base_client.rbs +17 -1
  61. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +168 -0
  62. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +168 -0
  63. data/sig/openai/models/admin/organization/projects/project_service_account.rbs +2 -1
  64. data/sig/openai/models/admin/organization/projects/service_account_create_params.rbs +9 -1
  65. data/sig/openai/models/admin/organization/projects/service_account_create_response.rbs +16 -5
  66. data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbs +53 -0
  67. data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbs +48 -0
  68. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +63 -0
  69. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +63 -0
  70. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +63 -0
  71. data/sig/openai/models/admin/organization/usage_completions_response.rbs +63 -0
  72. data/sig/openai/models/admin/organization/usage_costs_response.rbs +63 -0
  73. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +63 -0
  74. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +63 -0
  75. data/sig/openai/models/admin/organization/usage_images_response.rbs +63 -0
  76. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +63 -0
  77. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +63 -0
  78. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +63 -0
  79. data/sig/openai/models/beta/beta_response_input_item.rbs +18 -24
  80. data/sig/openai/provider.rbs +5 -0
  81. data/sig/openai/providers.rbs +15 -0
  82. data/sig/openai/resources/admin/organization/projects/service_accounts/api_keys.rbs +23 -0
  83. data/sig/openai/resources/admin/organization/projects/service_accounts.rbs +3 -0
  84. metadata +20 -2
@@ -1723,6 +1723,426 @@ module OpenAI
1723
1723
  :"user.deleted",
1724
1724
  OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1725
1725
  )
1726
+ TENANT_METADATA_UPDATED =
1727
+ T.let(
1728
+ :"tenant.metadata.updated",
1729
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1730
+ )
1731
+ TENANT_MICROSOFT_ENTRA_MAPPING_UPSERTED =
1732
+ T.let(
1733
+ :"tenant.microsoft_entra_mapping.upserted",
1734
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1735
+ )
1736
+ TENANT_MICROSOFT_ENTRA_MAPPING_DELETED =
1737
+ T.let(
1738
+ :"tenant.microsoft_entra_mapping.deleted",
1739
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1740
+ )
1741
+ TENANT_WORKLOAD_IDENTITY_PROVIDER_CREATED =
1742
+ T.let(
1743
+ :"tenant.workload_identity.provider.created",
1744
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1745
+ )
1746
+ TENANT_WORKLOAD_IDENTITY_PROVIDER_UPDATED =
1747
+ T.let(
1748
+ :"tenant.workload_identity.provider.updated",
1749
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1750
+ )
1751
+ TENANT_WORKLOAD_IDENTITY_PROVIDER_ARCHIVED =
1752
+ T.let(
1753
+ :"tenant.workload_identity.provider.archived",
1754
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1755
+ )
1756
+ TENANT_WORKLOAD_IDENTITY_MAPPING_CREATED =
1757
+ T.let(
1758
+ :"tenant.workload_identity.mapping.created",
1759
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1760
+ )
1761
+ TENANT_WORKLOAD_IDENTITY_MAPPING_UPDATED =
1762
+ T.let(
1763
+ :"tenant.workload_identity.mapping.updated",
1764
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1765
+ )
1766
+ TENANT_WORKLOAD_IDENTITY_MAPPING_ARCHIVED =
1767
+ T.let(
1768
+ :"tenant.workload_identity.mapping.archived",
1769
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1770
+ )
1771
+ TENANT_WORKLOAD_IDENTITY_BINDING_CREATED =
1772
+ T.let(
1773
+ :"tenant.workload_identity.binding.created",
1774
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1775
+ )
1776
+ TENANT_WORKLOAD_IDENTITY_PRINCIPAL_PROVISIONED =
1777
+ T.let(
1778
+ :"tenant.workload_identity.principal.provisioned",
1779
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1780
+ )
1781
+ TENANT_ADMIN_API_KEY_CREATED =
1782
+ T.let(
1783
+ :"tenant.admin_api_key.created",
1784
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1785
+ )
1786
+ TENANT_ADMIN_API_KEY_UPDATED =
1787
+ T.let(
1788
+ :"tenant.admin_api_key.updated",
1789
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1790
+ )
1791
+ TENANT_ADMIN_API_KEY_DELETED =
1792
+ T.let(
1793
+ :"tenant.admin_api_key.deleted",
1794
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1795
+ )
1796
+ TENANT_PROJECT_API_KEY_CREATED =
1797
+ T.let(
1798
+ :"tenant.project_api_key.created",
1799
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1800
+ )
1801
+ TENANT_CHATGPT_ACCESS_TOKEN_REVOKED =
1802
+ T.let(
1803
+ :"tenant.chatgpt_access_token.revoked",
1804
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1805
+ )
1806
+ TENANT_MIGRATION_COMPLETED =
1807
+ T.let(
1808
+ :"tenant.migration.completed",
1809
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1810
+ )
1811
+ TENANT_SSO_MIGRATED =
1812
+ T.let(
1813
+ :"tenant.sso.migrated",
1814
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1815
+ )
1816
+ TENANT_DOMAINS_MIGRATED =
1817
+ T.let(
1818
+ :"tenant.domains.migrated",
1819
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1820
+ )
1821
+ TENANT_SSO_CONNECTION_CREATED =
1822
+ T.let(
1823
+ :"tenant.sso_connection.created",
1824
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1825
+ )
1826
+ TENANT_SSO_CONNECTION_UPDATED =
1827
+ T.let(
1828
+ :"tenant.sso_connection.updated",
1829
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1830
+ )
1831
+ TENANT_SSO_CONNECTION_DELETED =
1832
+ T.let(
1833
+ :"tenant.sso_connection.deleted",
1834
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1835
+ )
1836
+ TENANT_SSO_CONNECTION_SETUP_STARTED =
1837
+ T.let(
1838
+ :"tenant.sso_connection.setup.started",
1839
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1840
+ )
1841
+ TENANT_POLICY_CREATED =
1842
+ T.let(
1843
+ :"tenant.policy.created",
1844
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1845
+ )
1846
+ TENANT_POLICY_UPDATED =
1847
+ T.let(
1848
+ :"tenant.policy.updated",
1849
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1850
+ )
1851
+ TENANT_POLICY_DELETED =
1852
+ T.let(
1853
+ :"tenant.policy.deleted",
1854
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1855
+ )
1856
+ TENANT_POLICY_ATTACHED =
1857
+ T.let(
1858
+ :"tenant.policy.attached",
1859
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1860
+ )
1861
+ TENANT_POLICY_DETACHED =
1862
+ T.let(
1863
+ :"tenant.policy.detached",
1864
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1865
+ )
1866
+ TENANT_PRINCIPAL_AUTHENTICATION_POLICY_RESOLVED =
1867
+ T.let(
1868
+ :"tenant.principal_authentication_policy.resolved",
1869
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1870
+ )
1871
+ TENANT_SCIM_SETUP_STARTED =
1872
+ T.let(
1873
+ :"tenant.scim.setup.started",
1874
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1875
+ )
1876
+ TENANT_SCIM_DELETION_REQUESTED =
1877
+ T.let(
1878
+ :"tenant.scim.deletion.requested",
1879
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1880
+ )
1881
+ TENANT_SCIM_DIRECTORY_CREATED =
1882
+ T.let(
1883
+ :"tenant.scim.directory.created",
1884
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1885
+ )
1886
+ TENANT_PRODUCT_ACCESS_POLICY_UPDATED =
1887
+ T.let(
1888
+ :"tenant.product_access_policy.updated",
1889
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1890
+ )
1891
+ TENANT_RESOURCE_SHARE_GRANT_CREATED =
1892
+ T.let(
1893
+ :"tenant.resource_share_grant.created",
1894
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1895
+ )
1896
+ TENANT_RESOURCE_SHARE_GRANT_UPDATED =
1897
+ T.let(
1898
+ :"tenant.resource_share_grant.updated",
1899
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1900
+ )
1901
+ TENANT_RESOURCE_SHARE_GRANT_ACCEPTED =
1902
+ T.let(
1903
+ :"tenant.resource_share_grant.accepted",
1904
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1905
+ )
1906
+ TENANT_RESOURCE_SHARE_GRANT_DECLINED =
1907
+ T.let(
1908
+ :"tenant.resource_share_grant.declined",
1909
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1910
+ )
1911
+ TENANT_RESOURCE_SHARE_GRANT_REVOKED =
1912
+ T.let(
1913
+ :"tenant.resource_share_grant.revoked",
1914
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1915
+ )
1916
+ TENANT_RESOURCE_SHARE_GRANT_DELETED =
1917
+ T.let(
1918
+ :"tenant.resource_share_grant.deleted",
1919
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1920
+ )
1921
+ TENANT_SERVICE_ACCOUNT_UPDATED =
1922
+ T.let(
1923
+ :"tenant.service_account.updated",
1924
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1925
+ )
1926
+ TENANT_SERVICE_ACCOUNT_DELETED =
1927
+ T.let(
1928
+ :"tenant.service_account.deleted",
1929
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1930
+ )
1931
+ TENANT_SERVICE_ACCOUNT_TOKEN_REVOKED =
1932
+ T.let(
1933
+ :"tenant.service_account.token.revoked",
1934
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1935
+ )
1936
+ TENANT_BILLING_OVERAGE_LIMIT_UPDATED =
1937
+ T.let(
1938
+ :"tenant.billing.overage_limit.updated",
1939
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1940
+ )
1941
+ TENANT_BILLING_ALERTS_UPDATED =
1942
+ T.let(
1943
+ :"tenant.billing.alerts.updated",
1944
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1945
+ )
1946
+ TENANT_BILLING_INFO_UPDATED =
1947
+ T.let(
1948
+ :"tenant.billing.info.updated",
1949
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1950
+ )
1951
+ TENANT_USAGE_LIMIT_WORKSPACE_UPDATED =
1952
+ T.let(
1953
+ :"tenant.usage_limit.workspace.updated",
1954
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1955
+ )
1956
+ TENANT_USAGE_LIMIT_GROUP_UPDATED =
1957
+ T.let(
1958
+ :"tenant.usage_limit.group.updated",
1959
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1960
+ )
1961
+ TENANT_USAGE_LIMIT_USER_UPDATED =
1962
+ T.let(
1963
+ :"tenant.usage_limit.user.updated",
1964
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1965
+ )
1966
+ TENANT_USAGE_LIMIT_INCREASE_REQUEST_UPDATED =
1967
+ T.let(
1968
+ :"tenant.usage_limit.increase_request.updated",
1969
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1970
+ )
1971
+ TENANT_USAGE_LIMIT_INCREASE_REQUEST_RESOLVED =
1972
+ T.let(
1973
+ :"tenant.usage_limit.increase_request.resolved",
1974
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1975
+ )
1976
+ TENANT_GROUP_CREATED =
1977
+ T.let(
1978
+ :"tenant.group.created",
1979
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1980
+ )
1981
+ TENANT_GROUP_UPDATED =
1982
+ T.let(
1983
+ :"tenant.group.updated",
1984
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1985
+ )
1986
+ TENANT_GROUP_DELETED =
1987
+ T.let(
1988
+ :"tenant.group.deleted",
1989
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1990
+ )
1991
+ TENANT_GROUP_MEMBER_ADDED =
1992
+ T.let(
1993
+ :"tenant.group.member.added",
1994
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
1995
+ )
1996
+ TENANT_GROUP_MEMBER_REMOVED =
1997
+ T.let(
1998
+ :"tenant.group.member.removed",
1999
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2000
+ )
2001
+ TENANT_MIGRATION_ROLLOUT_STATUS_UPDATED =
2002
+ T.let(
2003
+ :"tenant.migration_rollout.status.updated",
2004
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2005
+ )
2006
+ TENANT_MIGRATION_ROLLOUT_TIER_UPDATED =
2007
+ T.let(
2008
+ :"tenant.migration_rollout.tier.updated",
2009
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2010
+ )
2011
+ TENANT_ROLE_METADATA_UPDATED =
2012
+ T.let(
2013
+ :"tenant.role.metadata.updated",
2014
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2015
+ )
2016
+ TENANT_CUSTOM_ROLE_CREATED =
2017
+ T.let(
2018
+ :"tenant.custom_role.created",
2019
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2020
+ )
2021
+ TENANT_CUSTOM_ROLE_UPDATED =
2022
+ T.let(
2023
+ :"tenant.custom_role.updated",
2024
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2025
+ )
2026
+ TENANT_CUSTOM_ROLE_DELETED =
2027
+ T.let(
2028
+ :"tenant.custom_role.deleted",
2029
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2030
+ )
2031
+ TENANT_ROLE_ASSIGNMENT_CREATED =
2032
+ T.let(
2033
+ :"tenant.role_assignment.created",
2034
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2035
+ )
2036
+ TENANT_ROLE_ASSIGNMENT_DELETED =
2037
+ T.let(
2038
+ :"tenant.role_assignment.deleted",
2039
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2040
+ )
2041
+ TENANT_RESOURCE_ROLE_ASSIGNMENT_CREATED =
2042
+ T.let(
2043
+ :"tenant.resource_role_assignment.created",
2044
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2045
+ )
2046
+ TENANT_RESOURCE_ROLE_ASSIGNMENT_DELETED =
2047
+ T.let(
2048
+ :"tenant.resource_role_assignment.deleted",
2049
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2050
+ )
2051
+ TENANT_RESOURCE_ACCESS_UPDATED =
2052
+ T.let(
2053
+ :"tenant.resource_access.updated",
2054
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2055
+ )
2056
+ TENANT_RESOURCE_ACCESS_DELETED =
2057
+ T.let(
2058
+ :"tenant.resource_access.deleted",
2059
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2060
+ )
2061
+ TENANT_SESSION_POLICY_CREATED =
2062
+ T.let(
2063
+ :"tenant.session_policy.created",
2064
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2065
+ )
2066
+ TENANT_SESSION_POLICY_UPDATED =
2067
+ T.let(
2068
+ :"tenant.session_policy.updated",
2069
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2070
+ )
2071
+ TENANT_SESSION_POLICY_DELETED =
2072
+ T.let(
2073
+ :"tenant.session_policy.deleted",
2074
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2075
+ )
2076
+ TENANT_SESSION_REVOCATION_STARTED =
2077
+ T.let(
2078
+ :"tenant.session_revocation.started",
2079
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2080
+ )
2081
+ TENANT_THIRD_PARTY_APP_POLICY_UPDATED =
2082
+ T.let(
2083
+ :"tenant.third_party_app_policy.updated",
2084
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2085
+ )
2086
+ TENANT_USER_ADDED =
2087
+ T.let(
2088
+ :"tenant.user.added",
2089
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2090
+ )
2091
+ TENANT_USER_UPDATED =
2092
+ T.let(
2093
+ :"tenant.user.updated",
2094
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2095
+ )
2096
+ TENANT_USER_REMOVED =
2097
+ T.let(
2098
+ :"tenant.user.removed",
2099
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2100
+ )
2101
+ TENANT_USER_LOOKED_UP =
2102
+ T.let(
2103
+ :"tenant.user.looked_up",
2104
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2105
+ )
2106
+ TENANT_USER_INVITED =
2107
+ T.let(
2108
+ :"tenant.user.invited",
2109
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2110
+ )
2111
+ TENANT_MEMBERSHIP_REVOKED =
2112
+ T.let(
2113
+ :"tenant.membership.revoked",
2114
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2115
+ )
2116
+ TENANT_API_ORGANIZATION_INVITE_UPSERTED =
2117
+ T.let(
2118
+ :"tenant.api_organization_invite.upserted",
2119
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2120
+ )
2121
+ TENANT_API_ORGANIZATION_INVITE_DELETED =
2122
+ T.let(
2123
+ :"tenant.api_organization_invite.deleted",
2124
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2125
+ )
2126
+ TENANT_CHATGPT_WORKSPACE_INVITE_UPSERTED =
2127
+ T.let(
2128
+ :"tenant.chatgpt_workspace_invite.upserted",
2129
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2130
+ )
2131
+ TENANT_MEMBERSHIP_ACCEPTED =
2132
+ T.let(
2133
+ :"tenant.membership.accepted",
2134
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2135
+ )
2136
+ TENANT_MEMBERSHIP_DECLINED =
2137
+ T.let(
2138
+ :"tenant.membership.declined",
2139
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2140
+ )
2141
+ TENANT_WORKSPACE_INVITE_EMAIL_SETTINGS_UPDATED =
2142
+ T.let(
2143
+ :"tenant.workspace_invite_email_settings.updated",
2144
+ OpenAI::Models::Admin::Organization::AuditLogListResponse::Type::TaggedSymbol
2145
+ )
1726
2146
 
1727
2147
  sig do
1728
2148
  override.returns(
@@ -32,7 +32,7 @@ module OpenAI
32
32
  sig { returns(Symbol) }
33
33
  attr_accessor :object
34
34
 
35
- # `owner` or `member`
35
+ # `owner`, `member`, or `none`
36
36
  sig do
37
37
  returns(
38
38
  OpenAI::Admin::Organization::Projects::ProjectServiceAccount::Role::TaggedSymbol
@@ -58,7 +58,7 @@ module OpenAI
58
58
  created_at:,
59
59
  # The name of the service account
60
60
  name:,
61
- # `owner` or `member`
61
+ # `owner`, `member`, or `none`
62
62
  role:,
63
63
  # The object type, which is always `organization.project.service_account`
64
64
  object: :"organization.project.service_account"
@@ -80,7 +80,7 @@ module OpenAI
80
80
  def to_hash
81
81
  end
82
82
 
83
- # `owner` or `member`
83
+ # `owner`, `member`, or `none`
84
84
  module Role
85
85
  extend OpenAI::Internal::Type::Enum
86
86
 
@@ -103,6 +103,11 @@ module OpenAI
103
103
  :member,
104
104
  OpenAI::Admin::Organization::Projects::ProjectServiceAccount::Role::TaggedSymbol
105
105
  )
106
+ NONE =
107
+ T.let(
108
+ :none,
109
+ OpenAI::Admin::Organization::Projects::ProjectServiceAccount::Role::TaggedSymbol
110
+ )
106
111
 
107
112
  sig do
108
113
  override.returns(
@@ -24,10 +24,15 @@ module OpenAI
24
24
  sig { returns(String) }
25
25
  attr_accessor :name
26
26
 
27
+ # Create the service account without default roles or an API key.
28
+ sig { returns(T.nilable(T::Boolean)) }
29
+ attr_accessor :create_service_account_only
30
+
27
31
  sig do
28
32
  params(
29
33
  project_id: String,
30
34
  name: String,
35
+ create_service_account_only: T.nilable(T::Boolean),
31
36
  request_options: OpenAI::RequestOptions::OrHash
32
37
  ).returns(T.attached_class)
33
38
  end
@@ -35,6 +40,8 @@ module OpenAI
35
40
  project_id:,
36
41
  # The name of the service account being created.
37
42
  name:,
43
+ # Create the service account without default roles or an API key.
44
+ create_service_account_only: nil,
38
45
  request_options: {}
39
46
  )
40
47
  end
@@ -44,6 +51,7 @@ module OpenAI
44
51
  {
45
52
  project_id: String,
46
53
  name: String,
54
+ create_service_account_only: T.nilable(T::Boolean),
47
55
  request_options: OpenAI::RequestOptions
48
56
  }
49
57
  )
@@ -45,8 +45,13 @@ module OpenAI
45
45
  sig { returns(Symbol) }
46
46
  attr_accessor :object
47
47
 
48
- # Service accounts can only have one role of type `member`
49
- sig { returns(Symbol) }
48
+ # Service accounts created with default project membership have role `member`.
49
+ # Accounts created with `create_service_account_only` have role `none`.
50
+ sig do
51
+ returns(
52
+ OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::Role::TaggedSymbol
53
+ )
54
+ end
50
55
  attr_accessor :role
51
56
 
52
57
  sig do
@@ -58,8 +63,9 @@ module OpenAI
58
63
  ),
59
64
  created_at: Integer,
60
65
  name: String,
61
- object: Symbol,
62
- role: Symbol
66
+ role:
67
+ OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::Role::OrSymbol,
68
+ object: Symbol
63
69
  ).returns(T.attached_class)
64
70
  end
65
71
  def self.new(
@@ -67,9 +73,10 @@ module OpenAI
67
73
  api_key:,
68
74
  created_at:,
69
75
  name:,
70
- object: :"organization.project.service_account",
71
- # Service accounts can only have one role of type `member`
72
- role: :member
76
+ # Service accounts created with default project membership have role `member`.
77
+ # Accounts created with `create_service_account_only` have role `none`.
78
+ role:,
79
+ object: :"organization.project.service_account"
73
80
  )
74
81
  end
75
82
 
@@ -84,7 +91,8 @@ module OpenAI
84
91
  created_at: Integer,
85
92
  name: String,
86
93
  object: Symbol,
87
- role: Symbol
94
+ role:
95
+ OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::Role::TaggedSymbol
88
96
  }
89
97
  )
90
98
  end
@@ -149,6 +157,42 @@ module OpenAI
149
157
  def to_hash
150
158
  end
151
159
  end
160
+
161
+ # Service accounts created with default project membership have role `member`.
162
+ # Accounts created with `create_service_account_only` have role `none`.
163
+ module Role
164
+ extend OpenAI::Internal::Type::Enum
165
+
166
+ TaggedSymbol =
167
+ T.type_alias do
168
+ T.all(
169
+ Symbol,
170
+ OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::Role
171
+ )
172
+ end
173
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
174
+
175
+ MEMBER =
176
+ T.let(
177
+ :member,
178
+ OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::Role::TaggedSymbol
179
+ )
180
+ NONE =
181
+ T.let(
182
+ :none,
183
+ OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::Role::TaggedSymbol
184
+ )
185
+
186
+ sig do
187
+ override.returns(
188
+ T::Array[
189
+ OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::Role::TaggedSymbol
190
+ ]
191
+ )
192
+ end
193
+ def self.values
194
+ end
195
+ end
152
196
  end
153
197
  end
154
198
  end
@@ -0,0 +1,84 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ module ServiceAccounts
9
+ class APIKeyCreateParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ OrHash =
14
+ T.type_alias do
15
+ T.any(
16
+ OpenAI::Admin::Organization::Projects::ServiceAccounts::APIKeyCreateParams,
17
+ OpenAI::Internal::AnyHash
18
+ )
19
+ end
20
+
21
+ # The ID of the project.
22
+ sig { returns(String) }
23
+ attr_accessor :project_id
24
+
25
+ # The ID of the service account.
26
+ sig { returns(String) }
27
+ attr_accessor :service_account_id
28
+
29
+ # API key name.
30
+ sig { returns(T.nilable(String)) }
31
+ attr_reader :name
32
+
33
+ sig { params(name: String).void }
34
+ attr_writer :name
35
+
36
+ # API key scopes.
37
+ sig { returns(T.nilable(T::Array[String])) }
38
+ attr_reader :scopes
39
+
40
+ sig { params(scopes: T::Array[String]).void }
41
+ attr_writer :scopes
42
+
43
+ sig do
44
+ params(
45
+ project_id: String,
46
+ service_account_id: String,
47
+ name: String,
48
+ scopes: T::Array[String],
49
+ request_options: OpenAI::RequestOptions::OrHash
50
+ ).returns(T.attached_class)
51
+ end
52
+ def self.new(
53
+ # The ID of the project.
54
+ project_id:,
55
+ # The ID of the service account.
56
+ service_account_id:,
57
+ # API key name.
58
+ name: nil,
59
+ # API key scopes.
60
+ scopes: nil,
61
+ request_options: {}
62
+ )
63
+ end
64
+
65
+ sig do
66
+ override.returns(
67
+ {
68
+ project_id: String,
69
+ service_account_id: String,
70
+ name: String,
71
+ scopes: T::Array[String],
72
+ request_options: OpenAI::RequestOptions
73
+ }
74
+ )
75
+ end
76
+ def to_hash
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end