Class: OpenAI::Resources::Admin::Organization::Projects::ServiceAccounts
- Inherits:
-
Object
- Object
- OpenAI::Resources::Admin::Organization::Projects::ServiceAccounts
- Defined in:
- lib/openai/resources/admin/organization/projects/service_accounts.rb,
lib/openai/resources/admin/organization/projects/service_accounts/api_keys.rb,
sig/openai/resources/admin/organization/projects/service_accounts.rbs,
sig/openai/resources/admin/organization/projects/service_accounts/api_keys.rbs
Defined Under Namespace
Classes: APIKeys
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#create(project_id, name:, create_service_account_only: nil, expires_in_seconds: nil, request_options: {}) ⇒ OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse
Creates a new service account in the project.
-
#delete(service_account_id, project_id:, request_options: {}) ⇒ OpenAI::Models::Admin::Organization::Projects::ServiceAccountDeleteResponse
Deletes a service account from the project.
-
#initialize(client:) ⇒ ServiceAccounts
constructor
private
A new instance of ServiceAccounts.
-
#list(project_id, after: nil, limit: nil, request_options: {}) ⇒ OpenAI::Internal::ConversationCursorPage<OpenAI::Models::Admin::Organization::Projects::ProjectServiceAccount>
Returns a list of service accounts in the project.
-
#retrieve(service_account_id, project_id:, request_options: {}) ⇒ OpenAI::Models::Admin::Organization::Projects::ProjectServiceAccount
Retrieves a service account in the project.
-
#update(service_account_id, project_id:, name: nil, role: nil, request_options: {}) ⇒ OpenAI::Models::Admin::Organization::Projects::ProjectServiceAccount
Updates a service account in the project.
Constructor Details
#initialize(client:) ⇒ ServiceAccounts
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of ServiceAccounts.
189 190 191 192 |
# File 'lib/openai/resources/admin/organization/projects/service_accounts.rb', line 189 def initialize(client:) @client = client @api_keys = OpenAI::Resources::Admin::Organization::Projects::ServiceAccounts::APIKeys.new(client: client) end |
Instance Attribute Details
#api_keys ⇒ OpenAI::Resources::Admin::Organization::Projects::ServiceAccounts::APIKeys (readonly)
10 11 12 |
# File 'lib/openai/resources/admin/organization/projects/service_accounts.rb', line 10 def api_keys @api_keys end |
Instance Method Details
#create(project_id, name:, create_service_account_only: nil, expires_in_seconds: nil, request_options: {}) ⇒ OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse
Creates a new service account in the project. By default, this also returns an unredacted API key for the service account.
38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/openai/resources/admin/organization/projects/service_accounts.rb', line 38 def create(project_id, params) parsed, = OpenAI::Admin::Organization::Projects::ServiceAccountCreateParams.dump_request(params) @client.request( method: :post, path: ["organization/projects/%1$s/service_accounts", project_id], body: parsed, model: OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse, security: {admin_api_key_auth: true}, options: ) end |
#delete(service_account_id, project_id:, request_options: {}) ⇒ OpenAI::Models::Admin::Organization::Projects::ServiceAccountDeleteResponse
Deletes a service account from the project.
Returns confirmation of service account deletion, or an error if the project is archived (archived projects have no service accounts).
171 172 173 174 175 176 177 178 179 180 181 182 183 184 |
# File 'lib/openai/resources/admin/organization/projects/service_accounts.rb', line 171 def delete(service_account_id, params) parsed, = OpenAI::Admin::Organization::Projects::ServiceAccountDeleteParams.dump_request(params) project_id = parsed.delete(:project_id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :delete, path: ["organization/projects/%1$s/service_accounts/%2$s", project_id, service_account_id], model: OpenAI::Models::Admin::Organization::Projects::ServiceAccountDeleteResponse, security: {admin_api_key_auth: true}, options: ) end |
#list(project_id, after: nil, limit: nil, request_options: {}) ⇒ OpenAI::Internal::ConversationCursorPage<OpenAI::Models::Admin::Organization::Projects::ProjectServiceAccount>
Returns a list of service accounts in the project.
139 140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'lib/openai/resources/admin/organization/projects/service_accounts.rb', line 139 def list(project_id, params = {}) parsed, = OpenAI::Admin::Organization::Projects::ServiceAccountListParams.dump_request(params) query = OpenAI::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["organization/projects/%1$s/service_accounts", project_id], query: query, page: OpenAI::Internal::ConversationCursorPage, model: OpenAI::Admin::Organization::Projects::ProjectServiceAccount, security: {admin_api_key_auth: true}, options: ) end |
#retrieve(service_account_id, project_id:, request_options: {}) ⇒ OpenAI::Models::Admin::Organization::Projects::ProjectServiceAccount
Retrieves a service account in the project.
65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/openai/resources/admin/organization/projects/service_accounts.rb', line 65 def retrieve(service_account_id, params) parsed, = OpenAI::Admin::Organization::Projects::ServiceAccountRetrieveParams.dump_request(params) project_id = parsed.delete(:project_id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: ["organization/projects/%1$s/service_accounts/%2$s", project_id, service_account_id], model: OpenAI::Admin::Organization::Projects::ProjectServiceAccount, security: {admin_api_key_auth: true}, options: ) end |
#update(service_account_id, project_id:, name: nil, role: nil, request_options: {}) ⇒ OpenAI::Models::Admin::Organization::Projects::ProjectServiceAccount
Updates a service account in the project.
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/openai/resources/admin/organization/projects/service_accounts.rb', line 101 def update(service_account_id, params) parsed, = OpenAI::Admin::Organization::Projects::ServiceAccountUpdateParams.dump_request(params) project_id = parsed.delete(:project_id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :post, path: ["organization/projects/%1$s/service_accounts/%2$s", project_id, service_account_id], body: parsed, model: OpenAI::Admin::Organization::Projects::ProjectServiceAccount, security: {admin_api_key_auth: true}, options: ) end |