1. Packages
  2. ngrok
  3. API Docs
  4. EndpointConfiguration
ngrok v0.0.24 published on Friday, Sep 29, 2023 by Piers Karsenbarg

ngrok.EndpointConfiguration

Explore with Pulumi AI

ngrok logo
ngrok v0.0.24 published on Friday, Sep 29, 2023 by Piers Karsenbarg

    Endpoint Configurations are a reusable group of modules that encapsulate how traffic to a domain or address is handled. Endpoint configurations are only applied to Domains and TCP Addresses they have been attached to.

    Example Usage

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Ngrok = PiersKarsenbarg.Ngrok;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Ngrok.EndpointConfiguration("example", new()
        {
            Description = "app servers",
            RequestHeaders = new[]
            {
                new Ngrok.Inputs.EndpointConfigurationRequestHeaderArgs
                {
                    Add = 
                    {
                        { "x-frontend", "ngrok" },
                    },
                    Removes = new[]
                    {
                        "cache-control",
                    },
                },
            },
            Type = "https",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-ngrok/sdk/go/ngrok"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := ngrok.NewEndpointConfiguration(ctx, "example", &ngrok.EndpointConfigurationArgs{
    			Description: pulumi.String("app servers"),
    			RequestHeaders: ngrok.EndpointConfigurationRequestHeaderArray{
    				&ngrok.EndpointConfigurationRequestHeaderArgs{
    					Add: pulumi.StringMap{
    						"x-frontend": pulumi.String("ngrok"),
    					},
    					Removes: pulumi.StringArray{
    						pulumi.String("cache-control"),
    					},
    				},
    			},
    			Type: pulumi.String("https"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ngrok.EndpointConfiguration;
    import com.pulumi.ngrok.EndpointConfigurationArgs;
    import com.pulumi.ngrok.inputs.EndpointConfigurationRequestHeaderArgs;
    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 example = new EndpointConfiguration("example", EndpointConfigurationArgs.builder()        
                .description("app servers")
                .requestHeaders(EndpointConfigurationRequestHeaderArgs.builder()
                    .add(Map.of("x-frontend", "ngrok"))
                    .removes("cache-control")
                    .build())
                .type("https")
                .build());
    
        }
    }
    
    import pulumi
    import pierskarsenbarg_pulumi_ngrok as ngrok
    
    example = ngrok.EndpointConfiguration("example",
        description="app servers",
        request_headers=[ngrok.EndpointConfigurationRequestHeaderArgs(
            add={
                "x-frontend": "ngrok",
            },
            removes=["cache-control"],
        )],
        type="https")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as ngrok from "@pierskarsenbarg/ngrok";
    
    const example = new ngrok.EndpointConfiguration("example", {
        description: "app servers",
        requestHeaders: [{
            add: {
                "x-frontend": "ngrok",
            },
            removes: ["cache-control"],
        }],
        type: "https",
    });
    
    resources:
      example:
        type: ngrok:EndpointConfiguration
        properties:
          description: app servers
          requestHeaders:
            - add:
                x-frontend: ngrok
              removes:
                - cache-control
          type: https
    

    Create EndpointConfiguration Resource

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

    Constructor syntax

    new EndpointConfiguration(name: string, args?: EndpointConfigurationArgs, opts?: CustomResourceOptions);
    @overload
    def EndpointConfiguration(resource_name: str,
                              args: Optional[EndpointConfigurationArgs] = None,
                              opts: Optional[ResourceOptions] = None)
    
    @overload
    def EndpointConfiguration(resource_name: str,
                              opts: Optional[ResourceOptions] = None,
                              backends: Optional[Sequence[EndpointConfigurationBackendArgs]] = None,
                              basic_auths: Optional[Sequence[EndpointConfigurationBasicAuthArgs]] = None,
                              circuit_breakers: Optional[Sequence[EndpointConfigurationCircuitBreakerArgs]] = None,
                              compressions: Optional[Sequence[EndpointConfigurationCompressionArgs]] = None,
                              description: Optional[str] = None,
                              ip_policies: Optional[Sequence[EndpointConfigurationIpPolicyArgs]] = None,
                              loggings: Optional[Sequence[EndpointConfigurationLoggingArgs]] = None,
                              metadata: Optional[str] = None,
                              mutual_tls: Optional[Sequence[EndpointConfigurationMutualTlArgs]] = None,
                              oauths: Optional[Sequence[EndpointConfigurationOauthArgs]] = None,
                              oidcs: Optional[Sequence[EndpointConfigurationOidcArgs]] = None,
                              request_headers: Optional[Sequence[EndpointConfigurationRequestHeaderArgs]] = None,
                              response_headers: Optional[Sequence[EndpointConfigurationResponseHeaderArgs]] = None,
                              samls: Optional[Sequence[EndpointConfigurationSamlArgs]] = None,
                              tls_terminations: Optional[Sequence[EndpointConfigurationTlsTerminationArgs]] = None,
                              type: Optional[str] = None,
                              webhook_validations: Optional[Sequence[EndpointConfigurationWebhookValidationArgs]] = None)
    func NewEndpointConfiguration(ctx *Context, name string, args *EndpointConfigurationArgs, opts ...ResourceOption) (*EndpointConfiguration, error)
    public EndpointConfiguration(string name, EndpointConfigurationArgs? args = null, CustomResourceOptions? opts = null)
    public EndpointConfiguration(String name, EndpointConfigurationArgs args)
    public EndpointConfiguration(String name, EndpointConfigurationArgs args, CustomResourceOptions options)
    
    type: ngrok:EndpointConfiguration
    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 EndpointConfigurationArgs
    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 EndpointConfigurationArgs
    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 EndpointConfigurationArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args EndpointConfigurationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args EndpointConfigurationArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

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

    var endpointConfigurationResource = new Ngrok.EndpointConfiguration("endpointConfigurationResource", new()
    {
        Backends = new[]
        {
            new Ngrok.Inputs.EndpointConfigurationBackendArgs
            {
                Backends = new[]
                {
                    new Ngrok.Inputs.EndpointConfigurationBackendBackendArgs
                    {
                        Id = "string",
                        Uri = "string",
                    },
                },
                Enabled = false,
            },
        },
        BasicAuths = new[]
        {
            new Ngrok.Inputs.EndpointConfigurationBasicAuthArgs
            {
                AllowOptions = false,
                AuthProviderId = "string",
                Enabled = false,
                Realm = "string",
            },
        },
        CircuitBreakers = new[]
        {
            new Ngrok.Inputs.EndpointConfigurationCircuitBreakerArgs
            {
                Enabled = false,
                ErrorThresholdPercentage = 0,
                NumBuckets = 0,
                RollingWindow = 0,
                TrippedDuration = 0,
                VolumeThreshold = 0,
            },
        },
        Compressions = new[]
        {
            new Ngrok.Inputs.EndpointConfigurationCompressionArgs
            {
                Enabled = false,
            },
        },
        Description = "string",
        IpPolicies = new[]
        {
            new Ngrok.Inputs.EndpointConfigurationIpPolicyArgs
            {
                Enabled = false,
                IpPolicies = new[]
                {
                    new Ngrok.Inputs.EndpointConfigurationIpPolicyIpPolicyArgs
                    {
                        Id = "string",
                        Uri = "string",
                    },
                },
            },
        },
        Loggings = new[]
        {
            new Ngrok.Inputs.EndpointConfigurationLoggingArgs
            {
                Enabled = false,
                EventStreams = new[]
                {
                    new Ngrok.Inputs.EndpointConfigurationLoggingEventStreamArgs
                    {
                        Id = "string",
                        Uri = "string",
                    },
                },
            },
        },
        Metadata = "string",
        MutualTls = new[]
        {
            new Ngrok.Inputs.EndpointConfigurationMutualTlArgs
            {
                CertificateAuthorities = new[]
                {
                    new Ngrok.Inputs.EndpointConfigurationMutualTlCertificateAuthorityArgs
                    {
                        Id = "string",
                        Uri = "string",
                    },
                },
                Enabled = false,
            },
        },
        Oauths = new[]
        {
            new Ngrok.Inputs.EndpointConfigurationOauthArgs
            {
                AuthCheckInterval = 0,
                CookiePrefix = "string",
                Enabled = false,
                InactivityTimeout = 0,
                MaximumDuration = 0,
                OptionsPassthrough = false,
                Providers = new[]
                {
                    new Ngrok.Inputs.EndpointConfigurationOauthProviderArgs
                    {
                        Facebooks = new[]
                        {
                            new Ngrok.Inputs.EndpointConfigurationOauthProviderFacebookArgs
                            {
                                ClientId = "string",
                                ClientSecret = "string",
                                EmailAddresses = new[]
                                {
                                    "string",
                                },
                                EmailDomains = new[]
                                {
                                    "string",
                                },
                                Scopes = new[]
                                {
                                    "string",
                                },
                            },
                        },
                        Githubs = new[]
                        {
                            new Ngrok.Inputs.EndpointConfigurationOauthProviderGithubArgs
                            {
                                ClientId = "string",
                                ClientSecret = "string",
                                EmailAddresses = new[]
                                {
                                    "string",
                                },
                                EmailDomains = new[]
                                {
                                    "string",
                                },
                                Organizations = new[]
                                {
                                    "string",
                                },
                                Scopes = new[]
                                {
                                    "string",
                                },
                                Teams = new[]
                                {
                                    "string",
                                },
                            },
                        },
                        Googles = new[]
                        {
                            new Ngrok.Inputs.EndpointConfigurationOauthProviderGoogleArgs
                            {
                                ClientId = "string",
                                ClientSecret = "string",
                                EmailAddresses = new[]
                                {
                                    "string",
                                },
                                EmailDomains = new[]
                                {
                                    "string",
                                },
                                Scopes = new[]
                                {
                                    "string",
                                },
                            },
                        },
                        Microsofts = new[]
                        {
                            new Ngrok.Inputs.EndpointConfigurationOauthProviderMicrosoftArgs
                            {
                                ClientId = "string",
                                ClientSecret = "string",
                                EmailAddresses = new[]
                                {
                                    "string",
                                },
                                EmailDomains = new[]
                                {
                                    "string",
                                },
                                Scopes = new[]
                                {
                                    "string",
                                },
                            },
                        },
                    },
                },
            },
        },
        Oidcs = new[]
        {
            new Ngrok.Inputs.EndpointConfigurationOidcArgs
            {
                ClientId = "string",
                ClientSecret = "string",
                CookiePrefix = "string",
                Enabled = false,
                InactivityTimeout = 0,
                Issuer = "string",
                MaximumDuration = 0,
                OptionsPassthrough = false,
                Scopes = new[]
                {
                    "string",
                },
            },
        },
        RequestHeaders = new[]
        {
            new Ngrok.Inputs.EndpointConfigurationRequestHeaderArgs
            {
                Add = 
                {
                    { "string", "string" },
                },
                Enabled = false,
                Removes = new[]
                {
                    "string",
                },
            },
        },
        ResponseHeaders = new[]
        {
            new Ngrok.Inputs.EndpointConfigurationResponseHeaderArgs
            {
                Add = 
                {
                    { "string", "string" },
                },
                Enabled = false,
                Removes = new[]
                {
                    "string",
                },
            },
        },
        Samls = new[]
        {
            new Ngrok.Inputs.EndpointConfigurationSamlArgs
            {
                AllowIdpInitiated = false,
                AssertionConsumerServiceUrl = "string",
                AuthorizedGroups = new[]
                {
                    "string",
                },
                CookiePrefix = "string",
                Enabled = false,
                EntityId = "string",
                ForceAuthn = false,
                IdpMetadata = "string",
                IdpMetadataUrl = "string",
                InactivityTimeout = 0,
                MaximumDuration = 0,
                MetadataUrl = "string",
                NameidFormat = "string",
                OptionsPassthrough = false,
                RequestSigningCertificatePem = "string",
                SingleLogoutUrl = "string",
            },
        },
        TlsTerminations = new[]
        {
            new Ngrok.Inputs.EndpointConfigurationTlsTerminationArgs
            {
                Enabled = false,
                MinVersion = "string",
                TerminateAt = "string",
            },
        },
        Type = "string",
        WebhookValidations = new[]
        {
            new Ngrok.Inputs.EndpointConfigurationWebhookValidationArgs
            {
                Enabled = false,
                Provider = "string",
                Secret = "string",
            },
        },
    });
    
    example, err := ngrok.NewEndpointConfiguration(ctx, "endpointConfigurationResource", &ngrok.EndpointConfigurationArgs{
    	Backends: ngrok.EndpointConfigurationBackendArray{
    		&ngrok.EndpointConfigurationBackendArgs{
    			Backends: ngrok.EndpointConfigurationBackendBackendArray{
    				&ngrok.EndpointConfigurationBackendBackendArgs{
    					Id:  pulumi.String("string"),
    					Uri: pulumi.String("string"),
    				},
    			},
    			Enabled: pulumi.Bool(false),
    		},
    	},
    	BasicAuths: ngrok.EndpointConfigurationBasicAuthArray{
    		&ngrok.EndpointConfigurationBasicAuthArgs{
    			AllowOptions:   pulumi.Bool(false),
    			AuthProviderId: pulumi.String("string"),
    			Enabled:        pulumi.Bool(false),
    			Realm:          pulumi.String("string"),
    		},
    	},
    	CircuitBreakers: ngrok.EndpointConfigurationCircuitBreakerArray{
    		&ngrok.EndpointConfigurationCircuitBreakerArgs{
    			Enabled:                  pulumi.Bool(false),
    			ErrorThresholdPercentage: pulumi.Float64(0),
    			NumBuckets:               pulumi.Int(0),
    			RollingWindow:            pulumi.Int(0),
    			TrippedDuration:          pulumi.Int(0),
    			VolumeThreshold:          pulumi.Int(0),
    		},
    	},
    	Compressions: ngrok.EndpointConfigurationCompressionArray{
    		&ngrok.EndpointConfigurationCompressionArgs{
    			Enabled: pulumi.Bool(false),
    		},
    	},
    	Description: pulumi.String("string"),
    	IpPolicies: ngrok.EndpointConfigurationIpPolicyArray{
    		&ngrok.EndpointConfigurationIpPolicyArgs{
    			Enabled: pulumi.Bool(false),
    			IpPolicies: ngrok.EndpointConfigurationIpPolicyIpPolicyArray{
    				&ngrok.EndpointConfigurationIpPolicyIpPolicyArgs{
    					Id:  pulumi.String("string"),
    					Uri: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	Loggings: ngrok.EndpointConfigurationLoggingArray{
    		&ngrok.EndpointConfigurationLoggingArgs{
    			Enabled: pulumi.Bool(false),
    			EventStreams: ngrok.EndpointConfigurationLoggingEventStreamArray{
    				&ngrok.EndpointConfigurationLoggingEventStreamArgs{
    					Id:  pulumi.String("string"),
    					Uri: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	Metadata: pulumi.String("string"),
    	MutualTls: ngrok.EndpointConfigurationMutualTlArray{
    		&ngrok.EndpointConfigurationMutualTlArgs{
    			CertificateAuthorities: ngrok.EndpointConfigurationMutualTlCertificateAuthorityArray{
    				&ngrok.EndpointConfigurationMutualTlCertificateAuthorityArgs{
    					Id:  pulumi.String("string"),
    					Uri: pulumi.String("string"),
    				},
    			},
    			Enabled: pulumi.Bool(false),
    		},
    	},
    	Oauths: ngrok.EndpointConfigurationOauthArray{
    		&ngrok.EndpointConfigurationOauthArgs{
    			AuthCheckInterval:  pulumi.Int(0),
    			CookiePrefix:       pulumi.String("string"),
    			Enabled:            pulumi.Bool(false),
    			InactivityTimeout:  pulumi.Int(0),
    			MaximumDuration:    pulumi.Int(0),
    			OptionsPassthrough: pulumi.Bool(false),
    			Providers: ngrok.EndpointConfigurationOauthProviderArray{
    				&ngrok.EndpointConfigurationOauthProviderArgs{
    					Facebooks: ngrok.EndpointConfigurationOauthProviderFacebookArray{
    						&ngrok.EndpointConfigurationOauthProviderFacebookArgs{
    							ClientId:     pulumi.String("string"),
    							ClientSecret: pulumi.String("string"),
    							EmailAddresses: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							EmailDomains: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							Scopes: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    					Githubs: ngrok.EndpointConfigurationOauthProviderGithubArray{
    						&ngrok.EndpointConfigurationOauthProviderGithubArgs{
    							ClientId:     pulumi.String("string"),
    							ClientSecret: pulumi.String("string"),
    							EmailAddresses: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							EmailDomains: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							Organizations: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							Scopes: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							Teams: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    					Googles: ngrok.EndpointConfigurationOauthProviderGoogleArray{
    						&ngrok.EndpointConfigurationOauthProviderGoogleArgs{
    							ClientId:     pulumi.String("string"),
    							ClientSecret: pulumi.String("string"),
    							EmailAddresses: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							EmailDomains: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							Scopes: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    					Microsofts: ngrok.EndpointConfigurationOauthProviderMicrosoftArray{
    						&ngrok.EndpointConfigurationOauthProviderMicrosoftArgs{
    							ClientId:     pulumi.String("string"),
    							ClientSecret: pulumi.String("string"),
    							EmailAddresses: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							EmailDomains: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							Scopes: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    				},
    			},
    		},
    	},
    	Oidcs: ngrok.EndpointConfigurationOidcArray{
    		&ngrok.EndpointConfigurationOidcArgs{
    			ClientId:           pulumi.String("string"),
    			ClientSecret:       pulumi.String("string"),
    			CookiePrefix:       pulumi.String("string"),
    			Enabled:            pulumi.Bool(false),
    			InactivityTimeout:  pulumi.Int(0),
    			Issuer:             pulumi.String("string"),
    			MaximumDuration:    pulumi.Int(0),
    			OptionsPassthrough: pulumi.Bool(false),
    			Scopes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	RequestHeaders: ngrok.EndpointConfigurationRequestHeaderArray{
    		&ngrok.EndpointConfigurationRequestHeaderArgs{
    			Add: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			Enabled: pulumi.Bool(false),
    			Removes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	ResponseHeaders: ngrok.EndpointConfigurationResponseHeaderArray{
    		&ngrok.EndpointConfigurationResponseHeaderArgs{
    			Add: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			Enabled: pulumi.Bool(false),
    			Removes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	Samls: ngrok.EndpointConfigurationSamlArray{
    		&ngrok.EndpointConfigurationSamlArgs{
    			AllowIdpInitiated:           pulumi.Bool(false),
    			AssertionConsumerServiceUrl: pulumi.String("string"),
    			AuthorizedGroups: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			CookiePrefix:                 pulumi.String("string"),
    			Enabled:                      pulumi.Bool(false),
    			EntityId:                     pulumi.String("string"),
    			ForceAuthn:                   pulumi.Bool(false),
    			IdpMetadata:                  pulumi.String("string"),
    			IdpMetadataUrl:               pulumi.String("string"),
    			InactivityTimeout:            pulumi.Int(0),
    			MaximumDuration:              pulumi.Int(0),
    			MetadataUrl:                  pulumi.String("string"),
    			NameidFormat:                 pulumi.String("string"),
    			OptionsPassthrough:           pulumi.Bool(false),
    			RequestSigningCertificatePem: pulumi.String("string"),
    			SingleLogoutUrl:              pulumi.String("string"),
    		},
    	},
    	TlsTerminations: ngrok.EndpointConfigurationTlsTerminationArray{
    		&ngrok.EndpointConfigurationTlsTerminationArgs{
    			Enabled:     pulumi.Bool(false),
    			MinVersion:  pulumi.String("string"),
    			TerminateAt: pulumi.String("string"),
    		},
    	},
    	Type: pulumi.String("string"),
    	WebhookValidations: ngrok.EndpointConfigurationWebhookValidationArray{
    		&ngrok.EndpointConfigurationWebhookValidationArgs{
    			Enabled:  pulumi.Bool(false),
    			Provider: pulumi.String("string"),
    			Secret:   pulumi.String("string"),
    		},
    	},
    })
    
    var endpointConfigurationResource = new EndpointConfiguration("endpointConfigurationResource", EndpointConfigurationArgs.builder()
        .backends(EndpointConfigurationBackendArgs.builder()
            .backends(EndpointConfigurationBackendBackendArgs.builder()
                .id("string")
                .uri("string")
                .build())
            .enabled(false)
            .build())
        .basicAuths(EndpointConfigurationBasicAuthArgs.builder()
            .allowOptions(false)
            .authProviderId("string")
            .enabled(false)
            .realm("string")
            .build())
        .circuitBreakers(EndpointConfigurationCircuitBreakerArgs.builder()
            .enabled(false)
            .errorThresholdPercentage(0)
            .numBuckets(0)
            .rollingWindow(0)
            .trippedDuration(0)
            .volumeThreshold(0)
            .build())
        .compressions(EndpointConfigurationCompressionArgs.builder()
            .enabled(false)
            .build())
        .description("string")
        .ipPolicies(EndpointConfigurationIpPolicyArgs.builder()
            .enabled(false)
            .ipPolicies(EndpointConfigurationIpPolicyIpPolicyArgs.builder()
                .id("string")
                .uri("string")
                .build())
            .build())
        .loggings(EndpointConfigurationLoggingArgs.builder()
            .enabled(false)
            .eventStreams(EndpointConfigurationLoggingEventStreamArgs.builder()
                .id("string")
                .uri("string")
                .build())
            .build())
        .metadata("string")
        .mutualTls(EndpointConfigurationMutualTlArgs.builder()
            .certificateAuthorities(EndpointConfigurationMutualTlCertificateAuthorityArgs.builder()
                .id("string")
                .uri("string")
                .build())
            .enabled(false)
            .build())
        .oauths(EndpointConfigurationOauthArgs.builder()
            .authCheckInterval(0)
            .cookiePrefix("string")
            .enabled(false)
            .inactivityTimeout(0)
            .maximumDuration(0)
            .optionsPassthrough(false)
            .providers(EndpointConfigurationOauthProviderArgs.builder()
                .facebooks(EndpointConfigurationOauthProviderFacebookArgs.builder()
                    .clientId("string")
                    .clientSecret("string")
                    .emailAddresses("string")
                    .emailDomains("string")
                    .scopes("string")
                    .build())
                .githubs(EndpointConfigurationOauthProviderGithubArgs.builder()
                    .clientId("string")
                    .clientSecret("string")
                    .emailAddresses("string")
                    .emailDomains("string")
                    .organizations("string")
                    .scopes("string")
                    .teams("string")
                    .build())
                .googles(EndpointConfigurationOauthProviderGoogleArgs.builder()
                    .clientId("string")
                    .clientSecret("string")
                    .emailAddresses("string")
                    .emailDomains("string")
                    .scopes("string")
                    .build())
                .microsofts(EndpointConfigurationOauthProviderMicrosoftArgs.builder()
                    .clientId("string")
                    .clientSecret("string")
                    .emailAddresses("string")
                    .emailDomains("string")
                    .scopes("string")
                    .build())
                .build())
            .build())
        .oidcs(EndpointConfigurationOidcArgs.builder()
            .clientId("string")
            .clientSecret("string")
            .cookiePrefix("string")
            .enabled(false)
            .inactivityTimeout(0)
            .issuer("string")
            .maximumDuration(0)
            .optionsPassthrough(false)
            .scopes("string")
            .build())
        .requestHeaders(EndpointConfigurationRequestHeaderArgs.builder()
            .add(Map.of("string", "string"))
            .enabled(false)
            .removes("string")
            .build())
        .responseHeaders(EndpointConfigurationResponseHeaderArgs.builder()
            .add(Map.of("string", "string"))
            .enabled(false)
            .removes("string")
            .build())
        .samls(EndpointConfigurationSamlArgs.builder()
            .allowIdpInitiated(false)
            .assertionConsumerServiceUrl("string")
            .authorizedGroups("string")
            .cookiePrefix("string")
            .enabled(false)
            .entityId("string")
            .forceAuthn(false)
            .idpMetadata("string")
            .idpMetadataUrl("string")
            .inactivityTimeout(0)
            .maximumDuration(0)
            .metadataUrl("string")
            .nameidFormat("string")
            .optionsPassthrough(false)
            .requestSigningCertificatePem("string")
            .singleLogoutUrl("string")
            .build())
        .tlsTerminations(EndpointConfigurationTlsTerminationArgs.builder()
            .enabled(false)
            .minVersion("string")
            .terminateAt("string")
            .build())
        .type("string")
        .webhookValidations(EndpointConfigurationWebhookValidationArgs.builder()
            .enabled(false)
            .provider("string")
            .secret("string")
            .build())
        .build());
    
    endpoint_configuration_resource = ngrok.EndpointConfiguration("endpointConfigurationResource",
        backends=[{
            "backends": [{
                "id": "string",
                "uri": "string",
            }],
            "enabled": False,
        }],
        basic_auths=[{
            "allow_options": False,
            "auth_provider_id": "string",
            "enabled": False,
            "realm": "string",
        }],
        circuit_breakers=[{
            "enabled": False,
            "error_threshold_percentage": 0,
            "num_buckets": 0,
            "rolling_window": 0,
            "tripped_duration": 0,
            "volume_threshold": 0,
        }],
        compressions=[{
            "enabled": False,
        }],
        description="string",
        ip_policies=[{
            "enabled": False,
            "ip_policies": [{
                "id": "string",
                "uri": "string",
            }],
        }],
        loggings=[{
            "enabled": False,
            "event_streams": [{
                "id": "string",
                "uri": "string",
            }],
        }],
        metadata="string",
        mutual_tls=[{
            "certificate_authorities": [{
                "id": "string",
                "uri": "string",
            }],
            "enabled": False,
        }],
        oauths=[{
            "auth_check_interval": 0,
            "cookie_prefix": "string",
            "enabled": False,
            "inactivity_timeout": 0,
            "maximum_duration": 0,
            "options_passthrough": False,
            "providers": [{
                "facebooks": [{
                    "client_id": "string",
                    "client_secret": "string",
                    "email_addresses": ["string"],
                    "email_domains": ["string"],
                    "scopes": ["string"],
                }],
                "githubs": [{
                    "client_id": "string",
                    "client_secret": "string",
                    "email_addresses": ["string"],
                    "email_domains": ["string"],
                    "organizations": ["string"],
                    "scopes": ["string"],
                    "teams": ["string"],
                }],
                "googles": [{
                    "client_id": "string",
                    "client_secret": "string",
                    "email_addresses": ["string"],
                    "email_domains": ["string"],
                    "scopes": ["string"],
                }],
                "microsofts": [{
                    "client_id": "string",
                    "client_secret": "string",
                    "email_addresses": ["string"],
                    "email_domains": ["string"],
                    "scopes": ["string"],
                }],
            }],
        }],
        oidcs=[{
            "client_id": "string",
            "client_secret": "string",
            "cookie_prefix": "string",
            "enabled": False,
            "inactivity_timeout": 0,
            "issuer": "string",
            "maximum_duration": 0,
            "options_passthrough": False,
            "scopes": ["string"],
        }],
        request_headers=[{
            "add": {
                "string": "string",
            },
            "enabled": False,
            "removes": ["string"],
        }],
        response_headers=[{
            "add": {
                "string": "string",
            },
            "enabled": False,
            "removes": ["string"],
        }],
        samls=[{
            "allow_idp_initiated": False,
            "assertion_consumer_service_url": "string",
            "authorized_groups": ["string"],
            "cookie_prefix": "string",
            "enabled": False,
            "entity_id": "string",
            "force_authn": False,
            "idp_metadata": "string",
            "idp_metadata_url": "string",
            "inactivity_timeout": 0,
            "maximum_duration": 0,
            "metadata_url": "string",
            "nameid_format": "string",
            "options_passthrough": False,
            "request_signing_certificate_pem": "string",
            "single_logout_url": "string",
        }],
        tls_terminations=[{
            "enabled": False,
            "min_version": "string",
            "terminate_at": "string",
        }],
        type="string",
        webhook_validations=[{
            "enabled": False,
            "provider": "string",
            "secret": "string",
        }])
    
    const endpointConfigurationResource = new ngrok.EndpointConfiguration("endpointConfigurationResource", {
        backends: [{
            backends: [{
                id: "string",
                uri: "string",
            }],
            enabled: false,
        }],
        basicAuths: [{
            allowOptions: false,
            authProviderId: "string",
            enabled: false,
            realm: "string",
        }],
        circuitBreakers: [{
            enabled: false,
            errorThresholdPercentage: 0,
            numBuckets: 0,
            rollingWindow: 0,
            trippedDuration: 0,
            volumeThreshold: 0,
        }],
        compressions: [{
            enabled: false,
        }],
        description: "string",
        ipPolicies: [{
            enabled: false,
            ipPolicies: [{
                id: "string",
                uri: "string",
            }],
        }],
        loggings: [{
            enabled: false,
            eventStreams: [{
                id: "string",
                uri: "string",
            }],
        }],
        metadata: "string",
        mutualTls: [{
            certificateAuthorities: [{
                id: "string",
                uri: "string",
            }],
            enabled: false,
        }],
        oauths: [{
            authCheckInterval: 0,
            cookiePrefix: "string",
            enabled: false,
            inactivityTimeout: 0,
            maximumDuration: 0,
            optionsPassthrough: false,
            providers: [{
                facebooks: [{
                    clientId: "string",
                    clientSecret: "string",
                    emailAddresses: ["string"],
                    emailDomains: ["string"],
                    scopes: ["string"],
                }],
                githubs: [{
                    clientId: "string",
                    clientSecret: "string",
                    emailAddresses: ["string"],
                    emailDomains: ["string"],
                    organizations: ["string"],
                    scopes: ["string"],
                    teams: ["string"],
                }],
                googles: [{
                    clientId: "string",
                    clientSecret: "string",
                    emailAddresses: ["string"],
                    emailDomains: ["string"],
                    scopes: ["string"],
                }],
                microsofts: [{
                    clientId: "string",
                    clientSecret: "string",
                    emailAddresses: ["string"],
                    emailDomains: ["string"],
                    scopes: ["string"],
                }],
            }],
        }],
        oidcs: [{
            clientId: "string",
            clientSecret: "string",
            cookiePrefix: "string",
            enabled: false,
            inactivityTimeout: 0,
            issuer: "string",
            maximumDuration: 0,
            optionsPassthrough: false,
            scopes: ["string"],
        }],
        requestHeaders: [{
            add: {
                string: "string",
            },
            enabled: false,
            removes: ["string"],
        }],
        responseHeaders: [{
            add: {
                string: "string",
            },
            enabled: false,
            removes: ["string"],
        }],
        samls: [{
            allowIdpInitiated: false,
            assertionConsumerServiceUrl: "string",
            authorizedGroups: ["string"],
            cookiePrefix: "string",
            enabled: false,
            entityId: "string",
            forceAuthn: false,
            idpMetadata: "string",
            idpMetadataUrl: "string",
            inactivityTimeout: 0,
            maximumDuration: 0,
            metadataUrl: "string",
            nameidFormat: "string",
            optionsPassthrough: false,
            requestSigningCertificatePem: "string",
            singleLogoutUrl: "string",
        }],
        tlsTerminations: [{
            enabled: false,
            minVersion: "string",
            terminateAt: "string",
        }],
        type: "string",
        webhookValidations: [{
            enabled: false,
            provider: "string",
            secret: "string",
        }],
    });
    
    type: ngrok:EndpointConfiguration
    properties:
        backends:
            - backends:
                - id: string
                  uri: string
              enabled: false
        basicAuths:
            - allowOptions: false
              authProviderId: string
              enabled: false
              realm: string
        circuitBreakers:
            - enabled: false
              errorThresholdPercentage: 0
              numBuckets: 0
              rollingWindow: 0
              trippedDuration: 0
              volumeThreshold: 0
        compressions:
            - enabled: false
        description: string
        ipPolicies:
            - enabled: false
              ipPolicies:
                - id: string
                  uri: string
        loggings:
            - enabled: false
              eventStreams:
                - id: string
                  uri: string
        metadata: string
        mutualTls:
            - certificateAuthorities:
                - id: string
                  uri: string
              enabled: false
        oauths:
            - authCheckInterval: 0
              cookiePrefix: string
              enabled: false
              inactivityTimeout: 0
              maximumDuration: 0
              optionsPassthrough: false
              providers:
                - facebooks:
                    - clientId: string
                      clientSecret: string
                      emailAddresses:
                        - string
                      emailDomains:
                        - string
                      scopes:
                        - string
                  githubs:
                    - clientId: string
                      clientSecret: string
                      emailAddresses:
                        - string
                      emailDomains:
                        - string
                      organizations:
                        - string
                      scopes:
                        - string
                      teams:
                        - string
                  googles:
                    - clientId: string
                      clientSecret: string
                      emailAddresses:
                        - string
                      emailDomains:
                        - string
                      scopes:
                        - string
                  microsofts:
                    - clientId: string
                      clientSecret: string
                      emailAddresses:
                        - string
                      emailDomains:
                        - string
                      scopes:
                        - string
        oidcs:
            - clientId: string
              clientSecret: string
              cookiePrefix: string
              enabled: false
              inactivityTimeout: 0
              issuer: string
              maximumDuration: 0
              optionsPassthrough: false
              scopes:
                - string
        requestHeaders:
            - add:
                string: string
              enabled: false
              removes:
                - string
        responseHeaders:
            - add:
                string: string
              enabled: false
              removes:
                - string
        samls:
            - allowIdpInitiated: false
              assertionConsumerServiceUrl: string
              authorizedGroups:
                - string
              cookiePrefix: string
              enabled: false
              entityId: string
              forceAuthn: false
              idpMetadata: string
              idpMetadataUrl: string
              inactivityTimeout: 0
              maximumDuration: 0
              metadataUrl: string
              nameidFormat: string
              optionsPassthrough: false
              requestSigningCertificatePem: string
              singleLogoutUrl: string
        tlsTerminations:
            - enabled: false
              minVersion: string
              terminateAt: string
        type: string
        webhookValidations:
            - enabled: false
              provider: string
              secret: string
    

    EndpointConfiguration Resource Properties

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

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The EndpointConfiguration resource accepts the following input properties:

    Backends List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationBackend>
    backend module configuration or null
    BasicAuths List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationBasicAuth>
    basic auth module configuration or null
    CircuitBreakers List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationCircuitBreaker>
    circuit breaker module configuration or null
    Compressions List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationCompression>
    compression module configuration or null
    Description string
    human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
    IpPolicies List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationIpPolicy>
    ip policy module configuration or null
    Loggings List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationLogging>
    logging module configuration or null
    Metadata string
    arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
    MutualTls List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationMutualTl>
    mutual TLS module configuration or null
    Oauths List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationOauth>
    oauth module configuration or null
    Oidcs List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationOidc>
    oidc module configuration or null
    RequestHeaders List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationRequestHeader>
    request headers module configuration or null
    ResponseHeaders List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationResponseHeader>
    response headers module configuration or null
    Samls List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationSaml>
    saml module configuration or null
    TlsTerminations List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationTlsTermination>
    TLS termination module configuration or null
    Type string
    they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp
    WebhookValidations List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationWebhookValidation>
    webhook validation module configuration or null
    Backends []EndpointConfigurationBackendArgs
    backend module configuration or null
    BasicAuths []EndpointConfigurationBasicAuthArgs
    basic auth module configuration or null
    CircuitBreakers []EndpointConfigurationCircuitBreakerArgs
    circuit breaker module configuration or null
    Compressions []EndpointConfigurationCompressionArgs
    compression module configuration or null
    Description string
    human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
    IpPolicies []EndpointConfigurationIpPolicyArgs
    ip policy module configuration or null
    Loggings []EndpointConfigurationLoggingArgs
    logging module configuration or null
    Metadata string
    arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
    MutualTls []EndpointConfigurationMutualTlArgs
    mutual TLS module configuration or null
    Oauths []EndpointConfigurationOauthArgs
    oauth module configuration or null
    Oidcs []EndpointConfigurationOidcArgs
    oidc module configuration or null
    RequestHeaders []EndpointConfigurationRequestHeaderArgs
    request headers module configuration or null
    ResponseHeaders []EndpointConfigurationResponseHeaderArgs
    response headers module configuration or null
    Samls []EndpointConfigurationSamlArgs
    saml module configuration or null
    TlsTerminations []EndpointConfigurationTlsTerminationArgs
    TLS termination module configuration or null
    Type string
    they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp
    WebhookValidations []EndpointConfigurationWebhookValidationArgs
    webhook validation module configuration or null
    backends List<EndpointConfigurationBackend>
    backend module configuration or null
    basicAuths List<EndpointConfigurationBasicAuth>
    basic auth module configuration or null
    circuitBreakers List<EndpointConfigurationCircuitBreaker>
    circuit breaker module configuration or null
    compressions List<EndpointConfigurationCompression>
    compression module configuration or null
    description String
    human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
    ipPolicies List<EndpointConfigurationIpPolicy>
    ip policy module configuration or null
    loggings List<EndpointConfigurationLogging>
    logging module configuration or null
    metadata String
    arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
    mutualTls List<EndpointConfigurationMutualTl>
    mutual TLS module configuration or null
    oauths List<EndpointConfigurationOauth>
    oauth module configuration or null
    oidcs List<EndpointConfigurationOidc>
    oidc module configuration or null
    requestHeaders List<EndpointConfigurationRequestHeader>
    request headers module configuration or null
    responseHeaders List<EndpointConfigurationResponseHeader>
    response headers module configuration or null
    samls List<EndpointConfigurationSaml>
    saml module configuration or null
    tlsTerminations List<EndpointConfigurationTlsTermination>
    TLS termination module configuration or null
    type String
    they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp
    webhookValidations List<EndpointConfigurationWebhookValidation>
    webhook validation module configuration or null
    backends EndpointConfigurationBackend[]
    backend module configuration or null
    basicAuths EndpointConfigurationBasicAuth[]
    basic auth module configuration or null
    circuitBreakers EndpointConfigurationCircuitBreaker[]
    circuit breaker module configuration or null
    compressions EndpointConfigurationCompression[]
    compression module configuration or null
    description string
    human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
    ipPolicies EndpointConfigurationIpPolicy[]
    ip policy module configuration or null
    loggings EndpointConfigurationLogging[]
    logging module configuration or null
    metadata string
    arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
    mutualTls EndpointConfigurationMutualTl[]
    mutual TLS module configuration or null
    oauths EndpointConfigurationOauth[]
    oauth module configuration or null
    oidcs EndpointConfigurationOidc[]
    oidc module configuration or null
    requestHeaders EndpointConfigurationRequestHeader[]
    request headers module configuration or null
    responseHeaders EndpointConfigurationResponseHeader[]
    response headers module configuration or null
    samls EndpointConfigurationSaml[]
    saml module configuration or null
    tlsTerminations EndpointConfigurationTlsTermination[]
    TLS termination module configuration or null
    type string
    they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp
    webhookValidations EndpointConfigurationWebhookValidation[]
    webhook validation module configuration or null
    backends Sequence[EndpointConfigurationBackendArgs]
    backend module configuration or null
    basic_auths Sequence[EndpointConfigurationBasicAuthArgs]
    basic auth module configuration or null
    circuit_breakers Sequence[EndpointConfigurationCircuitBreakerArgs]
    circuit breaker module configuration or null
    compressions Sequence[EndpointConfigurationCompressionArgs]
    compression module configuration or null
    description str
    human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
    ip_policies Sequence[EndpointConfigurationIpPolicyArgs]
    ip policy module configuration or null
    loggings Sequence[EndpointConfigurationLoggingArgs]
    logging module configuration or null
    metadata str
    arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
    mutual_tls Sequence[EndpointConfigurationMutualTlArgs]
    mutual TLS module configuration or null
    oauths Sequence[EndpointConfigurationOauthArgs]
    oauth module configuration or null
    oidcs Sequence[EndpointConfigurationOidcArgs]
    oidc module configuration or null
    request_headers Sequence[EndpointConfigurationRequestHeaderArgs]
    request headers module configuration or null
    response_headers Sequence[EndpointConfigurationResponseHeaderArgs]
    response headers module configuration or null
    samls Sequence[EndpointConfigurationSamlArgs]
    saml module configuration or null
    tls_terminations Sequence[EndpointConfigurationTlsTerminationArgs]
    TLS termination module configuration or null
    type str
    they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp
    webhook_validations Sequence[EndpointConfigurationWebhookValidationArgs]
    webhook validation module configuration or null
    backends List<Property Map>
    backend module configuration or null
    basicAuths List<Property Map>
    basic auth module configuration or null
    circuitBreakers List<Property Map>
    circuit breaker module configuration or null
    compressions List<Property Map>
    compression module configuration or null
    description String
    human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
    ipPolicies List<Property Map>
    ip policy module configuration or null
    loggings List<Property Map>
    logging module configuration or null
    metadata String
    arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
    mutualTls List<Property Map>
    mutual TLS module configuration or null
    oauths List<Property Map>
    oauth module configuration or null
    oidcs List<Property Map>
    oidc module configuration or null
    requestHeaders List<Property Map>
    request headers module configuration or null
    responseHeaders List<Property Map>
    response headers module configuration or null
    samls List<Property Map>
    saml module configuration or null
    tlsTerminations List<Property Map>
    TLS termination module configuration or null
    type String
    they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp
    webhookValidations List<Property Map>
    webhook validation module configuration or null

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing EndpointConfiguration Resource

    Get an existing EndpointConfiguration 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?: EndpointConfigurationState, opts?: CustomResourceOptions): EndpointConfiguration
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            backends: Optional[Sequence[EndpointConfigurationBackendArgs]] = None,
            basic_auths: Optional[Sequence[EndpointConfigurationBasicAuthArgs]] = None,
            circuit_breakers: Optional[Sequence[EndpointConfigurationCircuitBreakerArgs]] = None,
            compressions: Optional[Sequence[EndpointConfigurationCompressionArgs]] = None,
            description: Optional[str] = None,
            ip_policies: Optional[Sequence[EndpointConfigurationIpPolicyArgs]] = None,
            loggings: Optional[Sequence[EndpointConfigurationLoggingArgs]] = None,
            metadata: Optional[str] = None,
            mutual_tls: Optional[Sequence[EndpointConfigurationMutualTlArgs]] = None,
            oauths: Optional[Sequence[EndpointConfigurationOauthArgs]] = None,
            oidcs: Optional[Sequence[EndpointConfigurationOidcArgs]] = None,
            request_headers: Optional[Sequence[EndpointConfigurationRequestHeaderArgs]] = None,
            response_headers: Optional[Sequence[EndpointConfigurationResponseHeaderArgs]] = None,
            samls: Optional[Sequence[EndpointConfigurationSamlArgs]] = None,
            tls_terminations: Optional[Sequence[EndpointConfigurationTlsTerminationArgs]] = None,
            type: Optional[str] = None,
            webhook_validations: Optional[Sequence[EndpointConfigurationWebhookValidationArgs]] = None) -> EndpointConfiguration
    func GetEndpointConfiguration(ctx *Context, name string, id IDInput, state *EndpointConfigurationState, opts ...ResourceOption) (*EndpointConfiguration, error)
    public static EndpointConfiguration Get(string name, Input<string> id, EndpointConfigurationState? state, CustomResourceOptions? opts = null)
    public static EndpointConfiguration get(String name, Output<String> id, EndpointConfigurationState 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:
    Backends List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationBackend>
    backend module configuration or null
    BasicAuths List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationBasicAuth>
    basic auth module configuration or null
    CircuitBreakers List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationCircuitBreaker>
    circuit breaker module configuration or null
    Compressions List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationCompression>
    compression module configuration or null
    Description string
    human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
    IpPolicies List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationIpPolicy>
    ip policy module configuration or null
    Loggings List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationLogging>
    logging module configuration or null
    Metadata string
    arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
    MutualTls List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationMutualTl>
    mutual TLS module configuration or null
    Oauths List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationOauth>
    oauth module configuration or null
    Oidcs List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationOidc>
    oidc module configuration or null
    RequestHeaders List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationRequestHeader>
    request headers module configuration or null
    ResponseHeaders List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationResponseHeader>
    response headers module configuration or null
    Samls List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationSaml>
    saml module configuration or null
    TlsTerminations List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationTlsTermination>
    TLS termination module configuration or null
    Type string
    they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp
    WebhookValidations List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationWebhookValidation>
    webhook validation module configuration or null
    Backends []EndpointConfigurationBackendArgs
    backend module configuration or null
    BasicAuths []EndpointConfigurationBasicAuthArgs
    basic auth module configuration or null
    CircuitBreakers []EndpointConfigurationCircuitBreakerArgs
    circuit breaker module configuration or null
    Compressions []EndpointConfigurationCompressionArgs
    compression module configuration or null
    Description string
    human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
    IpPolicies []EndpointConfigurationIpPolicyArgs
    ip policy module configuration or null
    Loggings []EndpointConfigurationLoggingArgs
    logging module configuration or null
    Metadata string
    arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
    MutualTls []EndpointConfigurationMutualTlArgs
    mutual TLS module configuration or null
    Oauths []EndpointConfigurationOauthArgs
    oauth module configuration or null
    Oidcs []EndpointConfigurationOidcArgs
    oidc module configuration or null
    RequestHeaders []EndpointConfigurationRequestHeaderArgs
    request headers module configuration or null
    ResponseHeaders []EndpointConfigurationResponseHeaderArgs
    response headers module configuration or null
    Samls []EndpointConfigurationSamlArgs
    saml module configuration or null
    TlsTerminations []EndpointConfigurationTlsTerminationArgs
    TLS termination module configuration or null
    Type string
    they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp
    WebhookValidations []EndpointConfigurationWebhookValidationArgs
    webhook validation module configuration or null
    backends List<EndpointConfigurationBackend>
    backend module configuration or null
    basicAuths List<EndpointConfigurationBasicAuth>
    basic auth module configuration or null
    circuitBreakers List<EndpointConfigurationCircuitBreaker>
    circuit breaker module configuration or null
    compressions List<EndpointConfigurationCompression>
    compression module configuration or null
    description String
    human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
    ipPolicies List<EndpointConfigurationIpPolicy>
    ip policy module configuration or null
    loggings List<EndpointConfigurationLogging>
    logging module configuration or null
    metadata String
    arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
    mutualTls List<EndpointConfigurationMutualTl>
    mutual TLS module configuration or null
    oauths List<EndpointConfigurationOauth>
    oauth module configuration or null
    oidcs List<EndpointConfigurationOidc>
    oidc module configuration or null
    requestHeaders List<EndpointConfigurationRequestHeader>
    request headers module configuration or null
    responseHeaders List<EndpointConfigurationResponseHeader>
    response headers module configuration or null
    samls List<EndpointConfigurationSaml>
    saml module configuration or null
    tlsTerminations List<EndpointConfigurationTlsTermination>
    TLS termination module configuration or null
    type String
    they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp
    webhookValidations List<EndpointConfigurationWebhookValidation>
    webhook validation module configuration or null
    backends EndpointConfigurationBackend[]
    backend module configuration or null
    basicAuths EndpointConfigurationBasicAuth[]
    basic auth module configuration or null
    circuitBreakers EndpointConfigurationCircuitBreaker[]
    circuit breaker module configuration or null
    compressions EndpointConfigurationCompression[]
    compression module configuration or null
    description string
    human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
    ipPolicies EndpointConfigurationIpPolicy[]
    ip policy module configuration or null
    loggings EndpointConfigurationLogging[]
    logging module configuration or null
    metadata string
    arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
    mutualTls EndpointConfigurationMutualTl[]
    mutual TLS module configuration or null
    oauths EndpointConfigurationOauth[]
    oauth module configuration or null
    oidcs EndpointConfigurationOidc[]
    oidc module configuration or null
    requestHeaders EndpointConfigurationRequestHeader[]
    request headers module configuration or null
    responseHeaders EndpointConfigurationResponseHeader[]
    response headers module configuration or null
    samls EndpointConfigurationSaml[]
    saml module configuration or null
    tlsTerminations EndpointConfigurationTlsTermination[]
    TLS termination module configuration or null
    type string
    they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp
    webhookValidations EndpointConfigurationWebhookValidation[]
    webhook validation module configuration or null
    backends Sequence[EndpointConfigurationBackendArgs]
    backend module configuration or null
    basic_auths Sequence[EndpointConfigurationBasicAuthArgs]
    basic auth module configuration or null
    circuit_breakers Sequence[EndpointConfigurationCircuitBreakerArgs]
    circuit breaker module configuration or null
    compressions Sequence[EndpointConfigurationCompressionArgs]
    compression module configuration or null
    description str
    human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
    ip_policies Sequence[EndpointConfigurationIpPolicyArgs]
    ip policy module configuration or null
    loggings Sequence[EndpointConfigurationLoggingArgs]
    logging module configuration or null
    metadata str
    arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
    mutual_tls Sequence[EndpointConfigurationMutualTlArgs]
    mutual TLS module configuration or null
    oauths Sequence[EndpointConfigurationOauthArgs]
    oauth module configuration or null
    oidcs Sequence[EndpointConfigurationOidcArgs]
    oidc module configuration or null
    request_headers Sequence[EndpointConfigurationRequestHeaderArgs]
    request headers module configuration or null
    response_headers Sequence[EndpointConfigurationResponseHeaderArgs]
    response headers module configuration or null
    samls Sequence[EndpointConfigurationSamlArgs]
    saml module configuration or null
    tls_terminations Sequence[EndpointConfigurationTlsTerminationArgs]
    TLS termination module configuration or null
    type str
    they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp
    webhook_validations Sequence[EndpointConfigurationWebhookValidationArgs]
    webhook validation module configuration or null
    backends List<Property Map>
    backend module configuration or null
    basicAuths List<Property Map>
    basic auth module configuration or null
    circuitBreakers List<Property Map>
    circuit breaker module configuration or null
    compressions List<Property Map>
    compression module configuration or null
    description String
    human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
    ipPolicies List<Property Map>
    ip policy module configuration or null
    loggings List<Property Map>
    logging module configuration or null
    metadata String
    arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
    mutualTls List<Property Map>
    mutual TLS module configuration or null
    oauths List<Property Map>
    oauth module configuration or null
    oidcs List<Property Map>
    oidc module configuration or null
    requestHeaders List<Property Map>
    request headers module configuration or null
    responseHeaders List<Property Map>
    response headers module configuration or null
    samls List<Property Map>
    saml module configuration or null
    tlsTerminations List<Property Map>
    TLS termination module configuration or null
    type String
    they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp
    webhookValidations List<Property Map>
    webhook validation module configuration or null

    Supporting Types

    EndpointConfigurationBackend, EndpointConfigurationBackendArgs

    Backends List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationBackendBackend>
    backend to be used to back this endpoint
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    Backends []EndpointConfigurationBackendBackend
    backend to be used to back this endpoint
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    backends List<EndpointConfigurationBackendBackend>
    backend to be used to back this endpoint
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    backends EndpointConfigurationBackendBackend[]
    backend to be used to back this endpoint
    enabled boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    backends Sequence[EndpointConfigurationBackendBackend]
    backend to be used to back this endpoint
    enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    backends List<Property Map>
    backend to be used to back this endpoint
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified

    EndpointConfigurationBackendBackend, EndpointConfigurationBackendBackendArgs

    Id string
    unique identifier of this endpoint configuration
    Uri string
    Id string
    unique identifier of this endpoint configuration
    Uri string
    id String
    unique identifier of this endpoint configuration
    uri String
    id string
    unique identifier of this endpoint configuration
    uri string
    id str
    unique identifier of this endpoint configuration
    uri str
    id String
    unique identifier of this endpoint configuration
    uri String

    EndpointConfigurationBasicAuth, EndpointConfigurationBasicAuthArgs

    AllowOptions bool
    true or false indicating whether to allow OPTIONS requests through without authentication which is necessary for CORS. default is false
    AuthProviderId string
    determines how the basic auth credentials are validated. Currently only the value agent is supported which means that credentials will be validated against the username and password specified by the ngrok agent's --basic-auth flag, if any.
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    Realm string
    an arbitrary string to be specified in as the 'realm' value in the WWW-Authenticate header. default is ngrok
    AllowOptions bool
    true or false indicating whether to allow OPTIONS requests through without authentication which is necessary for CORS. default is false
    AuthProviderId string
    determines how the basic auth credentials are validated. Currently only the value agent is supported which means that credentials will be validated against the username and password specified by the ngrok agent's --basic-auth flag, if any.
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    Realm string
    an arbitrary string to be specified in as the 'realm' value in the WWW-Authenticate header. default is ngrok
    allowOptions Boolean
    true or false indicating whether to allow OPTIONS requests through without authentication which is necessary for CORS. default is false
    authProviderId String
    determines how the basic auth credentials are validated. Currently only the value agent is supported which means that credentials will be validated against the username and password specified by the ngrok agent's --basic-auth flag, if any.
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    realm String
    an arbitrary string to be specified in as the 'realm' value in the WWW-Authenticate header. default is ngrok
    allowOptions boolean
    true or false indicating whether to allow OPTIONS requests through without authentication which is necessary for CORS. default is false
    authProviderId string
    determines how the basic auth credentials are validated. Currently only the value agent is supported which means that credentials will be validated against the username and password specified by the ngrok agent's --basic-auth flag, if any.
    enabled boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    realm string
    an arbitrary string to be specified in as the 'realm' value in the WWW-Authenticate header. default is ngrok
    allow_options bool
    true or false indicating whether to allow OPTIONS requests through without authentication which is necessary for CORS. default is false
    auth_provider_id str
    determines how the basic auth credentials are validated. Currently only the value agent is supported which means that credentials will be validated against the username and password specified by the ngrok agent's --basic-auth flag, if any.
    enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    realm str
    an arbitrary string to be specified in as the 'realm' value in the WWW-Authenticate header. default is ngrok
    allowOptions Boolean
    true or false indicating whether to allow OPTIONS requests through without authentication which is necessary for CORS. default is false
    authProviderId String
    determines how the basic auth credentials are validated. Currently only the value agent is supported which means that credentials will be validated against the username and password specified by the ngrok agent's --basic-auth flag, if any.
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    realm String
    an arbitrary string to be specified in as the 'realm' value in the WWW-Authenticate header. default is ngrok

    EndpointConfigurationCircuitBreaker, EndpointConfigurationCircuitBreakerArgs

    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    ErrorThresholdPercentage double
    Error threshold percentage should be between 0 - 1.0, not 0-100.0
    NumBuckets int
    Integer number of buckets into which metrics are retained. Max 128.
    RollingWindow int
    Integer number of seconds in the statistical rolling window that metrics are retained for.
    TrippedDuration int
    Integer number of seconds after which the circuit is tripped to wait before re-evaluating upstream health
    VolumeThreshold int
    Integer number of requests in a rolling window that will trip the circuit. Helpful if traffic volume is low.
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    ErrorThresholdPercentage float64
    Error threshold percentage should be between 0 - 1.0, not 0-100.0
    NumBuckets int
    Integer number of buckets into which metrics are retained. Max 128.
    RollingWindow int
    Integer number of seconds in the statistical rolling window that metrics are retained for.
    TrippedDuration int
    Integer number of seconds after which the circuit is tripped to wait before re-evaluating upstream health
    VolumeThreshold int
    Integer number of requests in a rolling window that will trip the circuit. Helpful if traffic volume is low.
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    errorThresholdPercentage Double
    Error threshold percentage should be between 0 - 1.0, not 0-100.0
    numBuckets Integer
    Integer number of buckets into which metrics are retained. Max 128.
    rollingWindow Integer
    Integer number of seconds in the statistical rolling window that metrics are retained for.
    trippedDuration Integer
    Integer number of seconds after which the circuit is tripped to wait before re-evaluating upstream health
    volumeThreshold Integer
    Integer number of requests in a rolling window that will trip the circuit. Helpful if traffic volume is low.
    enabled boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    errorThresholdPercentage number
    Error threshold percentage should be between 0 - 1.0, not 0-100.0
    numBuckets number
    Integer number of buckets into which metrics are retained. Max 128.
    rollingWindow number
    Integer number of seconds in the statistical rolling window that metrics are retained for.
    trippedDuration number
    Integer number of seconds after which the circuit is tripped to wait before re-evaluating upstream health
    volumeThreshold number
    Integer number of requests in a rolling window that will trip the circuit. Helpful if traffic volume is low.
    enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    error_threshold_percentage float
    Error threshold percentage should be between 0 - 1.0, not 0-100.0
    num_buckets int
    Integer number of buckets into which metrics are retained. Max 128.
    rolling_window int
    Integer number of seconds in the statistical rolling window that metrics are retained for.
    tripped_duration int
    Integer number of seconds after which the circuit is tripped to wait before re-evaluating upstream health
    volume_threshold int
    Integer number of requests in a rolling window that will trip the circuit. Helpful if traffic volume is low.
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    errorThresholdPercentage Number
    Error threshold percentage should be between 0 - 1.0, not 0-100.0
    numBuckets Number
    Integer number of buckets into which metrics are retained. Max 128.
    rollingWindow Number
    Integer number of seconds in the statistical rolling window that metrics are retained for.
    trippedDuration Number
    Integer number of seconds after which the circuit is tripped to wait before re-evaluating upstream health
    volumeThreshold Number
    Integer number of requests in a rolling window that will trip the circuit. Helpful if traffic volume is low.

    EndpointConfigurationCompression, EndpointConfigurationCompressionArgs

    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    enabled boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified

    EndpointConfigurationIpPolicy, EndpointConfigurationIpPolicyArgs

    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    IpPolicies List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationIpPolicyIpPolicy>
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    IpPolicies []EndpointConfigurationIpPolicyIpPolicy
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    ipPolicies List<EndpointConfigurationIpPolicyIpPolicy>
    enabled boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    ipPolicies EndpointConfigurationIpPolicyIpPolicy[]
    enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    ip_policies Sequence[EndpointConfigurationIpPolicyIpPolicy]
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    ipPolicies List<Property Map>

    EndpointConfigurationIpPolicyIpPolicy, EndpointConfigurationIpPolicyIpPolicyArgs

    Id string
    unique identifier of this endpoint configuration
    Uri string
    Id string
    unique identifier of this endpoint configuration
    Uri string
    id String
    unique identifier of this endpoint configuration
    uri String
    id string
    unique identifier of this endpoint configuration
    uri string
    id str
    unique identifier of this endpoint configuration
    uri str
    id String
    unique identifier of this endpoint configuration
    uri String

    EndpointConfigurationLogging, EndpointConfigurationLoggingArgs

    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    EventStreams List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationLoggingEventStream>
    list of all EventStreams that will be used to configure and export this endpoint's logs
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    EventStreams []EndpointConfigurationLoggingEventStream
    list of all EventStreams that will be used to configure and export this endpoint's logs
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    eventStreams List<EndpointConfigurationLoggingEventStream>
    list of all EventStreams that will be used to configure and export this endpoint's logs
    enabled boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    eventStreams EndpointConfigurationLoggingEventStream[]
    list of all EventStreams that will be used to configure and export this endpoint's logs
    enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    event_streams Sequence[EndpointConfigurationLoggingEventStream]
    list of all EventStreams that will be used to configure and export this endpoint's logs
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    eventStreams List<Property Map>
    list of all EventStreams that will be used to configure and export this endpoint's logs

    EndpointConfigurationLoggingEventStream, EndpointConfigurationLoggingEventStreamArgs

    Id string
    unique identifier of this endpoint configuration
    Uri string
    Id string
    unique identifier of this endpoint configuration
    Uri string
    id String
    unique identifier of this endpoint configuration
    uri String
    id string
    unique identifier of this endpoint configuration
    uri string
    id str
    unique identifier of this endpoint configuration
    uri str
    id String
    unique identifier of this endpoint configuration
    uri String

    EndpointConfigurationMutualTl, EndpointConfigurationMutualTlArgs

    CertificateAuthorities List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationMutualTlCertificateAuthority>
    PEM-encoded CA certificates that will be used to validate. Multiple CAs may be provided by concatenating them together.
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    CertificateAuthorities []EndpointConfigurationMutualTlCertificateAuthority
    PEM-encoded CA certificates that will be used to validate. Multiple CAs may be provided by concatenating them together.
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    certificateAuthorities List<EndpointConfigurationMutualTlCertificateAuthority>
    PEM-encoded CA certificates that will be used to validate. Multiple CAs may be provided by concatenating them together.
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    certificateAuthorities EndpointConfigurationMutualTlCertificateAuthority[]
    PEM-encoded CA certificates that will be used to validate. Multiple CAs may be provided by concatenating them together.
    enabled boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    certificate_authorities Sequence[EndpointConfigurationMutualTlCertificateAuthority]
    PEM-encoded CA certificates that will be used to validate. Multiple CAs may be provided by concatenating them together.
    enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    certificateAuthorities List<Property Map>
    PEM-encoded CA certificates that will be used to validate. Multiple CAs may be provided by concatenating them together.
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified

    EndpointConfigurationMutualTlCertificateAuthority, EndpointConfigurationMutualTlCertificateAuthorityArgs

    Id string
    unique identifier of this endpoint configuration
    Uri string
    Id string
    unique identifier of this endpoint configuration
    Uri string
    id String
    unique identifier of this endpoint configuration
    uri String
    id string
    unique identifier of this endpoint configuration
    uri string
    id str
    unique identifier of this endpoint configuration
    uri str
    id String
    unique identifier of this endpoint configuration
    uri String

    EndpointConfigurationOauth, EndpointConfigurationOauthArgs

    AuthCheckInterval int
    Integer number of seconds after which ngrok guarantees it will refresh user state from the identity provider and recheck whether the user is still authorized to access the endpoint. This is the preferred tunable to use to enforce a minimum amount of time after which a revoked user will no longer be able to access the resource.
    CookiePrefix string
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    InactivityTimeout int
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    MaximumDuration int
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    OptionsPassthrough bool
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    Providers List<PiersKarsenbarg.Ngrok.Inputs.EndpointConfigurationOauthProvider>
    an object which defines the identity provider to use for authentication and configuration for who may access the endpoint
    AuthCheckInterval int
    Integer number of seconds after which ngrok guarantees it will refresh user state from the identity provider and recheck whether the user is still authorized to access the endpoint. This is the preferred tunable to use to enforce a minimum amount of time after which a revoked user will no longer be able to access the resource.
    CookiePrefix string
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    InactivityTimeout int
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    MaximumDuration int
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    OptionsPassthrough bool
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    Providers []EndpointConfigurationOauthProvider
    an object which defines the identity provider to use for authentication and configuration for who may access the endpoint
    authCheckInterval Integer
    Integer number of seconds after which ngrok guarantees it will refresh user state from the identity provider and recheck whether the user is still authorized to access the endpoint. This is the preferred tunable to use to enforce a minimum amount of time after which a revoked user will no longer be able to access the resource.
    cookiePrefix String
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    inactivityTimeout Integer
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    maximumDuration Integer
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    optionsPassthrough Boolean
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    providers List<EndpointConfigurationOauthProvider>
    an object which defines the identity provider to use for authentication and configuration for who may access the endpoint
    authCheckInterval number
    Integer number of seconds after which ngrok guarantees it will refresh user state from the identity provider and recheck whether the user is still authorized to access the endpoint. This is the preferred tunable to use to enforce a minimum amount of time after which a revoked user will no longer be able to access the resource.
    cookiePrefix string
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    enabled boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    inactivityTimeout number
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    maximumDuration number
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    optionsPassthrough boolean
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    providers EndpointConfigurationOauthProvider[]
    an object which defines the identity provider to use for authentication and configuration for who may access the endpoint
    auth_check_interval int
    Integer number of seconds after which ngrok guarantees it will refresh user state from the identity provider and recheck whether the user is still authorized to access the endpoint. This is the preferred tunable to use to enforce a minimum amount of time after which a revoked user will no longer be able to access the resource.
    cookie_prefix str
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    inactivity_timeout int
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    maximum_duration int
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    options_passthrough bool
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    providers Sequence[EndpointConfigurationOauthProvider]
    an object which defines the identity provider to use for authentication and configuration for who may access the endpoint
    authCheckInterval Number
    Integer number of seconds after which ngrok guarantees it will refresh user state from the identity provider and recheck whether the user is still authorized to access the endpoint. This is the preferred tunable to use to enforce a minimum amount of time after which a revoked user will no longer be able to access the resource.
    cookiePrefix String
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    inactivityTimeout Number
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    maximumDuration Number
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    optionsPassthrough Boolean
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    providers List<Property Map>
    an object which defines the identity provider to use for authentication and configuration for who may access the endpoint

    EndpointConfigurationOauthProvider, EndpointConfigurationOauthProviderArgs

    EndpointConfigurationOauthProviderFacebook, EndpointConfigurationOauthProviderFacebookArgs

    ClientId string
    ClientSecret string
    EmailAddresses List<string>
    EmailDomains List<string>
    Scopes List<string>
    ClientId string
    ClientSecret string
    EmailAddresses []string
    EmailDomains []string
    Scopes []string
    clientId String
    clientSecret String
    emailAddresses List<String>
    emailDomains List<String>
    scopes List<String>
    clientId string
    clientSecret string
    emailAddresses string[]
    emailDomains string[]
    scopes string[]
    client_id str
    client_secret str
    email_addresses Sequence[str]
    email_domains Sequence[str]
    scopes Sequence[str]
    clientId String
    clientSecret String
    emailAddresses List<String>
    emailDomains List<String>
    scopes List<String>

    EndpointConfigurationOauthProviderGithub, EndpointConfigurationOauthProviderGithubArgs

    ClientId string
    ClientSecret string
    EmailAddresses List<string>
    EmailDomains List<string>
    Organizations List<string>
    Scopes List<string>
    Teams List<string>
    ClientId string
    ClientSecret string
    EmailAddresses []string
    EmailDomains []string
    Organizations []string
    Scopes []string
    Teams []string
    clientId String
    clientSecret String
    emailAddresses List<String>
    emailDomains List<String>
    organizations List<String>
    scopes List<String>
    teams List<String>
    clientId string
    clientSecret string
    emailAddresses string[]
    emailDomains string[]
    organizations string[]
    scopes string[]
    teams string[]
    client_id str
    client_secret str
    email_addresses Sequence[str]
    email_domains Sequence[str]
    organizations Sequence[str]
    scopes Sequence[str]
    teams Sequence[str]
    clientId String
    clientSecret String
    emailAddresses List<String>
    emailDomains List<String>
    organizations List<String>
    scopes List<String>
    teams List<String>

    EndpointConfigurationOauthProviderGoogle, EndpointConfigurationOauthProviderGoogleArgs

    ClientId string
    ClientSecret string
    EmailAddresses List<string>
    EmailDomains List<string>
    Scopes List<string>
    ClientId string
    ClientSecret string
    EmailAddresses []string
    EmailDomains []string
    Scopes []string
    clientId String
    clientSecret String
    emailAddresses List<String>
    emailDomains List<String>
    scopes List<String>
    clientId string
    clientSecret string
    emailAddresses string[]
    emailDomains string[]
    scopes string[]
    client_id str
    client_secret str
    email_addresses Sequence[str]
    email_domains Sequence[str]
    scopes Sequence[str]
    clientId String
    clientSecret String
    emailAddresses List<String>
    emailDomains List<String>
    scopes List<String>

    EndpointConfigurationOauthProviderMicrosoft, EndpointConfigurationOauthProviderMicrosoftArgs

    ClientId string
    ClientSecret string
    EmailAddresses List<string>
    EmailDomains List<string>
    Scopes List<string>
    ClientId string
    ClientSecret string
    EmailAddresses []string
    EmailDomains []string
    Scopes []string
    clientId String
    clientSecret String
    emailAddresses List<String>
    emailDomains List<String>
    scopes List<String>
    clientId string
    clientSecret string
    emailAddresses string[]
    emailDomains string[]
    scopes string[]
    client_id str
    client_secret str
    email_addresses Sequence[str]
    email_domains Sequence[str]
    scopes Sequence[str]
    clientId String
    clientSecret String
    emailAddresses List<String>
    emailDomains List<String>
    scopes List<String>

    EndpointConfigurationOidc, EndpointConfigurationOidcArgs

    ClientId string
    The OIDC app's client ID and OIDC audience.
    ClientSecret string
    The OIDC app's client secret.
    CookiePrefix string
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    InactivityTimeout int
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    Issuer string
    URL of the OIDC "OpenID provider". This is the base URL used for discovery.
    MaximumDuration int
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    OptionsPassthrough bool
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    Scopes List<string>
    The set of scopes to request from the OIDC identity provider.
    ClientId string
    The OIDC app's client ID and OIDC audience.
    ClientSecret string
    The OIDC app's client secret.
    CookiePrefix string
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    InactivityTimeout int
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    Issuer string
    URL of the OIDC "OpenID provider". This is the base URL used for discovery.
    MaximumDuration int
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    OptionsPassthrough bool
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    Scopes []string
    The set of scopes to request from the OIDC identity provider.
    clientId String
    The OIDC app's client ID and OIDC audience.
    clientSecret String
    The OIDC app's client secret.
    cookiePrefix String
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    inactivityTimeout Integer
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    issuer String
    URL of the OIDC "OpenID provider". This is the base URL used for discovery.
    maximumDuration Integer
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    optionsPassthrough Boolean
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    scopes List<String>
    The set of scopes to request from the OIDC identity provider.
    clientId string
    The OIDC app's client ID and OIDC audience.
    clientSecret string
    The OIDC app's client secret.
    cookiePrefix string
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    enabled boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    inactivityTimeout number
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    issuer string
    URL of the OIDC "OpenID provider". This is the base URL used for discovery.
    maximumDuration number
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    optionsPassthrough boolean
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    scopes string[]
    The set of scopes to request from the OIDC identity provider.
    client_id str
    The OIDC app's client ID and OIDC audience.
    client_secret str
    The OIDC app's client secret.
    cookie_prefix str
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    inactivity_timeout int
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    issuer str
    URL of the OIDC "OpenID provider". This is the base URL used for discovery.
    maximum_duration int
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    options_passthrough bool
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    scopes Sequence[str]
    The set of scopes to request from the OIDC identity provider.
    clientId String
    The OIDC app's client ID and OIDC audience.
    clientSecret String
    The OIDC app's client secret.
    cookiePrefix String
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    inactivityTimeout Number
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    issuer String
    URL of the OIDC "OpenID provider". This is the base URL used for discovery.
    maximumDuration Number
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    optionsPassthrough Boolean
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    scopes List<String>
    The set of scopes to request from the OIDC identity provider.

    EndpointConfigurationRequestHeader, EndpointConfigurationRequestHeaderArgs

    Add Dictionary<string, string>
    a map of header key to header value that will be injected into the HTTP Request before being sent to the upstream application server
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    Removes List<string>
    a list of header names that will be removed from the HTTP Request before being sent to the upstream application server
    Add map[string]string
    a map of header key to header value that will be injected into the HTTP Request before being sent to the upstream application server
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    Removes []string
    a list of header names that will be removed from the HTTP Request before being sent to the upstream application server
    add Map<String,String>
    a map of header key to header value that will be injected into the HTTP Request before being sent to the upstream application server
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    removes List<String>
    a list of header names that will be removed from the HTTP Request before being sent to the upstream application server
    add {[key: string]: string}
    a map of header key to header value that will be injected into the HTTP Request before being sent to the upstream application server
    enabled boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    removes string[]
    a list of header names that will be removed from the HTTP Request before being sent to the upstream application server
    add Mapping[str, str]
    a map of header key to header value that will be injected into the HTTP Request before being sent to the upstream application server
    enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    removes Sequence[str]
    a list of header names that will be removed from the HTTP Request before being sent to the upstream application server
    add Map<String>
    a map of header key to header value that will be injected into the HTTP Request before being sent to the upstream application server
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    removes List<String>
    a list of header names that will be removed from the HTTP Request before being sent to the upstream application server

    EndpointConfigurationResponseHeader, EndpointConfigurationResponseHeaderArgs

    Add Dictionary<string, string>
    a map of header key to header value that will be injected into the HTTP Response returned to the HTTP client
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    Removes List<string>
    a list of header names that will be removed from the HTTP Response returned to the HTTP client
    Add map[string]string
    a map of header key to header value that will be injected into the HTTP Response returned to the HTTP client
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    Removes []string
    a list of header names that will be removed from the HTTP Response returned to the HTTP client
    add Map<String,String>
    a map of header key to header value that will be injected into the HTTP Response returned to the HTTP client
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    removes List<String>
    a list of header names that will be removed from the HTTP Response returned to the HTTP client
    add {[key: string]: string}
    a map of header key to header value that will be injected into the HTTP Response returned to the HTTP client
    enabled boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    removes string[]
    a list of header names that will be removed from the HTTP Response returned to the HTTP client
    add Mapping[str, str]
    a map of header key to header value that will be injected into the HTTP Response returned to the HTTP client
    enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    removes Sequence[str]
    a list of header names that will be removed from the HTTP Response returned to the HTTP client
    add Map<String>
    a map of header key to header value that will be injected into the HTTP Response returned to the HTTP client
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    removes List<String>
    a list of header names that will be removed from the HTTP Response returned to the HTTP client

    EndpointConfigurationSaml, EndpointConfigurationSamlArgs

    AllowIdpInitiated bool
    If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the RelayState parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed.
    AssertionConsumerServiceUrl string
    The public URL of the SP's Assertion Consumer Service. This is where the IdP will redirect to during an authentication flow. This will need to be specified to the IdP as configuration.
    AuthorizedGroups List<string>
    If present, only users who are a member of one of the listed groups may access the target endpoint.
    CookiePrefix string
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    EntityId string
    The SP Entity's unique ID. This always takes the form of a URL. In ngrok's implementation, this URL is the same as the metadata URL. This will need to be specified to the IdP as configuration.
    ForceAuthn bool
    If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP.
    IdpMetadata string
    The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL.
    IdpMetadataUrl string
    The IdP's metadata URL which returns the XML IdP EntityDescriptor. The IdP's metadata URL specifies how to connect to the IdP as well as its public key which is then used to validate the signature on incoming SAML assertions to the ACS endpoint.
    InactivityTimeout int
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    MaximumDuration int
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    MetadataUrl string
    A public URL where the SP's metadata is hosted. If an IdP supports dynamic configuration, this is the URL it can use to retrieve the SP metadata.
    NameidFormat string
    Defines the name identifier format the SP expects the IdP to use in its assertions to identify subjects. If unspecified, a default value of urn:oasis:names:tc:SAML:2.0:nameid-format:persistent will be used. A subset of the allowed values enumerated by the SAML specification are supported.
    OptionsPassthrough bool
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    RequestSigningCertificatePem string
    PEM-encoded x.509 certificate of the key pair that is used to sign all SAML requests that the ngrok SP makes to the IdP. Many IdPs do not support request signing verification, but we highly recommend specifying this in the IdP's configuration if it is supported.
    SingleLogoutUrl string
    The public URL of the SP's Single Logout Service. This is where the IdP will redirect to during a single logout flow. This will optionally need to be specified to the IdP as configuration.
    AllowIdpInitiated bool
    If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the RelayState parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed.
    AssertionConsumerServiceUrl string
    The public URL of the SP's Assertion Consumer Service. This is where the IdP will redirect to during an authentication flow. This will need to be specified to the IdP as configuration.
    AuthorizedGroups []string
    If present, only users who are a member of one of the listed groups may access the target endpoint.
    CookiePrefix string
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    EntityId string
    The SP Entity's unique ID. This always takes the form of a URL. In ngrok's implementation, this URL is the same as the metadata URL. This will need to be specified to the IdP as configuration.
    ForceAuthn bool
    If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP.
    IdpMetadata string
    The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL.
    IdpMetadataUrl string
    The IdP's metadata URL which returns the XML IdP EntityDescriptor. The IdP's metadata URL specifies how to connect to the IdP as well as its public key which is then used to validate the signature on incoming SAML assertions to the ACS endpoint.
    InactivityTimeout int
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    MaximumDuration int
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    MetadataUrl string
    A public URL where the SP's metadata is hosted. If an IdP supports dynamic configuration, this is the URL it can use to retrieve the SP metadata.
    NameidFormat string
    Defines the name identifier format the SP expects the IdP to use in its assertions to identify subjects. If unspecified, a default value of urn:oasis:names:tc:SAML:2.0:nameid-format:persistent will be used. A subset of the allowed values enumerated by the SAML specification are supported.
    OptionsPassthrough bool
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    RequestSigningCertificatePem string
    PEM-encoded x.509 certificate of the key pair that is used to sign all SAML requests that the ngrok SP makes to the IdP. Many IdPs do not support request signing verification, but we highly recommend specifying this in the IdP's configuration if it is supported.
    SingleLogoutUrl string
    The public URL of the SP's Single Logout Service. This is where the IdP will redirect to during a single logout flow. This will optionally need to be specified to the IdP as configuration.
    allowIdpInitiated Boolean
    If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the RelayState parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed.
    assertionConsumerServiceUrl String
    The public URL of the SP's Assertion Consumer Service. This is where the IdP will redirect to during an authentication flow. This will need to be specified to the IdP as configuration.
    authorizedGroups List<String>
    If present, only users who are a member of one of the listed groups may access the target endpoint.
    cookiePrefix String
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    entityId String
    The SP Entity's unique ID. This always takes the form of a URL. In ngrok's implementation, this URL is the same as the metadata URL. This will need to be specified to the IdP as configuration.
    forceAuthn Boolean
    If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP.
    idpMetadata String
    The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL.
    idpMetadataUrl String
    The IdP's metadata URL which returns the XML IdP EntityDescriptor. The IdP's metadata URL specifies how to connect to the IdP as well as its public key which is then used to validate the signature on incoming SAML assertions to the ACS endpoint.
    inactivityTimeout Integer
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    maximumDuration Integer
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    metadataUrl String
    A public URL where the SP's metadata is hosted. If an IdP supports dynamic configuration, this is the URL it can use to retrieve the SP metadata.
    nameidFormat String
    Defines the name identifier format the SP expects the IdP to use in its assertions to identify subjects. If unspecified, a default value of urn:oasis:names:tc:SAML:2.0:nameid-format:persistent will be used. A subset of the allowed values enumerated by the SAML specification are supported.
    optionsPassthrough Boolean
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    requestSigningCertificatePem String
    PEM-encoded x.509 certificate of the key pair that is used to sign all SAML requests that the ngrok SP makes to the IdP. Many IdPs do not support request signing verification, but we highly recommend specifying this in the IdP's configuration if it is supported.
    singleLogoutUrl String
    The public URL of the SP's Single Logout Service. This is where the IdP will redirect to during a single logout flow. This will optionally need to be specified to the IdP as configuration.
    allowIdpInitiated boolean
    If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the RelayState parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed.
    assertionConsumerServiceUrl string
    The public URL of the SP's Assertion Consumer Service. This is where the IdP will redirect to during an authentication flow. This will need to be specified to the IdP as configuration.
    authorizedGroups string[]
    If present, only users who are a member of one of the listed groups may access the target endpoint.
    cookiePrefix string
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    enabled boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    entityId string
    The SP Entity's unique ID. This always takes the form of a URL. In ngrok's implementation, this URL is the same as the metadata URL. This will need to be specified to the IdP as configuration.
    forceAuthn boolean
    If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP.
    idpMetadata string
    The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL.
    idpMetadataUrl string
    The IdP's metadata URL which returns the XML IdP EntityDescriptor. The IdP's metadata URL specifies how to connect to the IdP as well as its public key which is then used to validate the signature on incoming SAML assertions to the ACS endpoint.
    inactivityTimeout number
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    maximumDuration number
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    metadataUrl string
    A public URL where the SP's metadata is hosted. If an IdP supports dynamic configuration, this is the URL it can use to retrieve the SP metadata.
    nameidFormat string
    Defines the name identifier format the SP expects the IdP to use in its assertions to identify subjects. If unspecified, a default value of urn:oasis:names:tc:SAML:2.0:nameid-format:persistent will be used. A subset of the allowed values enumerated by the SAML specification are supported.
    optionsPassthrough boolean
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    requestSigningCertificatePem string
    PEM-encoded x.509 certificate of the key pair that is used to sign all SAML requests that the ngrok SP makes to the IdP. Many IdPs do not support request signing verification, but we highly recommend specifying this in the IdP's configuration if it is supported.
    singleLogoutUrl string
    The public URL of the SP's Single Logout Service. This is where the IdP will redirect to during a single logout flow. This will optionally need to be specified to the IdP as configuration.
    allow_idp_initiated bool
    If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the RelayState parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed.
    assertion_consumer_service_url str
    The public URL of the SP's Assertion Consumer Service. This is where the IdP will redirect to during an authentication flow. This will need to be specified to the IdP as configuration.
    authorized_groups Sequence[str]
    If present, only users who are a member of one of the listed groups may access the target endpoint.
    cookie_prefix str
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    entity_id str
    The SP Entity's unique ID. This always takes the form of a URL. In ngrok's implementation, this URL is the same as the metadata URL. This will need to be specified to the IdP as configuration.
    force_authn bool
    If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP.
    idp_metadata str
    The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL.
    idp_metadata_url str
    The IdP's metadata URL which returns the XML IdP EntityDescriptor. The IdP's metadata URL specifies how to connect to the IdP as well as its public key which is then used to validate the signature on incoming SAML assertions to the ACS endpoint.
    inactivity_timeout int
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    maximum_duration int
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    metadata_url str
    A public URL where the SP's metadata is hosted. If an IdP supports dynamic configuration, this is the URL it can use to retrieve the SP metadata.
    nameid_format str
    Defines the name identifier format the SP expects the IdP to use in its assertions to identify subjects. If unspecified, a default value of urn:oasis:names:tc:SAML:2.0:nameid-format:persistent will be used. A subset of the allowed values enumerated by the SAML specification are supported.
    options_passthrough bool
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    request_signing_certificate_pem str
    PEM-encoded x.509 certificate of the key pair that is used to sign all SAML requests that the ngrok SP makes to the IdP. Many IdPs do not support request signing verification, but we highly recommend specifying this in the IdP's configuration if it is supported.
    single_logout_url str
    The public URL of the SP's Single Logout Service. This is where the IdP will redirect to during a single logout flow. This will optionally need to be specified to the IdP as configuration.
    allowIdpInitiated Boolean
    If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the RelayState parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed.
    assertionConsumerServiceUrl String
    The public URL of the SP's Assertion Consumer Service. This is where the IdP will redirect to during an authentication flow. This will need to be specified to the IdP as configuration.
    authorizedGroups List<String>
    If present, only users who are a member of one of the listed groups may access the target endpoint.
    cookiePrefix String
    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    entityId String
    The SP Entity's unique ID. This always takes the form of a URL. In ngrok's implementation, this URL is the same as the metadata URL. This will need to be specified to the IdP as configuration.
    forceAuthn Boolean
    If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP.
    idpMetadata String
    The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL.
    idpMetadataUrl String
    The IdP's metadata URL which returns the XML IdP EntityDescriptor. The IdP's metadata URL specifies how to connect to the IdP as well as its public key which is then used to validate the signature on incoming SAML assertions to the ACS endpoint.
    inactivityTimeout Number
    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.
    maximumDuration Number
    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
    metadataUrl String
    A public URL where the SP's metadata is hosted. If an IdP supports dynamic configuration, this is the URL it can use to retrieve the SP metadata.
    nameidFormat String
    Defines the name identifier format the SP expects the IdP to use in its assertions to identify subjects. If unspecified, a default value of urn:oasis:names:tc:SAML:2.0:nameid-format:persistent will be used. A subset of the allowed values enumerated by the SAML specification are supported.
    optionsPassthrough Boolean
    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
    requestSigningCertificatePem String
    PEM-encoded x.509 certificate of the key pair that is used to sign all SAML requests that the ngrok SP makes to the IdP. Many IdPs do not support request signing verification, but we highly recommend specifying this in the IdP's configuration if it is supported.
    singleLogoutUrl String
    The public URL of the SP's Single Logout Service. This is where the IdP will redirect to during a single logout flow. This will optionally need to be specified to the IdP as configuration.

    EndpointConfigurationTlsTermination, EndpointConfigurationTlsTerminationArgs

    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    MinVersion string
    The minimum TLS version used for termination and advertised to the client during the TLS handshake. if unspecified, ngrok will choose an industry-safe default. This value must be null if terminate_at is set to upstream.
    TerminateAt string
    edge if the ngrok edge should terminate TLS traffic, upstream if TLS traffic should be passed through to the upstream ngrok agent / application server for termination. if upstream is chosen, most other modules will be disallowed because they rely on the ngrok edge being able to access the underlying traffic.
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    MinVersion string
    The minimum TLS version used for termination and advertised to the client during the TLS handshake. if unspecified, ngrok will choose an industry-safe default. This value must be null if terminate_at is set to upstream.
    TerminateAt string
    edge if the ngrok edge should terminate TLS traffic, upstream if TLS traffic should be passed through to the upstream ngrok agent / application server for termination. if upstream is chosen, most other modules will be disallowed because they rely on the ngrok edge being able to access the underlying traffic.
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    minVersion String
    The minimum TLS version used for termination and advertised to the client during the TLS handshake. if unspecified, ngrok will choose an industry-safe default. This value must be null if terminate_at is set to upstream.
    terminateAt String
    edge if the ngrok edge should terminate TLS traffic, upstream if TLS traffic should be passed through to the upstream ngrok agent / application server for termination. if upstream is chosen, most other modules will be disallowed because they rely on the ngrok edge being able to access the underlying traffic.
    enabled boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    minVersion string
    The minimum TLS version used for termination and advertised to the client during the TLS handshake. if unspecified, ngrok will choose an industry-safe default. This value must be null if terminate_at is set to upstream.
    terminateAt string
    edge if the ngrok edge should terminate TLS traffic, upstream if TLS traffic should be passed through to the upstream ngrok agent / application server for termination. if upstream is chosen, most other modules will be disallowed because they rely on the ngrok edge being able to access the underlying traffic.
    enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    min_version str
    The minimum TLS version used for termination and advertised to the client during the TLS handshake. if unspecified, ngrok will choose an industry-safe default. This value must be null if terminate_at is set to upstream.
    terminate_at str
    edge if the ngrok edge should terminate TLS traffic, upstream if TLS traffic should be passed through to the upstream ngrok agent / application server for termination. if upstream is chosen, most other modules will be disallowed because they rely on the ngrok edge being able to access the underlying traffic.
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    minVersion String
    The minimum TLS version used for termination and advertised to the client during the TLS handshake. if unspecified, ngrok will choose an industry-safe default. This value must be null if terminate_at is set to upstream.
    terminateAt String
    edge if the ngrok edge should terminate TLS traffic, upstream if TLS traffic should be passed through to the upstream ngrok agent / application server for termination. if upstream is chosen, most other modules will be disallowed because they rely on the ngrok edge being able to access the underlying traffic.

    EndpointConfigurationWebhookValidation, EndpointConfigurationWebhookValidationArgs

    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    Provider string
    a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers: SLACK, SNS, STRIPE, GITHUB, TWILIO, SHOPIFY, GITLAB, INTERCOM, SENDGRID, XERO, PAGERDUTY.
    Secret string
    a string secret used to validate requests from the given provider. All providers except AWS SNS require a secret
    Enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    Provider string
    a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers: SLACK, SNS, STRIPE, GITHUB, TWILIO, SHOPIFY, GITLAB, INTERCOM, SENDGRID, XERO, PAGERDUTY.
    Secret string
    a string secret used to validate requests from the given provider. All providers except AWS SNS require a secret
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    provider String
    a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers: SLACK, SNS, STRIPE, GITHUB, TWILIO, SHOPIFY, GITLAB, INTERCOM, SENDGRID, XERO, PAGERDUTY.
    secret String
    a string secret used to validate requests from the given provider. All providers except AWS SNS require a secret
    enabled boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    provider string
    a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers: SLACK, SNS, STRIPE, GITHUB, TWILIO, SHOPIFY, GITLAB, INTERCOM, SENDGRID, XERO, PAGERDUTY.
    secret string
    a string secret used to validate requests from the given provider. All providers except AWS SNS require a secret
    enabled bool
    true if the module will be applied to traffic, false to disable. default true if unspecified
    provider str
    a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers: SLACK, SNS, STRIPE, GITHUB, TWILIO, SHOPIFY, GITLAB, INTERCOM, SENDGRID, XERO, PAGERDUTY.
    secret str
    a string secret used to validate requests from the given provider. All providers except AWS SNS require a secret
    enabled Boolean
    true if the module will be applied to traffic, false to disable. default true if unspecified
    provider String
    a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers: SLACK, SNS, STRIPE, GITHUB, TWILIO, SHOPIFY, GITLAB, INTERCOM, SENDGRID, XERO, PAGERDUTY.
    secret String
    a string secret used to validate requests from the given provider. All providers except AWS SNS require a secret

    Package Details

    Repository
    ngrok pierskarsenbarg/pulumi-ngrok
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the ngrok Terraform Provider.
    ngrok logo
    ngrok v0.0.24 published on Friday, Sep 29, 2023 by Piers Karsenbarg