lib/oci/identity/identity_client.rb
# Creates a new user in your tenancy. For conceptual information about users, your tenancy, and other
# IAM Service components, see [Overview of the IAM Service](https://docs.cloud.oracle.com/Content/Identity/Concepts/overview.htm).
#
# You must specify your tenancy's OCID as the compartment ID in the request object (remember that the
# tenancy is simply the root compartment). Notice that IAM resources (users, groups, compartments, and
# some policies) reside within the tenancy itself, unlike cloud resources such as compute instances,
# which typically reside within compartments inside the tenancy. For information about OCIDs, see
# [Resource Identifiers](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
#
# You must also specify a *name* for the user, which must be unique across all users in your tenancy
# and cannot be changed. Allowed characters: No spaces. Only letters, numerals, hyphens, periods,
# underscores, +, and @. If you specify a name that's already in use, you'll get a 409 error.
# This name will be the user's login to the Console. You might want to pick a
# name that your company's own identity system (e.g., Active Directory, LDAP, etc.) already uses.
# If you delete a user and then create a new user with the same name, they'll be considered different
# users because they have different OCIDs.
#
# You must also specify a *description* for the user (although it can be an empty string).
# It does not have to be unique, and you can change it anytime with
# {#update_user update_user}. You can use the field to provide the user's
# full name, a description, a nickname, or other information to generally identify the user.
#
# 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.
#
# A new user has no permissions until you place the user in one or more groups (see
# {#add_user_to_group add_user_to_group}). If the user needs to
# access the Console, you need to provide the user a password (see
# {#create_or_reset_ui_password create_or_reset_ui_password}).
# If the user needs to access the Oracle Cloud Infrastructure REST API, you need to upload a
# public API signing key for that user (see
# [Required Keys and OCIDs](https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm) and also
# {#upload_api_key upload_api_key}).
#
# **Important:** Make sure to inform the new user which compartment(s) they have access to.
#
# @param [OCI::Identity::Models::CreateUserDetails] create_user_details Request object for creating a new 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::User User}
Creates a new user in your tenancy. For conceptual information about users, your tenancy, and other
IAM Service components, see [Overview of the IAM Service].

You must specify your tenancy's OCID as the compartment ID in the request object (remember that the
tenancy is simply the root compartment). Notice that IAM resources (users, groups, compartments, and
some policies) reside within the tenancy itself, unlike cloud resources such as compute instances,
which typically reside within compartments inside the tenancy. For information about OCIDs, see
[Resource Identifiers].

You must also specify a *name* for the user, which must be unique across all users in your tenancy
and cannot be changed. Allowed characters: No spaces. Only letters, numerals, hyphens, periods,
underscores, +, and @. If you specify a name that's already in use, you'll get a 409 error.
This name will be the user's login to the Console. You might want to pick a
name that your company's own identity system  already uses.
If you delete a user and then create a new user with the same name, they'll be considered different
users because they have different OCIDs.

You must also specify a *description* for the user (although it can be an empty string).
It does not have to be unique, and you can change it anytime with
{#update_user update_user}. You can use the field to provide the user's
full name, a description, a nickname, or other information to generally identify the user.

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.

A new user has no permissions until you place the user in one or more groups (see
{#add_user_to_group add_user_to_group}). If the user needs to
access the Console, you need to provide the user a password (see
{#create_or_reset_ui_password create_or_reset_ui_password}).
If the user needs to access the Oracle Cloud Infrastructure REST API, you need to upload a
public API signing key for that user (see
[Required Keys and OCIDs] and also
{#upload_api_key upload_api_key}).

Make sure to inform the new user which compartment(s) they have access to.
Creates a new user in your tenancy . For conceptual information about users your tenancy and other IAM Service components see [ Overview of the IAM Service ] . You must specify your tenancy ' s OCID as the compartment ID in the request object ( remember that the tenancy is simply the root compartment ) . Notice that IAM resources ( users groups compartments and some policies ) reside within the tenancy itself unlike cloud resources such as compute instances which typically reside within compartments inside the tenancy . For information about OCIDs see [ Resource Identifiers ] . You must also specify a * name * for the user which must be unique across all users in your tenancy and cannot be changed . Allowed characters : No spaces . Only letters numerals hyphens periods underscores + and @ . If you specify a name that ' s already in use you ' ll get a 409 error . This name will be the user ' s login to the Console . You might want to pick a name that your company ' s own identity system already uses . If you delete a user and then create a new user with the same name they ' ll be considered different users because they have different OCIDs . You must also specify a * description * for the user ( although it can be an empty string ) . It does not have to be unique and you can change it anytime with { #update_user update_user } . You can use the field to provide the user ' s full name a description a nickname or other information to generally identify the user . 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 . A new user has no permissions until you place the user in one or more groups ( see { #add_user_to_group add_user_to_group } ) . If the user needs to access the Console you need to provide the user a password ( see { #create_or_reset_ui_password create_or_reset_ui_password } ) . If the user needs to access the Oracle Cloud Infrastructure REST API you need to upload a public API signing key for that user ( see [ Required Keys and OCIDs ] and also { #upload_api_key upload_api_key } ) . Make sure to inform the new user which compartment ( s ) they have access to .
def create_user(create_user_details, opts = {})
      logger.debug 'Calling operation IdentityClient#create_user.' if logger
      raise "Missing the required parameter 'create_user_details' when calling create_user." if create_user_details.nil?
      path = '/users/'
      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_user_details)
      OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'IdentityClient#create_user') 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::User'
        )
      end
    end
def create_user ( create_user_details , opts = { } ) logger . debug 'Calling operation IdentityClient#create_user.' if logger raise "Missing the required parameter 'create_user_details' when calling create_user." if create_user_details . nil? path = '/users/' 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_user_details ) OCI :: Retry . make_retrying_call ( applicable_retry_config ( opts ) , call_name : 'IdentityClient#create_user' ) 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::User' ) end end
Creates a new user in your tenancy.
Creates a new user in your tenancy .
# 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::User User}
A Response object with data of type { OCI :: Identity :: Models :: User User }
Response
create_user_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