1. Packages
  2. Oracle Cloud Infrastructure
  3. API Docs
  4. ServiceMesh
  5. IngressGateway
Oracle Cloud Infrastructure v1.32.0 published on Thursday, Apr 18, 2024 by Pulumi

oci.ServiceMesh.IngressGateway

Explore with Pulumi AI

oci logo
Oracle Cloud Infrastructure v1.32.0 published on Thursday, Apr 18, 2024 by Pulumi

    This resource provides the Ingress Gateway resource in Oracle Cloud Infrastructure Service Mesh service.

    Creates a new IngressGateway.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as oci from "@pulumi/oci";
    
    const testIngressGateway = new oci.servicemesh.IngressGateway("testIngressGateway", {
        compartmentId: _var.compartment_id,
        hosts: [{
            listeners: [{
                port: _var.ingress_gateway_hosts_listeners_port,
                protocol: _var.ingress_gateway_hosts_listeners_protocol,
                tls: {
                    mode: _var.ingress_gateway_hosts_listeners_tls_mode,
                    clientValidation: {
                        subjectAlternateNames: _var.ingress_gateway_hosts_listeners_tls_client_validation_subject_alternate_names,
                        trustedCaBundle: {
                            type: _var.ingress_gateway_hosts_listeners_tls_client_validation_trusted_ca_bundle_type,
                            caBundleId: oci_certificates_management_ca_bundle.test_ca_bundle.id,
                            secretName: oci_vault_secret.test_secret.name,
                        },
                    },
                    serverCertificate: {
                        type: _var.ingress_gateway_hosts_listeners_tls_server_certificate_type,
                        certificateId: oci_certificates_management_certificate.test_certificate.id,
                        secretName: oci_vault_secret.test_secret.name,
                    },
                },
            }],
            name: _var.ingress_gateway_hosts_name,
            hostnames: _var.ingress_gateway_hosts_hostnames,
        }],
        meshId: oci_service_mesh_mesh.test_mesh.id,
        accessLogging: {
            isEnabled: _var.ingress_gateway_access_logging_is_enabled,
        },
        definedTags: {
            "foo-namespace.bar-key": "value",
        },
        description: _var.ingress_gateway_description,
        freeformTags: {
            "bar-key": "value",
        },
        mtls: {
            maximumValidity: _var.ingress_gateway_mtls_maximum_validity,
        },
    });
    
    import pulumi
    import pulumi_oci as oci
    
    test_ingress_gateway = oci.service_mesh.IngressGateway("testIngressGateway",
        compartment_id=var["compartment_id"],
        hosts=[oci.service_mesh.IngressGatewayHostArgs(
            listeners=[oci.service_mesh.IngressGatewayHostListenerArgs(
                port=var["ingress_gateway_hosts_listeners_port"],
                protocol=var["ingress_gateway_hosts_listeners_protocol"],
                tls=oci.service_mesh.IngressGatewayHostListenerTlsArgs(
                    mode=var["ingress_gateway_hosts_listeners_tls_mode"],
                    client_validation=oci.service_mesh.IngressGatewayHostListenerTlsClientValidationArgs(
                        subject_alternate_names=var["ingress_gateway_hosts_listeners_tls_client_validation_subject_alternate_names"],
                        trusted_ca_bundle=oci.service_mesh.IngressGatewayHostListenerTlsClientValidationTrustedCaBundleArgs(
                            type=var["ingress_gateway_hosts_listeners_tls_client_validation_trusted_ca_bundle_type"],
                            ca_bundle_id=oci_certificates_management_ca_bundle["test_ca_bundle"]["id"],
                            secret_name=oci_vault_secret["test_secret"]["name"],
                        ),
                    ),
                    server_certificate=oci.service_mesh.IngressGatewayHostListenerTlsServerCertificateArgs(
                        type=var["ingress_gateway_hosts_listeners_tls_server_certificate_type"],
                        certificate_id=oci_certificates_management_certificate["test_certificate"]["id"],
                        secret_name=oci_vault_secret["test_secret"]["name"],
                    ),
                ),
            )],
            name=var["ingress_gateway_hosts_name"],
            hostnames=var["ingress_gateway_hosts_hostnames"],
        )],
        mesh_id=oci_service_mesh_mesh["test_mesh"]["id"],
        access_logging=oci.service_mesh.IngressGatewayAccessLoggingArgs(
            is_enabled=var["ingress_gateway_access_logging_is_enabled"],
        ),
        defined_tags={
            "foo-namespace.bar-key": "value",
        },
        description=var["ingress_gateway_description"],
        freeform_tags={
            "bar-key": "value",
        },
        mtls=oci.service_mesh.IngressGatewayMtlsArgs(
            maximum_validity=var["ingress_gateway_mtls_maximum_validity"],
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-oci/sdk/go/oci/ServiceMesh"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := ServiceMesh.NewIngressGateway(ctx, "testIngressGateway", &ServiceMesh.IngressGatewayArgs{
    			CompartmentId: pulumi.Any(_var.Compartment_id),
    			Hosts: servicemesh.IngressGatewayHostArray{
    				&servicemesh.IngressGatewayHostArgs{
    					Listeners: servicemesh.IngressGatewayHostListenerArray{
    						&servicemesh.IngressGatewayHostListenerArgs{
    							Port:     pulumi.Any(_var.Ingress_gateway_hosts_listeners_port),
    							Protocol: pulumi.Any(_var.Ingress_gateway_hosts_listeners_protocol),
    							Tls: &servicemesh.IngressGatewayHostListenerTlsArgs{
    								Mode: pulumi.Any(_var.Ingress_gateway_hosts_listeners_tls_mode),
    								ClientValidation: &servicemesh.IngressGatewayHostListenerTlsClientValidationArgs{
    									SubjectAlternateNames: pulumi.Any(_var.Ingress_gateway_hosts_listeners_tls_client_validation_subject_alternate_names),
    									TrustedCaBundle: &servicemesh.IngressGatewayHostListenerTlsClientValidationTrustedCaBundleArgs{
    										Type:       pulumi.Any(_var.Ingress_gateway_hosts_listeners_tls_client_validation_trusted_ca_bundle_type),
    										CaBundleId: pulumi.Any(oci_certificates_management_ca_bundle.Test_ca_bundle.Id),
    										SecretName: pulumi.Any(oci_vault_secret.Test_secret.Name),
    									},
    								},
    								ServerCertificate: &servicemesh.IngressGatewayHostListenerTlsServerCertificateArgs{
    									Type:          pulumi.Any(_var.Ingress_gateway_hosts_listeners_tls_server_certificate_type),
    									CertificateId: pulumi.Any(oci_certificates_management_certificate.Test_certificate.Id),
    									SecretName:    pulumi.Any(oci_vault_secret.Test_secret.Name),
    								},
    							},
    						},
    					},
    					Name:      pulumi.Any(_var.Ingress_gateway_hosts_name),
    					Hostnames: pulumi.Any(_var.Ingress_gateway_hosts_hostnames),
    				},
    			},
    			MeshId: pulumi.Any(oci_service_mesh_mesh.Test_mesh.Id),
    			AccessLogging: &servicemesh.IngressGatewayAccessLoggingArgs{
    				IsEnabled: pulumi.Any(_var.Ingress_gateway_access_logging_is_enabled),
    			},
    			DefinedTags: pulumi.Map{
    				"foo-namespace.bar-key": pulumi.Any("value"),
    			},
    			Description: pulumi.Any(_var.Ingress_gateway_description),
    			FreeformTags: pulumi.Map{
    				"bar-key": pulumi.Any("value"),
    			},
    			Mtls: &servicemesh.IngressGatewayMtlsArgs{
    				MaximumValidity: pulumi.Any(_var.Ingress_gateway_mtls_maximum_validity),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Oci = Pulumi.Oci;
    
    return await Deployment.RunAsync(() => 
    {
        var testIngressGateway = new Oci.ServiceMesh.IngressGateway("testIngressGateway", new()
        {
            CompartmentId = @var.Compartment_id,
            Hosts = new[]
            {
                new Oci.ServiceMesh.Inputs.IngressGatewayHostArgs
                {
                    Listeners = new[]
                    {
                        new Oci.ServiceMesh.Inputs.IngressGatewayHostListenerArgs
                        {
                            Port = @var.Ingress_gateway_hosts_listeners_port,
                            Protocol = @var.Ingress_gateway_hosts_listeners_protocol,
                            Tls = new Oci.ServiceMesh.Inputs.IngressGatewayHostListenerTlsArgs
                            {
                                Mode = @var.Ingress_gateway_hosts_listeners_tls_mode,
                                ClientValidation = new Oci.ServiceMesh.Inputs.IngressGatewayHostListenerTlsClientValidationArgs
                                {
                                    SubjectAlternateNames = @var.Ingress_gateway_hosts_listeners_tls_client_validation_subject_alternate_names,
                                    TrustedCaBundle = new Oci.ServiceMesh.Inputs.IngressGatewayHostListenerTlsClientValidationTrustedCaBundleArgs
                                    {
                                        Type = @var.Ingress_gateway_hosts_listeners_tls_client_validation_trusted_ca_bundle_type,
                                        CaBundleId = oci_certificates_management_ca_bundle.Test_ca_bundle.Id,
                                        SecretName = oci_vault_secret.Test_secret.Name,
                                    },
                                },
                                ServerCertificate = new Oci.ServiceMesh.Inputs.IngressGatewayHostListenerTlsServerCertificateArgs
                                {
                                    Type = @var.Ingress_gateway_hosts_listeners_tls_server_certificate_type,
                                    CertificateId = oci_certificates_management_certificate.Test_certificate.Id,
                                    SecretName = oci_vault_secret.Test_secret.Name,
                                },
                            },
                        },
                    },
                    Name = @var.Ingress_gateway_hosts_name,
                    Hostnames = @var.Ingress_gateway_hosts_hostnames,
                },
            },
            MeshId = oci_service_mesh_mesh.Test_mesh.Id,
            AccessLogging = new Oci.ServiceMesh.Inputs.IngressGatewayAccessLoggingArgs
            {
                IsEnabled = @var.Ingress_gateway_access_logging_is_enabled,
            },
            DefinedTags = 
            {
                { "foo-namespace.bar-key", "value" },
            },
            Description = @var.Ingress_gateway_description,
            FreeformTags = 
            {
                { "bar-key", "value" },
            },
            Mtls = new Oci.ServiceMesh.Inputs.IngressGatewayMtlsArgs
            {
                MaximumValidity = @var.Ingress_gateway_mtls_maximum_validity,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.oci.ServiceMesh.IngressGateway;
    import com.pulumi.oci.ServiceMesh.IngressGatewayArgs;
    import com.pulumi.oci.ServiceMesh.inputs.IngressGatewayHostArgs;
    import com.pulumi.oci.ServiceMesh.inputs.IngressGatewayAccessLoggingArgs;
    import com.pulumi.oci.ServiceMesh.inputs.IngressGatewayMtlsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var testIngressGateway = new IngressGateway("testIngressGateway", IngressGatewayArgs.builder()        
                .compartmentId(var_.compartment_id())
                .hosts(IngressGatewayHostArgs.builder()
                    .listeners(IngressGatewayHostListenerArgs.builder()
                        .port(var_.ingress_gateway_hosts_listeners_port())
                        .protocol(var_.ingress_gateway_hosts_listeners_protocol())
                        .tls(IngressGatewayHostListenerTlsArgs.builder()
                            .mode(var_.ingress_gateway_hosts_listeners_tls_mode())
                            .clientValidation(IngressGatewayHostListenerTlsClientValidationArgs.builder()
                                .subjectAlternateNames(var_.ingress_gateway_hosts_listeners_tls_client_validation_subject_alternate_names())
                                .trustedCaBundle(IngressGatewayHostListenerTlsClientValidationTrustedCaBundleArgs.builder()
                                    .type(var_.ingress_gateway_hosts_listeners_tls_client_validation_trusted_ca_bundle_type())
                                    .caBundleId(oci_certificates_management_ca_bundle.test_ca_bundle().id())
                                    .secretName(oci_vault_secret.test_secret().name())
                                    .build())
                                .build())
                            .serverCertificate(IngressGatewayHostListenerTlsServerCertificateArgs.builder()
                                .type(var_.ingress_gateway_hosts_listeners_tls_server_certificate_type())
                                .certificateId(oci_certificates_management_certificate.test_certificate().id())
                                .secretName(oci_vault_secret.test_secret().name())
                                .build())
                            .build())
                        .build())
                    .name(var_.ingress_gateway_hosts_name())
                    .hostnames(var_.ingress_gateway_hosts_hostnames())
                    .build())
                .meshId(oci_service_mesh_mesh.test_mesh().id())
                .accessLogging(IngressGatewayAccessLoggingArgs.builder()
                    .isEnabled(var_.ingress_gateway_access_logging_is_enabled())
                    .build())
                .definedTags(Map.of("foo-namespace.bar-key", "value"))
                .description(var_.ingress_gateway_description())
                .freeformTags(Map.of("bar-key", "value"))
                .mtls(IngressGatewayMtlsArgs.builder()
                    .maximumValidity(var_.ingress_gateway_mtls_maximum_validity())
                    .build())
                .build());
    
        }
    }
    
    resources:
      testIngressGateway:
        type: oci:ServiceMesh:IngressGateway
        properties:
          #Required
          compartmentId: ${var.compartment_id}
          hosts:
            - listeners:
                - port: ${var.ingress_gateway_hosts_listeners_port}
                  protocol: ${var.ingress_gateway_hosts_listeners_protocol}
                  tls:
                    mode: ${var.ingress_gateway_hosts_listeners_tls_mode}
                    clientValidation:
                      subjectAlternateNames: ${var.ingress_gateway_hosts_listeners_tls_client_validation_subject_alternate_names}
                      trustedCaBundle:
                        type: ${var.ingress_gateway_hosts_listeners_tls_client_validation_trusted_ca_bundle_type}
                        caBundleId: ${oci_certificates_management_ca_bundle.test_ca_bundle.id}
                        secretName: ${oci_vault_secret.test_secret.name}
                    serverCertificate:
                      type: ${var.ingress_gateway_hosts_listeners_tls_server_certificate_type}
                      certificateId: ${oci_certificates_management_certificate.test_certificate.id}
                      secretName: ${oci_vault_secret.test_secret.name}
              name: ${var.ingress_gateway_hosts_name}
              hostnames: ${var.ingress_gateway_hosts_hostnames}
          meshId: ${oci_service_mesh_mesh.test_mesh.id}
          accessLogging:
            isEnabled: ${var.ingress_gateway_access_logging_is_enabled}
          definedTags:
            foo-namespace.bar-key: value
          description: ${var.ingress_gateway_description}
          freeformTags:
            bar-key: value
          mtls:
            maximumValidity: ${var.ingress_gateway_mtls_maximum_validity}
    

    Create IngressGateway Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new IngressGateway(name: string, args: IngressGatewayArgs, opts?: CustomResourceOptions);
    @overload
    def IngressGateway(resource_name: str,
                       args: IngressGatewayArgs,
                       opts: Optional[ResourceOptions] = None)
    
    @overload
    def IngressGateway(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       compartment_id: Optional[str] = None,
                       hosts: Optional[Sequence[_servicemesh.IngressGatewayHostArgs]] = None,
                       mesh_id: Optional[str] = None,
                       access_logging: Optional[_servicemesh.IngressGatewayAccessLoggingArgs] = None,
                       defined_tags: Optional[Mapping[str, Any]] = None,
                       description: Optional[str] = None,
                       freeform_tags: Optional[Mapping[str, Any]] = None,
                       mtls: Optional[_servicemesh.IngressGatewayMtlsArgs] = None,
                       name: Optional[str] = None)
    func NewIngressGateway(ctx *Context, name string, args IngressGatewayArgs, opts ...ResourceOption) (*IngressGateway, error)
    public IngressGateway(string name, IngressGatewayArgs args, CustomResourceOptions? opts = null)
    public IngressGateway(String name, IngressGatewayArgs args)
    public IngressGateway(String name, IngressGatewayArgs args, CustomResourceOptions options)
    
    type: oci:ServiceMesh:IngressGateway
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args IngressGatewayArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args IngressGatewayArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args IngressGatewayArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args IngressGatewayArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args IngressGatewayArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var ingressGatewayResource = new Oci.ServiceMesh.IngressGateway("ingressGatewayResource", new()
    {
        CompartmentId = "string",
        Hosts = new[]
        {
            new Oci.ServiceMesh.Inputs.IngressGatewayHostArgs
            {
                Listeners = new[]
                {
                    new Oci.ServiceMesh.Inputs.IngressGatewayHostListenerArgs
                    {
                        Port = 0,
                        Protocol = "string",
                        Tls = new Oci.ServiceMesh.Inputs.IngressGatewayHostListenerTlsArgs
                        {
                            Mode = "string",
                            ClientValidation = new Oci.ServiceMesh.Inputs.IngressGatewayHostListenerTlsClientValidationArgs
                            {
                                SubjectAlternateNames = new[]
                                {
                                    "string",
                                },
                                TrustedCaBundle = new Oci.ServiceMesh.Inputs.IngressGatewayHostListenerTlsClientValidationTrustedCaBundleArgs
                                {
                                    Type = "string",
                                    CaBundleId = "string",
                                    SecretName = "string",
                                },
                            },
                            ServerCertificate = new Oci.ServiceMesh.Inputs.IngressGatewayHostListenerTlsServerCertificateArgs
                            {
                                Type = "string",
                                CertificateId = "string",
                                SecretName = "string",
                            },
                        },
                    },
                },
                Name = "string",
                Hostnames = new[]
                {
                    "string",
                },
            },
        },
        MeshId = "string",
        AccessLogging = new Oci.ServiceMesh.Inputs.IngressGatewayAccessLoggingArgs
        {
            IsEnabled = false,
        },
        DefinedTags = 
        {
            { "string", "any" },
        },
        Description = "string",
        FreeformTags = 
        {
            { "string", "any" },
        },
        Mtls = new Oci.ServiceMesh.Inputs.IngressGatewayMtlsArgs
        {
            CertificateId = "string",
            MaximumValidity = 0,
        },
        Name = "string",
    });
    
    example, err := ServiceMesh.NewIngressGateway(ctx, "ingressGatewayResource", &ServiceMesh.IngressGatewayArgs{
    	CompartmentId: pulumi.String("string"),
    	Hosts: servicemesh.IngressGatewayHostArray{
    		&servicemesh.IngressGatewayHostArgs{
    			Listeners: servicemesh.IngressGatewayHostListenerArray{
    				&servicemesh.IngressGatewayHostListenerArgs{
    					Port:     pulumi.Int(0),
    					Protocol: pulumi.String("string"),
    					Tls: &servicemesh.IngressGatewayHostListenerTlsArgs{
    						Mode: pulumi.String("string"),
    						ClientValidation: &servicemesh.IngressGatewayHostListenerTlsClientValidationArgs{
    							SubjectAlternateNames: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							TrustedCaBundle: &servicemesh.IngressGatewayHostListenerTlsClientValidationTrustedCaBundleArgs{
    								Type:       pulumi.String("string"),
    								CaBundleId: pulumi.String("string"),
    								SecretName: pulumi.String("string"),
    							},
    						},
    						ServerCertificate: &servicemesh.IngressGatewayHostListenerTlsServerCertificateArgs{
    							Type:          pulumi.String("string"),
    							CertificateId: pulumi.String("string"),
    							SecretName:    pulumi.String("string"),
    						},
    					},
    				},
    			},
    			Name: pulumi.String("string"),
    			Hostnames: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	MeshId: pulumi.String("string"),
    	AccessLogging: &servicemesh.IngressGatewayAccessLoggingArgs{
    		IsEnabled: pulumi.Bool(false),
    	},
    	DefinedTags: pulumi.Map{
    		"string": pulumi.Any("any"),
    	},
    	Description: pulumi.String("string"),
    	FreeformTags: pulumi.Map{
    		"string": pulumi.Any("any"),
    	},
    	Mtls: &servicemesh.IngressGatewayMtlsArgs{
    		CertificateId:   pulumi.String("string"),
    		MaximumValidity: pulumi.Int(0),
    	},
    	Name: pulumi.String("string"),
    })
    
    var ingressGatewayResource = new IngressGateway("ingressGatewayResource", IngressGatewayArgs.builder()        
        .compartmentId("string")
        .hosts(IngressGatewayHostArgs.builder()
            .listeners(IngressGatewayHostListenerArgs.builder()
                .port(0)
                .protocol("string")
                .tls(IngressGatewayHostListenerTlsArgs.builder()
                    .mode("string")
                    .clientValidation(IngressGatewayHostListenerTlsClientValidationArgs.builder()
                        .subjectAlternateNames("string")
                        .trustedCaBundle(IngressGatewayHostListenerTlsClientValidationTrustedCaBundleArgs.builder()
                            .type("string")
                            .caBundleId("string")
                            .secretName("string")
                            .build())
                        .build())
                    .serverCertificate(IngressGatewayHostListenerTlsServerCertificateArgs.builder()
                        .type("string")
                        .certificateId("string")
                        .secretName("string")
                        .build())
                    .build())
                .build())
            .name("string")
            .hostnames("string")
            .build())
        .meshId("string")
        .accessLogging(IngressGatewayAccessLoggingArgs.builder()
            .isEnabled(false)
            .build())
        .definedTags(Map.of("string", "any"))
        .description("string")
        .freeformTags(Map.of("string", "any"))
        .mtls(IngressGatewayMtlsArgs.builder()
            .certificateId("string")
            .maximumValidity(0)
            .build())
        .name("string")
        .build());
    
    ingress_gateway_resource = oci.service_mesh.IngressGateway("ingressGatewayResource",
        compartment_id="string",
        hosts=[oci.service_mesh.IngressGatewayHostArgs(
            listeners=[oci.service_mesh.IngressGatewayHostListenerArgs(
                port=0,
                protocol="string",
                tls=oci.service_mesh.IngressGatewayHostListenerTlsArgs(
                    mode="string",
                    client_validation=oci.service_mesh.IngressGatewayHostListenerTlsClientValidationArgs(
                        subject_alternate_names=["string"],
                        trusted_ca_bundle=oci.service_mesh.IngressGatewayHostListenerTlsClientValidationTrustedCaBundleArgs(
                            type="string",
                            ca_bundle_id="string",
                            secret_name="string",
                        ),
                    ),
                    server_certificate=oci.service_mesh.IngressGatewayHostListenerTlsServerCertificateArgs(
                        type="string",
                        certificate_id="string",
                        secret_name="string",
                    ),
                ),
            )],
            name="string",
            hostnames=["string"],
        )],
        mesh_id="string",
        access_logging=oci.service_mesh.IngressGatewayAccessLoggingArgs(
            is_enabled=False,
        ),
        defined_tags={
            "string": "any",
        },
        description="string",
        freeform_tags={
            "string": "any",
        },
        mtls=oci.service_mesh.IngressGatewayMtlsArgs(
            certificate_id="string",
            maximum_validity=0,
        ),
        name="string")
    
    const ingressGatewayResource = new oci.servicemesh.IngressGateway("ingressGatewayResource", {
        compartmentId: "string",
        hosts: [{
            listeners: [{
                port: 0,
                protocol: "string",
                tls: {
                    mode: "string",
                    clientValidation: {
                        subjectAlternateNames: ["string"],
                        trustedCaBundle: {
                            type: "string",
                            caBundleId: "string",
                            secretName: "string",
                        },
                    },
                    serverCertificate: {
                        type: "string",
                        certificateId: "string",
                        secretName: "string",
                    },
                },
            }],
            name: "string",
            hostnames: ["string"],
        }],
        meshId: "string",
        accessLogging: {
            isEnabled: false,
        },
        definedTags: {
            string: "any",
        },
        description: "string",
        freeformTags: {
            string: "any",
        },
        mtls: {
            certificateId: "string",
            maximumValidity: 0,
        },
        name: "string",
    });
    
    type: oci:ServiceMesh:IngressGateway
    properties:
        accessLogging:
            isEnabled: false
        compartmentId: string
        definedTags:
            string: any
        description: string
        freeformTags:
            string: any
        hosts:
            - hostnames:
                - string
              listeners:
                - port: 0
                  protocol: string
                  tls:
                    clientValidation:
                        subjectAlternateNames:
                            - string
                        trustedCaBundle:
                            caBundleId: string
                            secretName: string
                            type: string
                    mode: string
                    serverCertificate:
                        certificateId: string
                        secretName: string
                        type: string
              name: string
        meshId: string
        mtls:
            certificateId: string
            maximumValidity: 0
        name: string
    

    IngressGateway Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The IngressGateway resource accepts the following input properties:

    CompartmentId string
    (Updatable) The OCID of the compartment.
    Hosts List<IngressGatewayHost>
    (Updatable) An array of hostnames and their listener configuration that this gateway will bind to.
    MeshId string
    The OCID of the service mesh in which this ingress gateway is created.
    AccessLogging IngressGatewayAccessLogging
    (Updatable) This configuration determines if logging is enabled and where the logs will be output.
    DefinedTags Dictionary<string, object>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    Description string
    (Updatable) Description of the resource. It can be changed after creation. Avoid entering confidential information. Example: This is my new resource
    FreeformTags Dictionary<string, object>
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"}
    Mtls IngressGatewayMtls
    (Updatable) Mutual TLS settings used when sending requests to virtual services within the mesh.
    Name string

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    CompartmentId string
    (Updatable) The OCID of the compartment.
    Hosts []IngressGatewayHostArgs
    (Updatable) An array of hostnames and their listener configuration that this gateway will bind to.
    MeshId string
    The OCID of the service mesh in which this ingress gateway is created.
    AccessLogging IngressGatewayAccessLoggingArgs
    (Updatable) This configuration determines if logging is enabled and where the logs will be output.
    DefinedTags map[string]interface{}
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    Description string
    (Updatable) Description of the resource. It can be changed after creation. Avoid entering confidential information. Example: This is my new resource
    FreeformTags map[string]interface{}
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"}
    Mtls IngressGatewayMtlsArgs
    (Updatable) Mutual TLS settings used when sending requests to virtual services within the mesh.
    Name string

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    compartmentId String
    (Updatable) The OCID of the compartment.
    hosts List<IngressGatewayHost>
    (Updatable) An array of hostnames and their listener configuration that this gateway will bind to.
    meshId String
    The OCID of the service mesh in which this ingress gateway is created.
    accessLogging IngressGatewayAccessLogging
    (Updatable) This configuration determines if logging is enabled and where the logs will be output.
    definedTags Map<String,Object>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    description String
    (Updatable) Description of the resource. It can be changed after creation. Avoid entering confidential information. Example: This is my new resource
    freeformTags Map<String,Object>
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"}
    mtls IngressGatewayMtls
    (Updatable) Mutual TLS settings used when sending requests to virtual services within the mesh.
    name String

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    compartmentId string
    (Updatable) The OCID of the compartment.
    hosts IngressGatewayHost[]
    (Updatable) An array of hostnames and their listener configuration that this gateway will bind to.
    meshId string
    The OCID of the service mesh in which this ingress gateway is created.
    accessLogging IngressGatewayAccessLogging
    (Updatable) This configuration determines if logging is enabled and where the logs will be output.
    definedTags {[key: string]: any}
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    description string
    (Updatable) Description of the resource. It can be changed after creation. Avoid entering confidential information. Example: This is my new resource
    freeformTags {[key: string]: any}
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"}
    mtls IngressGatewayMtls
    (Updatable) Mutual TLS settings used when sending requests to virtual services within the mesh.
    name string

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    compartment_id str
    (Updatable) The OCID of the compartment.
    hosts Sequence[servicemesh.IngressGatewayHostArgs]
    (Updatable) An array of hostnames and their listener configuration that this gateway will bind to.
    mesh_id str
    The OCID of the service mesh in which this ingress gateway is created.
    access_logging servicemesh.IngressGatewayAccessLoggingArgs
    (Updatable) This configuration determines if logging is enabled and where the logs will be output.
    defined_tags Mapping[str, Any]
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    description str
    (Updatable) Description of the resource. It can be changed after creation. Avoid entering confidential information. Example: This is my new resource
    freeform_tags Mapping[str, Any]
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"}
    mtls servicemesh.IngressGatewayMtlsArgs
    (Updatable) Mutual TLS settings used when sending requests to virtual services within the mesh.
    name str

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    compartmentId String
    (Updatable) The OCID of the compartment.
    hosts List<Property Map>
    (Updatable) An array of hostnames and their listener configuration that this gateway will bind to.
    meshId String
    The OCID of the service mesh in which this ingress gateway is created.
    accessLogging Property Map
    (Updatable) This configuration determines if logging is enabled and where the logs will be output.
    definedTags Map<Any>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    description String
    (Updatable) Description of the resource. It can be changed after creation. Avoid entering confidential information. Example: This is my new resource
    freeformTags Map<Any>
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"}
    mtls Property Map
    (Updatable) Mutual TLS settings used when sending requests to virtual services within the mesh.
    name String

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    Outputs

    All input properties are implicitly available as output properties. Additionally, the IngressGateway resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    LifecycleDetails string
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    State string
    The current state of the Resource.
    SystemTags Dictionary<string, object>
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    TimeCreated string
    The time when this resource was created in an RFC3339 formatted datetime string.
    TimeUpdated string
    The time when this resource was updated in an RFC3339 formatted datetime string.
    Id string
    The provider-assigned unique ID for this managed resource.
    LifecycleDetails string
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    State string
    The current state of the Resource.
    SystemTags map[string]interface{}
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    TimeCreated string
    The time when this resource was created in an RFC3339 formatted datetime string.
    TimeUpdated string
    The time when this resource was updated in an RFC3339 formatted datetime string.
    id String
    The provider-assigned unique ID for this managed resource.
    lifecycleDetails String
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    state String
    The current state of the Resource.
    systemTags Map<String,Object>
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    timeCreated String
    The time when this resource was created in an RFC3339 formatted datetime string.
    timeUpdated String
    The time when this resource was updated in an RFC3339 formatted datetime string.
    id string
    The provider-assigned unique ID for this managed resource.
    lifecycleDetails string
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    state string
    The current state of the Resource.
    systemTags {[key: string]: any}
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    timeCreated string
    The time when this resource was created in an RFC3339 formatted datetime string.
    timeUpdated string
    The time when this resource was updated in an RFC3339 formatted datetime string.
    id str
    The provider-assigned unique ID for this managed resource.
    lifecycle_details str
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    state str
    The current state of the Resource.
    system_tags Mapping[str, Any]
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    time_created str
    The time when this resource was created in an RFC3339 formatted datetime string.
    time_updated str
    The time when this resource was updated in an RFC3339 formatted datetime string.
    id String
    The provider-assigned unique ID for this managed resource.
    lifecycleDetails String
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    state String
    The current state of the Resource.
    systemTags Map<Any>
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    timeCreated String
    The time when this resource was created in an RFC3339 formatted datetime string.
    timeUpdated String
    The time when this resource was updated in an RFC3339 formatted datetime string.

    Look up Existing IngressGateway Resource

    Get an existing IngressGateway resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: IngressGatewayState, opts?: CustomResourceOptions): IngressGateway
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            access_logging: Optional[_servicemesh.IngressGatewayAccessLoggingArgs] = None,
            compartment_id: Optional[str] = None,
            defined_tags: Optional[Mapping[str, Any]] = None,
            description: Optional[str] = None,
            freeform_tags: Optional[Mapping[str, Any]] = None,
            hosts: Optional[Sequence[_servicemesh.IngressGatewayHostArgs]] = None,
            lifecycle_details: Optional[str] = None,
            mesh_id: Optional[str] = None,
            mtls: Optional[_servicemesh.IngressGatewayMtlsArgs] = None,
            name: Optional[str] = None,
            state: Optional[str] = None,
            system_tags: Optional[Mapping[str, Any]] = None,
            time_created: Optional[str] = None,
            time_updated: Optional[str] = None) -> IngressGateway
    func GetIngressGateway(ctx *Context, name string, id IDInput, state *IngressGatewayState, opts ...ResourceOption) (*IngressGateway, error)
    public static IngressGateway Get(string name, Input<string> id, IngressGatewayState? state, CustomResourceOptions? opts = null)
    public static IngressGateway get(String name, Output<String> id, IngressGatewayState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AccessLogging IngressGatewayAccessLogging
    (Updatable) This configuration determines if logging is enabled and where the logs will be output.
    CompartmentId string
    (Updatable) The OCID of the compartment.
    DefinedTags Dictionary<string, object>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    Description string
    (Updatable) Description of the resource. It can be changed after creation. Avoid entering confidential information. Example: This is my new resource
    FreeformTags Dictionary<string, object>
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"}
    Hosts List<IngressGatewayHost>
    (Updatable) An array of hostnames and their listener configuration that this gateway will bind to.
    LifecycleDetails string
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    MeshId string
    The OCID of the service mesh in which this ingress gateway is created.
    Mtls IngressGatewayMtls
    (Updatable) Mutual TLS settings used when sending requests to virtual services within the mesh.
    Name string

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    State string
    The current state of the Resource.
    SystemTags Dictionary<string, object>
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    TimeCreated string
    The time when this resource was created in an RFC3339 formatted datetime string.
    TimeUpdated string
    The time when this resource was updated in an RFC3339 formatted datetime string.
    AccessLogging IngressGatewayAccessLoggingArgs
    (Updatable) This configuration determines if logging is enabled and where the logs will be output.
    CompartmentId string
    (Updatable) The OCID of the compartment.
    DefinedTags map[string]interface{}
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    Description string
    (Updatable) Description of the resource. It can be changed after creation. Avoid entering confidential information. Example: This is my new resource
    FreeformTags map[string]interface{}
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"}
    Hosts []IngressGatewayHostArgs
    (Updatable) An array of hostnames and their listener configuration that this gateway will bind to.
    LifecycleDetails string
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    MeshId string
    The OCID of the service mesh in which this ingress gateway is created.
    Mtls IngressGatewayMtlsArgs
    (Updatable) Mutual TLS settings used when sending requests to virtual services within the mesh.
    Name string

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    State string
    The current state of the Resource.
    SystemTags map[string]interface{}
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    TimeCreated string
    The time when this resource was created in an RFC3339 formatted datetime string.
    TimeUpdated string
    The time when this resource was updated in an RFC3339 formatted datetime string.
    accessLogging IngressGatewayAccessLogging
    (Updatable) This configuration determines if logging is enabled and where the logs will be output.
    compartmentId String
    (Updatable) The OCID of the compartment.
    definedTags Map<String,Object>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    description String
    (Updatable) Description of the resource. It can be changed after creation. Avoid entering confidential information. Example: This is my new resource
    freeformTags Map<String,Object>
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"}
    hosts List<IngressGatewayHost>
    (Updatable) An array of hostnames and their listener configuration that this gateway will bind to.
    lifecycleDetails String
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    meshId String
    The OCID of the service mesh in which this ingress gateway is created.
    mtls IngressGatewayMtls
    (Updatable) Mutual TLS settings used when sending requests to virtual services within the mesh.
    name String

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    state String
    The current state of the Resource.
    systemTags Map<String,Object>
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    timeCreated String
    The time when this resource was created in an RFC3339 formatted datetime string.
    timeUpdated String
    The time when this resource was updated in an RFC3339 formatted datetime string.
    accessLogging IngressGatewayAccessLogging
    (Updatable) This configuration determines if logging is enabled and where the logs will be output.
    compartmentId string
    (Updatable) The OCID of the compartment.
    definedTags {[key: string]: any}
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    description string
    (Updatable) Description of the resource. It can be changed after creation. Avoid entering confidential information. Example: This is my new resource
    freeformTags {[key: string]: any}
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"}
    hosts IngressGatewayHost[]
    (Updatable) An array of hostnames and their listener configuration that this gateway will bind to.
    lifecycleDetails string
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    meshId string
    The OCID of the service mesh in which this ingress gateway is created.
    mtls IngressGatewayMtls
    (Updatable) Mutual TLS settings used when sending requests to virtual services within the mesh.
    name string

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    state string
    The current state of the Resource.
    systemTags {[key: string]: any}
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    timeCreated string
    The time when this resource was created in an RFC3339 formatted datetime string.
    timeUpdated string
    The time when this resource was updated in an RFC3339 formatted datetime string.
    access_logging servicemesh.IngressGatewayAccessLoggingArgs
    (Updatable) This configuration determines if logging is enabled and where the logs will be output.
    compartment_id str
    (Updatable) The OCID of the compartment.
    defined_tags Mapping[str, Any]
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    description str
    (Updatable) Description of the resource. It can be changed after creation. Avoid entering confidential information. Example: This is my new resource
    freeform_tags Mapping[str, Any]
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"}
    hosts Sequence[servicemesh.IngressGatewayHostArgs]
    (Updatable) An array of hostnames and their listener configuration that this gateway will bind to.
    lifecycle_details str
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    mesh_id str
    The OCID of the service mesh in which this ingress gateway is created.
    mtls servicemesh.IngressGatewayMtlsArgs
    (Updatable) Mutual TLS settings used when sending requests to virtual services within the mesh.
    name str

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    state str
    The current state of the Resource.
    system_tags Mapping[str, Any]
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    time_created str
    The time when this resource was created in an RFC3339 formatted datetime string.
    time_updated str
    The time when this resource was updated in an RFC3339 formatted datetime string.
    accessLogging Property Map
    (Updatable) This configuration determines if logging is enabled and where the logs will be output.
    compartmentId String
    (Updatable) The OCID of the compartment.
    definedTags Map<Any>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    description String
    (Updatable) Description of the resource. It can be changed after creation. Avoid entering confidential information. Example: This is my new resource
    freeformTags Map<Any>
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"}
    hosts List<Property Map>
    (Updatable) An array of hostnames and their listener configuration that this gateway will bind to.
    lifecycleDetails String
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    meshId String
    The OCID of the service mesh in which this ingress gateway is created.
    mtls Property Map
    (Updatable) Mutual TLS settings used when sending requests to virtual services within the mesh.
    name String

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    state String
    The current state of the Resource.
    systemTags Map<Any>
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    timeCreated String
    The time when this resource was created in an RFC3339 formatted datetime string.
    timeUpdated String
    The time when this resource was updated in an RFC3339 formatted datetime string.

    Supporting Types

    IngressGatewayAccessLogging, IngressGatewayAccessLoggingArgs

    IsEnabled bool
    (Updatable) Determines if the logging configuration is enabled.
    IsEnabled bool
    (Updatable) Determines if the logging configuration is enabled.
    isEnabled Boolean
    (Updatable) Determines if the logging configuration is enabled.
    isEnabled boolean
    (Updatable) Determines if the logging configuration is enabled.
    is_enabled bool
    (Updatable) Determines if the logging configuration is enabled.
    isEnabled Boolean
    (Updatable) Determines if the logging configuration is enabled.

    IngressGatewayHost, IngressGatewayHostArgs

    Listeners List<IngressGatewayHostListener>
    (Updatable) The listeners for the ingress gateway.
    Name string

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    Hostnames List<string>
    (Updatable) Hostnames of the host. Applicable only for HTTP and TLS_PASSTHROUGH listeners. Wildcard hostnames are supported in the prefix form. Examples of valid hostnames are "www.example.com", ".example.com", ".com".
    Listeners []IngressGatewayHostListener
    (Updatable) The listeners for the ingress gateway.
    Name string

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    Hostnames []string
    (Updatable) Hostnames of the host. Applicable only for HTTP and TLS_PASSTHROUGH listeners. Wildcard hostnames are supported in the prefix form. Examples of valid hostnames are "www.example.com", ".example.com", ".com".
    listeners List<IngressGatewayHostListener>
    (Updatable) The listeners for the ingress gateway.
    name String

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    hostnames List<String>
    (Updatable) Hostnames of the host. Applicable only for HTTP and TLS_PASSTHROUGH listeners. Wildcard hostnames are supported in the prefix form. Examples of valid hostnames are "www.example.com", ".example.com", ".com".
    listeners IngressGatewayHostListener[]
    (Updatable) The listeners for the ingress gateway.
    name string

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    hostnames string[]
    (Updatable) Hostnames of the host. Applicable only for HTTP and TLS_PASSTHROUGH listeners. Wildcard hostnames are supported in the prefix form. Examples of valid hostnames are "www.example.com", ".example.com", ".com".
    listeners Sequence[servicemesh.IngressGatewayHostListener]
    (Updatable) The listeners for the ingress gateway.
    name str

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    hostnames Sequence[str]
    (Updatable) Hostnames of the host. Applicable only for HTTP and TLS_PASSTHROUGH listeners. Wildcard hostnames are supported in the prefix form. Examples of valid hostnames are "www.example.com", ".example.com", ".com".
    listeners List<Property Map>
    (Updatable) The listeners for the ingress gateway.
    name String

    A user-friendly name. The name has to be unique within the same service mesh and cannot be changed after creation. Avoid entering confidential information. Example: My unique resource name

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    hostnames List<String>
    (Updatable) Hostnames of the host. Applicable only for HTTP and TLS_PASSTHROUGH listeners. Wildcard hostnames are supported in the prefix form. Examples of valid hostnames are "www.example.com", ".example.com", ".com".

    IngressGatewayHostListener, IngressGatewayHostListenerArgs

    Port int
    (Updatable) Port on which ingress gateway is listening.
    Protocol string
    (Updatable) Type of protocol used.
    Tls IngressGatewayHostListenerTls
    (Updatable) TLS enforcement config for the ingress listener.
    Port int
    (Updatable) Port on which ingress gateway is listening.
    Protocol string
    (Updatable) Type of protocol used.
    Tls IngressGatewayHostListenerTls
    (Updatable) TLS enforcement config for the ingress listener.
    port Integer
    (Updatable) Port on which ingress gateway is listening.
    protocol String
    (Updatable) Type of protocol used.
    tls IngressGatewayHostListenerTls
    (Updatable) TLS enforcement config for the ingress listener.
    port number
    (Updatable) Port on which ingress gateway is listening.
    protocol string
    (Updatable) Type of protocol used.
    tls IngressGatewayHostListenerTls
    (Updatable) TLS enforcement config for the ingress listener.
    port int
    (Updatable) Port on which ingress gateway is listening.
    protocol str
    (Updatable) Type of protocol used.
    tls servicemesh.IngressGatewayHostListenerTls
    (Updatable) TLS enforcement config for the ingress listener.
    port Number
    (Updatable) Port on which ingress gateway is listening.
    protocol String
    (Updatable) Type of protocol used.
    tls Property Map
    (Updatable) TLS enforcement config for the ingress listener.

    IngressGatewayHostListenerTls, IngressGatewayHostListenerTlsArgs

    Mode string
    (Updatable) DISABLED: Connection can only be plaintext. PERMISSIVE: Connection can be either plaintext or TLS/mTLS. If the clientValidation.trustedCaBundle property is configured for the listener, mTLS is performed and the client's certificates are validated by the gateway. TLS: Connection can only be TLS. MUTUAL_TLS: Connection can only be MTLS.
    ClientValidation IngressGatewayHostListenerTlsClientValidation
    (Updatable) Resource representing the TLS configuration used for validating client certificates.
    ServerCertificate IngressGatewayHostListenerTlsServerCertificate
    (Updatable) Resource representing the location of the TLS certificate.
    Mode string
    (Updatable) DISABLED: Connection can only be plaintext. PERMISSIVE: Connection can be either plaintext or TLS/mTLS. If the clientValidation.trustedCaBundle property is configured for the listener, mTLS is performed and the client's certificates are validated by the gateway. TLS: Connection can only be TLS. MUTUAL_TLS: Connection can only be MTLS.
    ClientValidation IngressGatewayHostListenerTlsClientValidation
    (Updatable) Resource representing the TLS configuration used for validating client certificates.
    ServerCertificate IngressGatewayHostListenerTlsServerCertificate
    (Updatable) Resource representing the location of the TLS certificate.
    mode String
    (Updatable) DISABLED: Connection can only be plaintext. PERMISSIVE: Connection can be either plaintext or TLS/mTLS. If the clientValidation.trustedCaBundle property is configured for the listener, mTLS is performed and the client's certificates are validated by the gateway. TLS: Connection can only be TLS. MUTUAL_TLS: Connection can only be MTLS.
    clientValidation IngressGatewayHostListenerTlsClientValidation
    (Updatable) Resource representing the TLS configuration used for validating client certificates.
    serverCertificate IngressGatewayHostListenerTlsServerCertificate
    (Updatable) Resource representing the location of the TLS certificate.
    mode string
    (Updatable) DISABLED: Connection can only be plaintext. PERMISSIVE: Connection can be either plaintext or TLS/mTLS. If the clientValidation.trustedCaBundle property is configured for the listener, mTLS is performed and the client's certificates are validated by the gateway. TLS: Connection can only be TLS. MUTUAL_TLS: Connection can only be MTLS.
    clientValidation IngressGatewayHostListenerTlsClientValidation
    (Updatable) Resource representing the TLS configuration used for validating client certificates.
    serverCertificate IngressGatewayHostListenerTlsServerCertificate
    (Updatable) Resource representing the location of the TLS certificate.
    mode str
    (Updatable) DISABLED: Connection can only be plaintext. PERMISSIVE: Connection can be either plaintext or TLS/mTLS. If the clientValidation.trustedCaBundle property is configured for the listener, mTLS is performed and the client's certificates are validated by the gateway. TLS: Connection can only be TLS. MUTUAL_TLS: Connection can only be MTLS.
    client_validation servicemesh.IngressGatewayHostListenerTlsClientValidation
    (Updatable) Resource representing the TLS configuration used for validating client certificates.
    server_certificate servicemesh.IngressGatewayHostListenerTlsServerCertificate
    (Updatable) Resource representing the location of the TLS certificate.
    mode String
    (Updatable) DISABLED: Connection can only be plaintext. PERMISSIVE: Connection can be either plaintext or TLS/mTLS. If the clientValidation.trustedCaBundle property is configured for the listener, mTLS is performed and the client's certificates are validated by the gateway. TLS: Connection can only be TLS. MUTUAL_TLS: Connection can only be MTLS.
    clientValidation Property Map
    (Updatable) Resource representing the TLS configuration used for validating client certificates.
    serverCertificate Property Map
    (Updatable) Resource representing the location of the TLS certificate.

    IngressGatewayHostListenerTlsClientValidation, IngressGatewayHostListenerTlsClientValidationArgs

    SubjectAlternateNames List<string>
    (Updatable) A list of alternate names to verify the subject identity in the certificate presented by the client.
    TrustedCaBundle IngressGatewayHostListenerTlsClientValidationTrustedCaBundle
    (Updatable) Resource representing the CA bundle.
    SubjectAlternateNames []string
    (Updatable) A list of alternate names to verify the subject identity in the certificate presented by the client.
    TrustedCaBundle IngressGatewayHostListenerTlsClientValidationTrustedCaBundle
    (Updatable) Resource representing the CA bundle.
    subjectAlternateNames List<String>
    (Updatable) A list of alternate names to verify the subject identity in the certificate presented by the client.
    trustedCaBundle IngressGatewayHostListenerTlsClientValidationTrustedCaBundle
    (Updatable) Resource representing the CA bundle.
    subjectAlternateNames string[]
    (Updatable) A list of alternate names to verify the subject identity in the certificate presented by the client.
    trustedCaBundle IngressGatewayHostListenerTlsClientValidationTrustedCaBundle
    (Updatable) Resource representing the CA bundle.
    subject_alternate_names Sequence[str]
    (Updatable) A list of alternate names to verify the subject identity in the certificate presented by the client.
    trusted_ca_bundle servicemesh.IngressGatewayHostListenerTlsClientValidationTrustedCaBundle
    (Updatable) Resource representing the CA bundle.
    subjectAlternateNames List<String>
    (Updatable) A list of alternate names to verify the subject identity in the certificate presented by the client.
    trustedCaBundle Property Map
    (Updatable) Resource representing the CA bundle.

    IngressGatewayHostListenerTlsClientValidationTrustedCaBundle, IngressGatewayHostListenerTlsClientValidationTrustedCaBundleArgs

    Type string
    (Updatable) Type of certificate.
    CaBundleId string
    (Updatable) The OCID of the CA Bundle resource.
    SecretName string
    (Updatable) Name of the secret. For Kubernetes this is the name of the Kubernetes secret of type tls. For other platforms the secrets must be mounted at: /etc/oci/secrets/${secretName}/tls.{key,crt}
    Type string
    (Updatable) Type of certificate.
    CaBundleId string
    (Updatable) The OCID of the CA Bundle resource.
    SecretName string
    (Updatable) Name of the secret. For Kubernetes this is the name of the Kubernetes secret of type tls. For other platforms the secrets must be mounted at: /etc/oci/secrets/${secretName}/tls.{key,crt}
    type String
    (Updatable) Type of certificate.
    caBundleId String
    (Updatable) The OCID of the CA Bundle resource.
    secretName String
    (Updatable) Name of the secret. For Kubernetes this is the name of the Kubernetes secret of type tls. For other platforms the secrets must be mounted at: /etc/oci/secrets/${secretName}/tls.{key,crt}
    type string
    (Updatable) Type of certificate.
    caBundleId string
    (Updatable) The OCID of the CA Bundle resource.
    secretName string
    (Updatable) Name of the secret. For Kubernetes this is the name of the Kubernetes secret of type tls. For other platforms the secrets must be mounted at: /etc/oci/secrets/${secretName}/tls.{key,crt}
    type str
    (Updatable) Type of certificate.
    ca_bundle_id str
    (Updatable) The OCID of the CA Bundle resource.
    secret_name str
    (Updatable) Name of the secret. For Kubernetes this is the name of the Kubernetes secret of type tls. For other platforms the secrets must be mounted at: /etc/oci/secrets/${secretName}/tls.{key,crt}
    type String
    (Updatable) Type of certificate.
    caBundleId String
    (Updatable) The OCID of the CA Bundle resource.
    secretName String
    (Updatable) Name of the secret. For Kubernetes this is the name of the Kubernetes secret of type tls. For other platforms the secrets must be mounted at: /etc/oci/secrets/${secretName}/tls.{key,crt}

    IngressGatewayHostListenerTlsServerCertificate, IngressGatewayHostListenerTlsServerCertificateArgs

    Type string
    (Updatable) Type of certificate.
    CertificateId string
    (Updatable) The OCID of the leaf certificate resource.
    SecretName string
    (Updatable) Name of the secret. For Kubernetes this is the name of the Kubernetes secret of type tls. For other platforms the secrets must be mounted at: /etc/oci/secrets/${secretName}/tls.{key,crt}
    Type string
    (Updatable) Type of certificate.
    CertificateId string
    (Updatable) The OCID of the leaf certificate resource.
    SecretName string
    (Updatable) Name of the secret. For Kubernetes this is the name of the Kubernetes secret of type tls. For other platforms the secrets must be mounted at: /etc/oci/secrets/${secretName}/tls.{key,crt}
    type String
    (Updatable) Type of certificate.
    certificateId String
    (Updatable) The OCID of the leaf certificate resource.
    secretName String
    (Updatable) Name of the secret. For Kubernetes this is the name of the Kubernetes secret of type tls. For other platforms the secrets must be mounted at: /etc/oci/secrets/${secretName}/tls.{key,crt}
    type string
    (Updatable) Type of certificate.
    certificateId string
    (Updatable) The OCID of the leaf certificate resource.
    secretName string
    (Updatable) Name of the secret. For Kubernetes this is the name of the Kubernetes secret of type tls. For other platforms the secrets must be mounted at: /etc/oci/secrets/${secretName}/tls.{key,crt}
    type str
    (Updatable) Type of certificate.
    certificate_id str
    (Updatable) The OCID of the leaf certificate resource.
    secret_name str
    (Updatable) Name of the secret. For Kubernetes this is the name of the Kubernetes secret of type tls. For other platforms the secrets must be mounted at: /etc/oci/secrets/${secretName}/tls.{key,crt}
    type String
    (Updatable) Type of certificate.
    certificateId String
    (Updatable) The OCID of the leaf certificate resource.
    secretName String
    (Updatable) Name of the secret. For Kubernetes this is the name of the Kubernetes secret of type tls. For other platforms the secrets must be mounted at: /etc/oci/secrets/${secretName}/tls.{key,crt}

    IngressGatewayMtls, IngressGatewayMtlsArgs

    CertificateId string
    (Updatable) The OCID of the leaf certificate resource.
    MaximumValidity int
    (Updatable) The number of days the mTLS certificate is valid. This value should be less than the Maximum Validity Duration for Certificates (Days) setting on the Certificate Authority associated with this Mesh. The certificate will be automatically renewed after 2/3 of the validity period, so a certificate with a maximum validity of 45 days will be renewed every 30 days.
    CertificateId string
    (Updatable) The OCID of the leaf certificate resource.
    MaximumValidity int
    (Updatable) The number of days the mTLS certificate is valid. This value should be less than the Maximum Validity Duration for Certificates (Days) setting on the Certificate Authority associated with this Mesh. The certificate will be automatically renewed after 2/3 of the validity period, so a certificate with a maximum validity of 45 days will be renewed every 30 days.
    certificateId String
    (Updatable) The OCID of the leaf certificate resource.
    maximumValidity Integer
    (Updatable) The number of days the mTLS certificate is valid. This value should be less than the Maximum Validity Duration for Certificates (Days) setting on the Certificate Authority associated with this Mesh. The certificate will be automatically renewed after 2/3 of the validity period, so a certificate with a maximum validity of 45 days will be renewed every 30 days.
    certificateId string
    (Updatable) The OCID of the leaf certificate resource.
    maximumValidity number
    (Updatable) The number of days the mTLS certificate is valid. This value should be less than the Maximum Validity Duration for Certificates (Days) setting on the Certificate Authority associated with this Mesh. The certificate will be automatically renewed after 2/3 of the validity period, so a certificate with a maximum validity of 45 days will be renewed every 30 days.
    certificate_id str
    (Updatable) The OCID of the leaf certificate resource.
    maximum_validity int
    (Updatable) The number of days the mTLS certificate is valid. This value should be less than the Maximum Validity Duration for Certificates (Days) setting on the Certificate Authority associated with this Mesh. The certificate will be automatically renewed after 2/3 of the validity period, so a certificate with a maximum validity of 45 days will be renewed every 30 days.
    certificateId String
    (Updatable) The OCID of the leaf certificate resource.
    maximumValidity Number
    (Updatable) The number of days the mTLS certificate is valid. This value should be less than the Maximum Validity Duration for Certificates (Days) setting on the Certificate Authority associated with this Mesh. The certificate will be automatically renewed after 2/3 of the validity period, so a certificate with a maximum validity of 45 days will be renewed every 30 days.

    Import

    IngressGateways can be imported using the id, e.g.

    $ pulumi import oci:ServiceMesh/ingressGateway:IngressGateway test_ingress_gateway "id"
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    oci pulumi/pulumi-oci
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the oci Terraform Provider.
    oci logo
    Oracle Cloud Infrastructure v1.32.0 published on Thursday, Apr 18, 2024 by Pulumi