lib/oci/core/virtual_network_client.rb
# Creates a new subnet in the specified VCN. You can't change the size of the subnet after creation,
# so it's important to think about the size of subnets you need before creating them.
# For more information, see [VCNs and Subnets](https://docs.cloud.oracle.com/Content/Network/Tasks/managingVCNs.htm).
# For information on the number of subnets you can have in a VCN, see
# [Service Limits](https://docs.cloud.oracle.com/Content/General/Concepts/servicelimits.htm).
#
# For the purposes of access control, you must provide the OCID of the compartment where you want the subnet
# to reside. Notice that the subnet doesn't have to be in the same compartment as the VCN, route tables, or
# other Networking Service components. If you're not sure which compartment to use, put the subnet in
# the same compartment as the VCN. For more information about compartments and access control, see
# [Overview of the IAM Service](https://docs.cloud.oracle.com/Content/Identity/Concepts/overview.htm). For information about OCIDs,
# see [Resource Identifiers](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
#
# You may optionally associate a route table with the subnet. If you don't, the subnet will use the
# VCN's default route table. For more information about route tables, see
# [Route Tables](https://docs.cloud.oracle.com/Content/Network/Tasks/managingroutetables.htm).
#
# You may optionally associate a security list with the subnet. If you don't, the subnet will use the
# VCN's default security list. For more information about security lists, see
# [Security Lists](https://docs.cloud.oracle.com/Content/Network/Concepts/securitylists.htm).
#
# You may optionally associate a set of DHCP options with the subnet. If you don't, the subnet will use the
# VCN's default set. For more information about DHCP options, see
# [DHCP Options](https://docs.cloud.oracle.com/Content/Network/Tasks/managingDHCP.htm).
#
# You may optionally specify a *display name* for the subnet, otherwise a default is provided.
# It does not have to be unique, and you can change it. Avoid entering confidential information.
#
# You can also add a DNS label for the subnet, which is required if you want the Internet and
# VCN Resolver to resolve hostnames for instances in the subnet. For more information, see
# [DNS in Your Virtual Cloud Network](https://docs.cloud.oracle.com/Content/Network/Concepts/dns.htm).
#
# @param [OCI::Core::Models::CreateSubnetDetails] create_subnet_details Details for creating a subnet.
# @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 (for example, 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::Core::Models::Subnet Subnet}
Creates a new subnet in the specified VCN. You can't change the size of the subnet after creation,
so it's important to think about the size of subnets you need before creating them.
For more information, see [VCNs and Subnets].
For information on the number of subnets you can have in a VCN, see
[Service Limits].

For the purposes of access control, you must provide the OCID of the compartment where you want the subnet
to reside. Notice that the subnet doesn't have to be in the same compartment as the VCN, route tables, or
other Networking Service components. If you're not sure which compartment to use, put the subnet in
the same compartment as the VCN. For more information about compartments and access control, see
[Overview of the IAM Service]. For information about OCIDs,
see [Resource Identifiers].

You may optionally associate a route table with the subnet. If you don't, the subnet will use the
VCN's default route table. For more information about route tables, see
[Route Tables].

You may optionally associate a security list with the subnet. If you don't, the subnet will use the
VCN's default security list. For more information about security lists, see
[Security Lists].

You may optionally associate a set of DHCP options with the subnet. If you don't, the subnet will use the
VCN's default set. For more information about DHCP options, see
[DHCP Options].

You may optionally specify a *display name* for the subnet, otherwise a default is provided.
It does not have to be unique, and you can change it. Avoid entering confidential information.

You can also add a DNS label for the subnet, which is required if you want the Internet and
VCN Resolver to resolve hostnames for instances in the subnet. For more information, see
[DNS in Your Virtual Cloud Network].
Creates a new subnet in the specified VCN . You can ' t change the size of the subnet after creation so it ' s important to think about the size of subnets you need before creating them . For more information see [ VCNs and Subnets ] . For information on the number of subnets you can have in a VCN see [ Service Limits ] . For the purposes of access control you must provide the OCID of the compartment where you want the subnet to reside . Notice that the subnet doesn ' t have to be in the same compartment as the VCN route tables or other Networking Service components . If you ' re not sure which compartment to use put the subnet in the same compartment as the VCN . For more information about compartments and access control see [ Overview of the IAM Service ] . For information about OCIDs see [ Resource Identifiers ] . You may optionally associate a route table with the subnet . If you don ' t the subnet will use the VCN ' s default route table . For more information about route tables see [ Route Tables ] . You may optionally associate a security list with the subnet . If you don ' t the subnet will use the VCN ' s default security list . For more information about security lists see [ Security Lists ] . You may optionally associate a set of DHCP options with the subnet . If you don ' t the subnet will use the VCN ' s default set . For more information about DHCP options see [ DHCP Options ] . You may optionally specify a * display name * for the subnet otherwise a default is provided . It does not have to be unique and you can change it . Avoid entering confidential information . You can also add a DNS label for the subnet which is required if you want the Internet and VCN Resolver to resolve hostnames for instances in the subnet . For more information see [ DNS in Your Virtual Cloud Network ] .
def create_subnet(create_subnet_details, opts = {})
      logger.debug 'Calling operation VirtualNetworkClient#create_subnet.' if logger
      raise "Missing the required parameter 'create_subnet_details' when calling create_subnet." if create_subnet_details.nil?
      path = '/subnets'
      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_subnet_details)
      OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'VirtualNetworkClient#create_subnet') 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::Core::Models::Subnet'
        )
      end
    end
def create_subnet ( create_subnet_details , opts = { } ) logger . debug 'Calling operation VirtualNetworkClient#create_subnet.' if logger raise "Missing the required parameter 'create_subnet_details' when calling create_subnet." if create_subnet_details . nil? path = '/subnets' 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_subnet_details ) OCI :: Retry . make_retrying_call ( applicable_retry_config ( opts ) , call_name : 'VirtualNetworkClient#create_subnet' ) 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::Core::Models::Subnet' ) end end
Creates a new subnet in the specified VCN.
Creates a new subnet in the specified VCN .
# 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::Core::Models::Subnet Subnet}
A Response object with data of type { OCI :: Core :: Models :: Subnet Subnet }
Response
create_subnet_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 (for example, if a resource has been deleted and purged from the system, then a retry of the original creation request may be rejected).
: 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 ( for example if a resource has been deleted and purged from the system then a retry of the original creation request may be rejected ) .
<not_specific>
opts the optional parameters
opts the optional parameters