Skip to main content

service_gateways

Creates, updates, deletes, gets or lists a service_gateways resource.

Overview​

Nameservice_gateways
TypeResource
Idoci.network.service_gateways

Fields​

The following fields are returned by SELECT queries:

The service gateway was retrieved.

NameDatatypeDescription
idstringThe [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the service gateway.
blockTrafficbooleanWhether the service gateway blocks all traffic through it. The default is false. When this is true, traffic is not routed to any services, regardless of route rules. Example: true
compartmentIdstringThe [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the compartment that contains the service gateway.
definedTagsobjectDefined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Operations": {"CostCenter": "42"}}
displayNamestringA user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
freeformTagsobjectFree-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Department": "Finance"}
lifecycleStatestringThe service gateway's current state. (PROVISIONING, AVAILABLE, TERMINATING, TERMINATED)
routeTableIdstringThe [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the route table the service gateway is using. For information about why you would associate a route table with a service gateway, see [Transit Routing: Private Access to Oracle Services](/iaas/Content/Network/Tasks/transitroutingoracleservices.htm).
servicesarrayList of the [Service](#/en/iaas/latest/Service/) objects enabled for this service gateway. The list can be empty. You can enable a particular Service by using [AttachServiceId](#/en/iaas/latest/ServiceGateway/AttachServiceId) or [UpdateServiceGateway](#/en/iaas/latest/ServiceGateway/UpdateServiceGateway).
timeCreatedstring (date-time)The date and time the service gateway was created, in the format defined by [RFC3339](https:​//tools.ietf.org/html/rfc3339). Example: 2016-08-25T21:10:29.600Z
vcnIdstringThe [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the VCN the service gateway belongs to.

Methods​

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectserviceGatewayId, regionGets the specified service gateway's information.
listselectcompartmentId, regionvcnId, limit, page, sortBy, sortOrder, lifecycleStateLists the service gateways in the specified compartment. You may optionally specify a VCN OCID<br />to filter the results by VCN.<br />
attachinsertserviceGatewayId, region, serviceIdif-matchAdds the specified [Service](#/en/iaas/latest/Service/) to the list of enabled<br />Service objects for the specified gateway. You must also set up a route rule with the<br />cidrBlock of the Service as the rule's destination and the service gateway as the rule's<br />target. See [Route Table](#/en/iaas/latest/RouteTable/).<br /><br />Note: The AttachServiceId operation is an easy way to add an individual Service to<br />the service gateway. Compare it with<br />[UpdateServiceGateway](#/en/iaas/latest/ServiceGateway/UpdateServiceGateway), which replaces<br />the entire existing list of enabled Service objects with the list that you provide in the<br />Update call.<br />
createinsertregion, compartmentId, vcnId, servicesopc-retry-tokenCreates a new service gateway in the specified compartment.<br /><br />For the purposes of access control, you must provide the [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want<br />the service gateway to reside. For more information about compartments and access control, see<br />[Overview of the IAM Service](/iaas/Content/Identity/Concepts/overview.htm).<br />For information about OCIDs, see [Resource Identifiers](/iaas/Content/General/Concepts/identifiers.htm).<br /><br />You may optionally specify a display name for the service gateway, otherwise a default is provided.<br />It does not have to be unique, and you can change it. Avoid entering confidential information.<br /><br />Use the [ListServices](#/en/iaas/latest/Service/ListServices) operation to find service CIDR labels<br />available in the region.<br />
updateupdateserviceGatewayId, regionif-matchUpdates the specified service gateway. The information you provide overwrites the existing<br />attributes of the gateway.<br />
deletedeleteserviceGatewayId, regionif-matchDeletes the specified service gateway. There must not be a route table that lists the service<br />gateway as a target.<br />
change_compartmentexecserviceGatewayId, region, compartmentIdopc-request-id, opc-retry-tokenMoves a service gateway into a different compartment within the same tenancy. For information<br />about moving resources between compartments, see<br />[Moving Resources to a Different Compartment](/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).<br />
detach_service_idexecserviceGatewayId, region, serviceIdif-matchRemoves the specified [Service](#/en/iaas/latest/Service/) from the list of enabled<br />Service objects for the specified gateway. You do not need to remove any route<br />rules that specify this Service object's cidrBlock as the destination CIDR. However, consider<br />removing the rules if your intent is to permanently disable use of the Service through this<br />service gateway.<br /><br />Note: The DetachServiceId operation is an easy way to remove an individual Service from<br />the service gateway. Compare it with<br />[UpdateServiceGateway](#/en/iaas/latest/ServiceGateway/UpdateServiceGateway), which replaces<br />the entire existing list of enabled Service objects with the list that you provide in the<br />Update call. UpdateServiceGateway also lets you block all traffic through the service<br />gateway without having to remove each of the individual Service objects.<br />

Parameters​

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
compartmentIdstringThe [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
regionstringOCI region identifier (e.g. us-ashburn-1, ap-sydney-1); resolves from OCI_REGION when not supplied in the query. (default: us-ashburn-1, x-stackQL-envVar: OCI_REGION)
serviceGatewayIdstringThe service gateway's [OCID](/iaas/Content/General/Concepts/identifiers.htm).
if-matchstringFor optimistic concurrency control. In the PUT or DELETE call for a resource, set the if-match parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.
lifecycleStatestringA filter to return only resources that match the given lifecycle state. The state value is case-insensitive.
limitintegerFor list pagination. The maximum number of results per page, or items to return in a paginated "List" call. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine). Example: 50
opc-request-idstringUnique identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
opc-retry-tokenstringA 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).
pagestringFor list pagination. The value of the opc-next-page response header from the previous "List" call. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
sortBystringThe field to sort by. You can provide one sort order (sortOrder). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive. Note: In general, some "List" operations (for example, ListInstances) let you optionally filter by availability domain if the scope of the resource type is within a single availability domain. If you call one of these "List" operations without specifying an availability domain, the resources are grouped by availability domain, then sorted.
sortOrderstringThe sort order to use, either ascending (ASC) or descending (DESC). The DISPLAYNAME sort order is case sensitive.
vcnIdstringThe [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the VCN.

SELECT examples​

Gets the specified service gateway's information.

SELECT
id,
blockTraffic,
compartmentId,
definedTags,
displayName,
freeformTags,
lifecycleState,
routeTableId,
services,
timeCreated,
vcnId
FROM oci.network.service_gateways
WHERE serviceGatewayId = '{{ serviceGatewayId }}' -- required
AND region = '{{ region }}' -- required
;

INSERT examples​

Adds the specified [Service](#/en/iaas/latest/Service/) to the list of enabled<br />Service objects for the specified gateway. You must also set up a route rule with the<br />cidrBlock of the Service as the rule's destination and the service gateway as the rule's<br />target. See [Route Table](#/en/iaas/latest/RouteTable/).<br /><br />Note: The AttachServiceId operation is an easy way to add an individual Service to<br />the service gateway. Compare it with<br />[UpdateServiceGateway](#/en/iaas/latest/ServiceGateway/UpdateServiceGateway), which replaces<br />the entire existing list of enabled Service objects with the list that you provide in the<br />Update call.<br />

INSERT INTO oci.network.service_gateways (
serviceId,
serviceGatewayId,
region,
if-match
)
SELECT
'{{ serviceId }}' /* required */,
'{{ serviceGatewayId }}',
'{{ region }}',
'{{ if-match }}'
RETURNING
id,
blockTraffic,
compartmentId,
definedTags,
displayName,
freeformTags,
lifecycleState,
routeTableId,
services,
timeCreated,
vcnId
;

UPDATE examples​

Updates the specified service gateway. The information you provide overwrites the existing<br />attributes of the gateway.<br />

UPDATE oci.network.service_gateways
SET
blockTraffic = {{ blockTraffic }},
definedTags = '{{ definedTags }}',
displayName = '{{ displayName }}',
freeformTags = '{{ freeformTags }}',
routeTableId = '{{ routeTableId }}',
services = '{{ services }}'
WHERE
serviceGatewayId = '{{ serviceGatewayId }}' --required
AND region = '{{ region }}' --required
AND if-match = '{{ if-match}}'
RETURNING
id,
blockTraffic,
compartmentId,
definedTags,
displayName,
freeformTags,
lifecycleState,
routeTableId,
services,
timeCreated,
vcnId;

DELETE examples​

Deletes the specified service gateway. There must not be a route table that lists the service<br />gateway as a target.<br />

DELETE FROM oci.network.service_gateways
WHERE serviceGatewayId = '{{ serviceGatewayId }}' --required
AND region = '{{ region }}' --required
AND if-match = '{{ if-match }}'
;

Lifecycle Methods​

Moves a service gateway into a different compartment within the same tenancy. For information<br />about moving resources between compartments, see<br />[Moving Resources to a Different Compartment](/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).<br />

EXEC oci.network.service_gateways.change_compartment
@serviceGatewayId='{{ serviceGatewayId }}' --required,
@region='{{ region }}' --required,
@opc-request-id='{{ opc-request-id }}',
@opc-retry-token='{{ opc-retry-token }}'
@@json=
'{
"compartmentId": "{{ compartmentId }}"
}'
;