lib/oci/core/virtual_network_client.rb
# Creates a new internet gateway for the specified VCN. For more information, see
# [Access to the Internet](https://docs.cloud.oracle.com/iaas/Content/Network/Tasks/managingIGs.htm).
#
# For the purposes of access control, you must provide the OCID of the compartment where you want the Internet
# Gateway to reside. Notice that the internet gateway doesn't have to be in the same compartment as the VCN or
# other Networking Service components. If you're not sure which compartment to use, put the Internet
# Gateway in the same compartment with the VCN. For more information about compartments and access control, see
# [Overview of the IAM Service](https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see
# [Resource Identifiers](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
#
# You may optionally specify a *display name* for the internet gateway, otherwise a default is provided. It
# does not have to be unique, and you can change it. Avoid entering confidential information.
#
# For traffic to flow between a subnet and an internet gateway, you must create a route rule accordingly in
# the subnet's route table (for example, 0.0.0.0/0 > internet gateway). See
# {#update_route_table update_route_table}.
#
# You must specify whether the internet gateway is enabled when you create it. If it's disabled, that means no
# traffic will flow to/from the internet even if there's a route rule that enables that traffic. You can later
# use {#update_internet_gateway update_internet_gateway} to easily disable/enable
# the gateway without changing the route rule.
#
# @param [OCI::Core::Models::CreateInternetGatewayDetails] create_internet_gateway_details Details for creating a new internet gateway.
# @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::InternetGateway InternetGateway}
# @note Click [here](https://docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/core/create_internet_gateway.rb.html) to see an example of how to use create_internet_gateway API.
Creates a new internet gateway for the specified VCN. For more information, see
[Access to the Internet].

For the purposes of access control, you must provide the OCID of the compartment where you want the Internet
Gateway to reside. Notice that the internet gateway doesn't have to be in the same compartment as the VCN or
other Networking Service components. If you're not sure which compartment to use, put the Internet
Gateway in the same compartment with 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 specify a *display name* for the internet gateway, otherwise a default is provided. It
does not have to be unique, and you can change it. Avoid entering confidential information.

For traffic to flow between a subnet and an internet gateway, you must create a route rule accordingly in
the subnet's route table (for example, 0.0.0.0/0 > internet gateway).

You must specify whether the internet gateway is enabled when you create it. If it's disabled, that means no
traffic will flow to/from the internet even if there's a route rule that enables that traffic. You can later
use {#update_internet_gateway update_internet_gateway} to easily disable/enable
the gateway without changing the route rule.
Creates a new internet gateway for the specified VCN . For more information see [ Access to the Internet ] . For the purposes of access control you must provide the OCID of the compartment where you want the Internet Gateway to reside . Notice that the internet gateway doesn ' t have to be in the same compartment as the VCN or other Networking Service components . If you ' re not sure which compartment to use put the Internet Gateway in the same compartment with 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 specify a * display name * for the internet gateway otherwise a default is provided . It does not have to be unique and you can change it . Avoid entering confidential information . For traffic to flow between a subnet and an internet gateway you must create a route rule accordingly in the subnet ' s route table ( for example 0 . 0 . 0 . 0 / 0 > internet gateway ) . You must specify whether the internet gateway is enabled when you create it . If it ' s disabled that means no traffic will flow to / from the internet even if there ' s a route rule that enables that traffic . You can later use { #update_internet_gateway update_internet_gateway } to easily disable / enable the gateway without changing the route rule .
def create_internet_gateway(create_internet_gateway_details, opts = {})
      logger.debug 'Calling operation VirtualNetworkClient#create_internet_gateway.' if logger
      raise "Missing the required parameter 'create_internet_gateway_details' when calling create_internet_gateway." if create_internet_gateway_details.nil?
      path = '/internetGateways'
      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_internet_gateway_details)
      OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'VirtualNetworkClient#create_internet_gateway') 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::InternetGateway'
        )
      end
    end
def create_internet_gateway ( create_internet_gateway_details , opts = { } ) logger . debug 'Calling operation VirtualNetworkClient#create_internet_gateway.' if logger raise "Missing the required parameter 'create_internet_gateway_details' when calling create_internet_gateway." if create_internet_gateway_details . nil? path = '/internetGateways' 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_internet_gateway_details ) OCI :: Retry . make_retrying_call ( applicable_retry_config ( opts ) , call_name : 'VirtualNetworkClient#create_internet_gateway' ) 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::InternetGateway' ) end end
Creates a new internet gateway for the specified VCN.
Creates a new internet gateway for 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::InternetGateway InternetGateway}
A Response object with data of type { OCI :: Core :: Models :: InternetGateway InternetGateway }
Response
create_internet_gateway_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
note
Click [here] to see an example of how to use create_internet_gateway API.
Click [ here ] to see an example of how to use create_internet_gateway API .