oracle / oracle.oci / 3.5.0 / module / oci_network_service_gateway Manage a ServiceGateway resource in Oracle Cloud Infrastructure | "added in version" 2.9.0 of oracle.oci" Authors: Oracle (@oracle) preview | supported by communityoracle.oci.oci_network_service_gateway (3.5.0) — module
Install with ansible-galaxy collection install oracle.oci:==3.5.0
collections: - name: oracle.oci version: 3.5.0
This module allows the user to create, update and delete a ServiceGateway resource in Oracle Cloud Infrastructure
For I(state=present), creates a new service gateway in the specified compartment.
For the purposes of access control, you must provide the L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want the service gateway to reside. For more information about compartments and access control, see L(Overview of the IAM Service,https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see L(Resource Identifiers,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
You may optionally specify a *display name* for the service gateway, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.
This resource has the following action operations in the M(oracle.oci.oci_network_service_gateway_actions) module: attach_service_id, change_compartment, detach_service_id.
- name: Create service_gateway oci_network_service_gateway: # required compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx" vcn_id: "ocid1.vcn.oc1..xxxxxxEXAMPLExxxxxx" services: - # required service_id: "ocid1.service.oc1..xxxxxxEXAMPLExxxxxx" # optional defined_tags: {'Operations': {'CostCenter': 'US'}} display_name: display_name_example freeform_tags: {'Department': 'Finance'} route_table_id: "ocid1.routetable.oc1..xxxxxxEXAMPLExxxxxx"
- name: Update service_gateway oci_network_service_gateway: # required service_gateway_id: "ocid1.servicegateway.oc1..xxxxxxEXAMPLExxxxxx" # optional block_traffic: true defined_tags: {'Operations': {'CostCenter': 'US'}} display_name: display_name_example freeform_tags: {'Department': 'Finance'} route_table_id: "ocid1.routetable.oc1..xxxxxxEXAMPLExxxxxx" services: - # required service_id: "ocid1.service.oc1..xxxxxxEXAMPLExxxxxx"
- name: Update service_gateway using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set) oci_network_service_gateway: # required compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx" display_name: display_name_example # optional block_traffic: true defined_tags: {'Operations': {'CostCenter': 'US'}} freeform_tags: {'Department': 'Finance'} route_table_id: "ocid1.routetable.oc1..xxxxxxEXAMPLExxxxxx" services: - # required service_id: "ocid1.service.oc1..xxxxxxEXAMPLExxxxxx"
- name: Delete service_gateway oci_network_service_gateway: # required service_gateway_id: "ocid1.servicegateway.oc1..xxxxxxEXAMPLExxxxxx" state: absent
- name: Delete service_gateway using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set) oci_network_service_gateway: # required compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx" display_name: display_name_example state: absent
wait: default: true description: Whether to wait for create or delete operation to complete. type: bool state: choices: - present - absent default: present description: - The state of the ServiceGateway. - Use I(state=present) to create or update a ServiceGateway. - Use I(state=absent) to delete a ServiceGateway. required: false type: str key_by: description: The list of attributes of this resource which should be used to uniquely identify an instance of the resource. By default, all the attributes of a resource are used to uniquely identify a resource. elements: str type: list region: description: - The Oracle Cloud Infrastructure region to use for all OCI API requests. If not set, then the value of the OCI_REGION variable, if any, is used. This option is required if the region is not specified through a configuration file (See C(config_file_location)). Please refer to U(https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm) for more information on OCI regions. type: str vcn_id: description: - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VCN. - Required for create using I(state=present). type: str tenancy: description: - OCID of your tenancy. If not set, then the value of the OCI_TENANCY variable, if any, is used. This option is required if the tenancy OCID is not specified through a configuration file (See C(config_file_location)). To get the tenancy OCID, please refer U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm) type: str api_user: description: - The OCID of the user, on whose behalf, OCI APIs are invoked. If not set, then the value of the OCI_USER_ID environment variable, if any, is used. This option is required if the user is not specified through a configuration file (See C(config_file_location)). To get the user's OCID, please refer U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm). type: str services: description: - List of the OCIDs of the L(Service,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/Service/) objects to enable for the service gateway. This list can be empty if you don't want to enable any `Service` objects when you create the gateway. You can enable a `Service` object later by using either L(AttachServiceId,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/ServiceGateway/AttachServiceId) or L(UpdateServiceGateway,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/ServiceGateway/UpdateServiceGateway). - For each enabled `Service`, make sure there's a route rule with the `Service` object's `cidrBlock` as the rule's destination and the service gateway as the rule's target. See L(Route Table,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/RouteTable/). - Required for create using I(state=present). - This parameter is updatable. elements: dict suboptions: service_id: description: - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the L(Service,https://docs.cloud.oracle.com/en- us/iaas/api/#/en/iaas/latest/Service/). required: true type: str type: list auth_type: choices: - api_key - instance_principal - instance_obo_user - resource_principal default: api_key description: - The type of authentication to use for making API requests. By default C(auth_type="api_key") based authentication is performed and the API key (see I(api_user_key_file)) in your config file will be used. If this 'auth_type' module option is not specified, the value of the OCI_ANSIBLE_AUTH_TYPE, if any, is used. Use C(auth_type="instance_principal") to use instance principal based authentication when running ansible playbooks within an OCI compute instance. type: str cert_bundle: description: - The full path to a CA certificate bundle to be used for SSL verification. This will override the default CA certificate bundle. If not set, then the value of the OCI_ANSIBLE_CERT_BUNDLE variable, if any, is used. type: str auth_purpose: choices: - service_principal description: - The auth purpose which can be used in conjunction with 'auth_type=instance_principal'. The default auth_purpose for instance_principal is None. type: str defined_tags: description: - Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see L(Resource Tags,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). - 'Example: `{"Operations": {"CostCenter": "42"}}`' - This parameter is updatable. type: dict display_name: aliases: - name description: - A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. - Required for create, update, delete when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is set. - This parameter is updatable when C(OCI_USE_NAME_AS_IDENTIFIER) is not set. type: str force_create: default: false description: Whether to attempt non-idempotent creation of a resource. By default, create resource is an idempotent operation, and doesn't create the resource if it already exists. Setting this option to true, forcefully creates a copy of the resource, even if it already exists.This option is mutually exclusive with I(key_by). type: bool wait_timeout: description: Time, in seconds, to wait when I(wait=yes). Defaults to 1200 for most of the services but some services might have a longer wait timeout. type: int block_traffic: description: - Whether 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`' - This parameter is updatable. type: bool freeform_tags: description: - Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see L(Resource Tags,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). - 'Example: `{"Department": "Finance"}`' - This parameter is updatable. type: dict compartment_id: description: - The L(OCID],https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the compartment to contain the service gateway. - Required for create using I(state=present). - Required for update when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is set. - Required for delete when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is set. type: str route_table_id: description: - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the service gateway will use. - If you don't specify a route table here, the service gateway is created without an associated route table. The Networking service does NOT automatically associate the attached VCN's default route table with the service gateway. - 'For information about why you would associate a route table with a service gateway, see L(Transit Routing: Private Access to Oracle Services,https://docs.cloud.oracle.com/iaas/Content/Network/Tasks/transitroutingoracleservices.htm).' - This parameter is updatable. type: str api_user_key_file: description: - Full path and filename of the private key (in PEM format). If not set, then the value of the OCI_USER_KEY_FILE variable, if any, is used. This option is required if the private key is not specified through a configuration file (See C(config_file_location)). If the key is encrypted with a pass-phrase, the C(api_user_key_pass_phrase) option must also be provided. type: str service_gateway_id: aliases: - id description: - The service gateway's L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). - Required for update using I(state=present) when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is not set. - Required for delete using I(state=absent) when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is not set. type: str config_profile_name: description: - The profile to load from the config file referenced by C(config_file_location). If not set, then the value of the OCI_CONFIG_PROFILE environment variable, if any, is used. Otherwise, defaults to the "DEFAULT" profile in C(config_file_location). type: str api_user_fingerprint: description: - Fingerprint for the key pair being used. If not set, then the value of the OCI_USER_FINGERPRINT environment variable, if any, is used. This option is required if the key fingerprint is not specified through a configuration file (See C(config_file_location)). To get the key pair's fingerprint value please refer U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm). type: str config_file_location: description: - Path to configuration file. If not set then the value of the OCI_CONFIG_FILE environment variable, if any, is used. Otherwise, defaults to ~/.oci/config. type: str api_user_key_pass_phrase: description: - Passphrase used by the key referenced in C(api_user_key_file), if it is encrypted. If not set, then the value of the OCI_USER_KEY_PASS_PHRASE variable, if any, is used. This option is required if the key passphrase is not specified through a configuration file (See C(config_file_location)). type: str
service_gateway: contains: block_traffic: description: - Whether 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`' returned: on success sample: true type: bool compartment_id: description: - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment that contains the service gateway. returned: on success sample: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx type: str defined_tags: description: - Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see L(Resource Tags,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). - 'Example: `{"Operations": {"CostCenter": "42"}}`' returned: on success sample: Operations: CostCenter: US type: dict display_name: description: - A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. returned: on success sample: display_name_example type: str freeform_tags: description: - Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see L(Resource Tags,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). - 'Example: `{"Department": "Finance"}`' returned: on success sample: Department: Finance type: dict id: description: - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the service gateway. returned: on success sample: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx type: str lifecycle_state: description: - The service gateway's current state. returned: on success sample: PROVISIONING type: str route_table_id: description: - 'The L(OCID,https://docs.cloud.oracle.com/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 L(Transit Routing: Private Access to Oracle Services,https://docs.cloud.oracle.com/iaas/Content/Network/Tasks/transitroutingoracleservices.htm).' returned: on success sample: ocid1.routetable.oc1..xxxxxxEXAMPLExxxxxx type: str services: contains: service_id: description: - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the service. returned: on success sample: ocid1.service.oc1..xxxxxxEXAMPLExxxxxx type: str service_name: description: - The name of the service. returned: on success sample: service_name_example type: str description: - List of the L(Service,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/Service/) objects enabled for this service gateway. The list can be empty. You can enable a particular `Service` by using L(AttachServiceId,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/ServiceGateway/AttachServiceId) or L(UpdateServiceGateway,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/ServiceGateway/UpdateServiceGateway). returned: on success type: complex time_created: description: - The date and time the service gateway was created, in the format defined by L(RFC3339,https://tools.ietf.org/html/rfc3339). - 'Example: `2016-08-25T21:10:29.600Z`' returned: on success sample: '2013-10-20T19:20:30+01:00' type: str vcn_id: description: - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VCN the service gateway belongs to. returned: on success sample: ocid1.vcn.oc1..xxxxxxEXAMPLExxxxxx type: str description: - Details of the ServiceGateway resource acted upon by the current operation returned: on success sample: block_traffic: true compartment_id: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx defined_tags: Operations: CostCenter: US display_name: display_name_example freeform_tags: Department: Finance id: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx lifecycle_state: PROVISIONING route_table_id: ocid1.routetable.oc1..xxxxxxEXAMPLExxxxxx services: - service_id: ocid1.service.oc1..xxxxxxEXAMPLExxxxxx service_name: service_name_example time_created: '2013-10-20T19:20:30+01:00' vcn_id: ocid1.vcn.oc1..xxxxxxEXAMPLExxxxxx type: complex