Package com.ngrok.definitions

# Class EndpointOAuthGitHub.Builder

java.lang.Object
com.ngrok.definitions.EndpointOAuthGitHub.Builder

Enclosing class:
  EndpointOAuthGitHub

public static class EndpointOAuthGitHub.Builder extends Object
Builder class for `EndpointOAuthGitHub`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `EndpointOAuthGitHub`
  `build()`
  Constructs the `EndpointOAuthGitHub` instance.
  `EndpointOAuthGitHub.Builder`
  `clientId(String clientId)`
  the OAuth app client ID.
  `EndpointOAuthGitHub.Builder`
  `clientId(Optional<String> clientId)`
  the OAuth app client ID.
  `EndpointOAuthGitHub.Builder`
  `clientSecret(String clientSecret)`
  the OAuth app client secret.
  `EndpointOAuthGitHub.Builder`
  `clientSecret(Optional<String> clientSecret)`
  the OAuth app client secret.
  `EndpointOAuthGitHub.Builder`
  `emailAddresses(List<String> emailAddresses)`
  a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint
  `EndpointOAuthGitHub.Builder`
  `emailAddresses(Optional<List<String>> emailAddresses)`
  a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint
  `EndpointOAuthGitHub.Builder`
  `emailDomains(List<String> emailDomains)`
  a list of email domains of users authenticated by identity provider who are allowed access to the endpoint
  `EndpointOAuthGitHub.Builder`
  `emailDomains(Optional<List<String>> emailDomains)`
  a list of email domains of users authenticated by identity provider who are allowed access to the endpoint
  `EndpointOAuthGitHub.Builder`
  `organizations(List<String> organizations)`
  a list of github org identifiers.
  `EndpointOAuthGitHub.Builder`
  `organizations(Optional<List<String>> organizations)`
  a list of github org identifiers.
  `EndpointOAuthGitHub.Builder`
  `scopes(List<String> scopes)`
  a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for.
  `EndpointOAuthGitHub.Builder`
  `scopes(Optional<List<String>> scopes)`
  a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for.
  `EndpointOAuthGitHub.Builder`
  `teams(List<String> teams)`
  a list of github teams identifiers.
  `EndpointOAuthGitHub.Builder`
  `teams(Optional<List<String>> teams)`
  a list of github teams identifiers.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### clientId

    public EndpointOAuthGitHub.Builder clientId(String clientId)
    the OAuth app client ID. retrieve it from the identity provider's dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well.
    Parameters:
      `clientId` - the value of the `client_id` parameter as a `String`
    Returns:
      this builder instance

  - ### clientId

    public EndpointOAuthGitHub.Builder clientId(Optional<String> clientId)
    the OAuth app client ID. retrieve it from the identity provider's dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well.
    Parameters:
      `clientId` - the value of the `client_id` parameter as a `String`, wrapped in an `Optional`
    Returns:
      this builder instance

  - ### clientSecret

    public EndpointOAuthGitHub.Builder clientSecret(String clientSecret)
    the OAuth app client secret. retrieve if from the identity provider's dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for `client_id`.
    Parameters:
      `clientSecret` - the value of the `client_secret` parameter as a `String`
    Returns:
      this builder instance

  - ### clientSecret

    public EndpointOAuthGitHub.Builder clientSecret(Optional<String> clientSecret)
    the OAuth app client secret. retrieve if from the identity provider's dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for `client_id`.
    Parameters:
      `clientSecret` - the value of the `client_secret` parameter as a `String`, wrapped in an `Optional`
    Returns:
      this builder instance

  - ### scopes

    public EndpointOAuthGitHub.Builder scopes(List<String> scopes)
    a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both `client_id` and `client_secret` to set scopes)
    Parameters:
      `scopes` - the value of the `scopes` parameter as a `List` of `String`
    Returns:
      this builder instance

  - ### scopes

    public EndpointOAuthGitHub.Builder scopes(Optional<List<String>> scopes)
    a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both `client_id` and `client_secret` to set scopes)
    Parameters:
      `scopes` - the value of the `scopes` parameter as a `List` of `String`, wrapped in an `Optional`
    Returns:
      this builder instance

  - ### emailAddresses

    public EndpointOAuthGitHub.Builder emailAddresses(List<String> emailAddresses)
    a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint
    Parameters:
      `emailAddresses` - the value of the `email_addresses` parameter as a `List` of `String`
    Returns:
      this builder instance

  - ### emailAddresses

    public EndpointOAuthGitHub.Builder emailAddresses(Optional<List<String>> emailAddresses)
    a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint
    Parameters:
      `emailAddresses` - the value of the `email_addresses` parameter as a `List` of `String`, wrapped in an `Optional`
    Returns:
      this builder instance

  - ### emailDomains

    public EndpointOAuthGitHub.Builder emailDomains(List<String> emailDomains)
    a list of email domains of users authenticated by identity provider who are allowed access to the endpoint
    Parameters:
      `emailDomains` - the value of the `email_domains` parameter as a `List` of `String`
    Returns:
      this builder instance

  - ### emailDomains

    public EndpointOAuthGitHub.Builder emailDomains(Optional<List<String>> emailDomains)
    a list of email domains of users authenticated by identity provider who are allowed access to the endpoint
    Parameters:
      `emailDomains` - the value of the `email_domains` parameter as a `List` of `String`, wrapped in an `Optional`
    Returns:
      this builder instance

  - ### teams

    public EndpointOAuthGitHub.Builder teams(List<String> teams)
    a list of github teams identifiers. users will be allowed access to the endpoint if they are a member of any of these teams. identifiers should be in the 'slug' format qualified with the org name, e.g. `org-name/team-name`
    Parameters:
      `teams` - the value of the `teams` parameter as a `List` of `String`
    Returns:
      this builder instance

  - ### teams

    public EndpointOAuthGitHub.Builder teams(Optional<List<String>> teams)
    a list of github teams identifiers. users will be allowed access to the endpoint if they are a member of any of these teams. identifiers should be in the 'slug' format qualified with the org name, e.g. `org-name/team-name`
    Parameters:
      `teams` - the value of the `teams` parameter as a `List` of `String`, wrapped in an `Optional`
    Returns:
      this builder instance

  - ### organizations

    public EndpointOAuthGitHub.Builder organizations(List<String> organizations)
    a list of github org identifiers. users who are members of any of the listed organizations will be allowed access. identifiers should be the organization's 'slug'
    Parameters:
      `organizations` - the value of the `organizations` parameter as a `List` of `String`
    Returns:
      this builder instance

  - ### organizations

    public EndpointOAuthGitHub.Builder organizations(Optional<List<String>> organizations)
    a list of github org identifiers. users who are members of any of the listed organizations will be allowed access. identifiers should be the organization's 'slug'
    Parameters:
      `organizations` - the value of the `organizations` parameter as a `List` of `String`, wrapped in an `Optional`
    Returns:
      this builder instance

  - ### build

    public EndpointOAuthGitHub build()
    Constructs the `EndpointOAuthGitHub` instance.
    Returns:
      a new `EndpointOAuthGitHub`