lib/oci/identity/identity_client.rb
# Creates a new compartment in the specified compartment.
#
# **Important:** Compartments cannot be deleted.
#
# Specify the parent compartment's OCID as the compartment ID in the request object. Remember that the tenancy
# is simply the root compartment. 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 compartment, which must be unique across all compartments in
# your tenancy. You can use this name or the OCID when writing policies that apply
# to the compartment. For more information about policies, see
# [How Policies Work](https://docs.cloud.oracle.com/Content/Identity/Concepts/policies.htm).
#
# You must also specify a *description* for the compartment (although it can be an empty string). It does
# not have to be unique, and you can change it anytime with
# {#update_compartment update_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 [OCI::Identity::Models::CreateCompartmentDetails] create_compartment_details Request object for creating a new compartment.
# @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::Compartment Compartment}
Creates a new compartment in the specified compartment.
Important:** Compartments cannot be deleted.

Specify the parent compartment's OCID as the compartment ID in the request object. Remember that the tenancy
is simply the root compartment. For information about OCIDs, see
[Resource Identifiers].

You must also specify a *name* for the compartment, which must be unique across all compartments in
your tenancy. You can use this name or the OCID when writing policies that apply
to the compartment. For more information about policies, see
[How Policies Work].

You must also specify a *description* for the compartment (although it can be an empty string). It does
not have to be unique, and you can change it anytime with
{#update_compartment update_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.
Creates a new compartment in the specified compartment . Important : ** Compartments cannot be deleted . Specify the parent compartment ' s OCID as the compartment ID in the request object . Remember that the tenancy is simply the root compartment . For information about OCIDs see [ Resource Identifiers ] . You must also specify a * name * for the compartment which must be unique across all compartments in your tenancy . You can use this name or the OCID when writing policies that apply to the compartment . For more information about policies see [ How Policies Work ] . You must also specify a * description * for the compartment ( although it can be an empty string ) . It does not have to be unique and you can change it anytime with { #update_compartment update_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 create_compartment(create_compartment_details, opts = {})
      logger.debug 'Calling operation IdentityClient#create_compartment.' if logger
      raise "Missing the required parameter 'create_compartment_details' when calling create_compartment." if create_compartment_details.nil?
      path = '/compartments/'
      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_compartment_details)
      OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'IdentityClient#create_compartment') 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::Compartment'
        )
      end
    end
def create_compartment ( create_compartment_details , opts = { } ) logger . debug 'Calling operation IdentityClient#create_compartment.' if logger raise "Missing the required parameter 'create_compartment_details' when calling create_compartment." if create_compartment_details . nil? path = '/compartments/' 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_compartment_details ) OCI :: Retry . make_retrying_call ( applicable_retry_config ( opts ) , call_name : 'IdentityClient#create_compartment' ) 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::Compartment' ) end end
Creates a new compartment in the specified compartment.
Creates a new compartment in the specified compartment .
# 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::Compartment Compartment}
A Response object with data of type { OCI :: Identity :: Models :: Compartment Compartment }
Response
create_compartment_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