lib/oci/identity/identity_client.rb
# Uploads an API signing key for the specified user.
#
# Every user has permission to use this operation to upload a key for *their own user ID*. An
# administrator in your organization does not need to write a policy to give users this ability.
# To compare, administrators who have permission to the tenancy can use this operation to upload a
# key for any user, including themselves.
#
# **Important:** Even though you have permission to upload an API key, you might not yet
# have permission to do much else. If you try calling an operation unrelated to your own credential
# management (e.g., `ListUsers`, `LaunchInstance`) and receive an \"unauthorized\" error,
# check with an administrator to confirm which IAM Service group(s) you're in and what access
# you have. Also confirm you're working in the correct compartment.
#
# After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using
# the object, first make sure its `lifecycleState` has changed to ACTIVE.
#
# @param [String] user_id The OCID of the user.
# @param [OCI::Identity::Models::CreateApiKeyDetails] create_api_key_details Request object for uploading an API key for a user.
# @param [Hash] opts the optional parameters
# @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
#   retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
# @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
#   server error without risk of executing that same action again. Retry tokens expire after 24
#   hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
#   has been deleted and purged from the system, then a retry of the original creation request
#   may be rejected).
#
# @return [Response] A Response object with data of type {OCI::Identity::Models::ApiKey ApiKey}
Uploads an API signing key for the specified user.
Every user has permission to use this operation to upload a key for *their own user ID*. An
administrator in your organization does not need to write a policy to give users this ability.
To compare, administrators who have permission to the tenancy can use this operation to upload a
key for any user, including themselves.

Even though you have permission to upload an API key, you might not yet
have permission to do much else. If you try calling an operation unrelated to your own credential
management  and receive an \"unauthorized\" error,
check with an administrator to confirm which IAM Service group(s) you're in and what access
you have. Also confirm you're working in the correct compartment.

After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using
the object, first make sure its `lifecycleState` has changed to ACTIVE.
Uploads an API signing key for the specified user . Every user has permission to use this operation to upload a key for * their own user ID * . An administrator in your organization does not need to write a policy to give users this ability . To compare administrators who have permission to the tenancy can use this operation to upload a key for any user including themselves . Even though you have permission to upload an API key you might not yet have permission to do much else . If you try calling an operation unrelated to your own credential management and receive an \ " unauthorized \ " error check with an administrator to confirm which IAM Service group ( s ) you ' re in and what access you have . Also confirm you ' re working in the correct compartment . After you send your request the new object ' s ` lifecycleState ` will temporarily be CREATING . Before using the object first make sure its ` lifecycleState ` has changed to ACTIVE .
def upload_api_key(user_id, create_api_key_details, opts = {})
      logger.debug 'Calling operation IdentityClient#upload_api_key.' if logger
      raise "Missing the required parameter 'user_id' when calling upload_api_key." if user_id.nil?
      raise "Missing the required parameter 'create_api_key_details' when calling upload_api_key." if create_api_key_details.nil?
      raise "Parameter value for 'user_id' must not be blank" if OCI::Internal::Util.blank_string?(user_id)
      path = '/users/{userId}/apiKeys/'.sub('{userId}', user_id.to_s)
      operation_signing_strategy = :standard
      query_params = {}
      header_params = {}
      header_params[:accept] = 'application/json'
      header_params[:'content-type'] = 'application/json'
      header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
      header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token
      post_body = @api_client.object_to_http_body(create_api_key_details)
      OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'IdentityClient#upload_api_key') do
        @api_client.call_api(
          :POST,
          path,
          endpoint,
          header_params: header_params,
          query_params: query_params,
          operation_signing_strategy: operation_signing_strategy,
          body: post_body,
          return_type: 'OCI::Identity::Models::ApiKey'
        )
      end
    end
def upload_api_key ( user_id , create_api_key_details , opts = { } ) logger . debug 'Calling operation IdentityClient#upload_api_key.' if logger raise "Missing the required parameter 'user_id' when calling upload_api_key." if user_id . nil? raise "Missing the required parameter 'create_api_key_details' when calling upload_api_key." if create_api_key_details . nil? raise "Parameter value for 'user_id' must not be blank" if OCI :: Internal :: Util . blank_string? ( user_id ) path = '/users/{userId}/apiKeys/' . sub ( '{userId}' , user_id . to_s ) operation_signing_strategy = :standard query_params = { } header_params = { } header_params [ :accept ] = 'application/json' header_params [ :' content-type ' ] = 'application/json' header_params [ :' opc-retry-token ' ] = opts [ :opc_retry_token ] if opts [ :opc_retry_token ] header_params [ :' opc-retry-token ' ] ||= OCI :: Retry . generate_opc_retry_token post_body = @api_client . object_to_http_body ( create_api_key_details ) OCI :: Retry . make_retrying_call ( applicable_retry_config ( opts ) , call_name : 'IdentityClient#upload_api_key' ) do @api_client . call_api ( :POST , path , endpoint , header_params : header_params , query_params : query_params , operation_signing_strategy : operation_signing_strategy , body : post_body , return_type : 'OCI::Identity::Models::ApiKey' ) end end
Uploads an API signing key for the specified user.
Uploads an API signing key for the specified user .
# rubocop:disable Style/NegatedIf # Query Params # Header Params # rubocop:enable Style/NegatedIf # rubocop:disable Metrics/BlockLength # rubocop:enable Metrics/BlockLength
A Response object with data of type {OCI::Identity::Models::ApiKey ApiKey}
A Response object with data of type { OCI :: Identity :: Models :: ApiKey ApiKey }
Response
user_id
<not_specific>
create_api_key_details
<not_specific>
opts
:opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations .
: opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again . Retry tokens expire after 24 hours but can be invalidated before then due to conflicting operations .
<not_specific>
opts the optional parameters
opts the optional parameters