Class GitHubConfiguration

    • Method Detail

      • saaSConfiguration

        public final SaaSConfiguration saaSConfiguration()

        Configuration information to connect to GitHub Enterprise Cloud (SaaS).

        Returns:
        Configuration information to connect to GitHub Enterprise Cloud (SaaS).
      • onPremiseConfiguration

        public final OnPremiseConfiguration onPremiseConfiguration()

        Configuration information to connect to GitHub Enterprise Server (on premises).

        Returns:
        Configuration information to connect to GitHub Enterprise Server (on premises).
      • type

        public final Type type()

        The type of GitHub service you want to connect to—GitHub Enterprise Cloud (SaaS) or GitHub Enterprise Server (on premises).

        If the service returns an enum value that is not available in the current SDK version, type will return Type.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from typeAsString().

        Returns:
        The type of GitHub service you want to connect to—GitHub Enterprise Cloud (SaaS) or GitHub Enterprise Server (on premises).
        See Also:
        Type
      • typeAsString

        public final String typeAsString()

        The type of GitHub service you want to connect to—GitHub Enterprise Cloud (SaaS) or GitHub Enterprise Server (on premises).

        If the service returns an enum value that is not available in the current SDK version, type will return Type.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from typeAsString().

        Returns:
        The type of GitHub service you want to connect to—GitHub Enterprise Cloud (SaaS) or GitHub Enterprise Server (on premises).
        See Also:
        Type
      • secretArn

        public final String secretArn()

        The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the key-value pairs required to connect to your GitHub. The secret must contain a JSON structure with the following keys:

        • personalToken—The access token created in GitHub. For more information on creating a token in GitHub, see Using a GitHub data source.

        Returns:
        The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the key-value pairs required to connect to your GitHub. The secret must contain a JSON structure with the following keys:

        • personalToken—The access token created in GitHub. For more information on creating a token in GitHub, see Using a GitHub data source.

      • useChangeLog

        public final Boolean useChangeLog()

        TRUE to use the GitHub change log to determine which documents require updating in the index. Depending on the GitHub change log's size, it may take longer for Amazon Kendra to use the change log than to scan all of your documents in GitHub.

        Returns:
        TRUE to use the GitHub change log to determine which documents require updating in the index. Depending on the GitHub change log's size, it may take longer for Amazon Kendra to use the change log than to scan all of your documents in GitHub.
      • gitHubDocumentCrawlProperties

        public final GitHubDocumentCrawlProperties gitHubDocumentCrawlProperties()

        Configuration information to include certain types of GitHub content. You can configure to index repository files only, or also include issues and pull requests, comments, and comment attachments.

        Returns:
        Configuration information to include certain types of GitHub content. You can configure to index repository files only, or also include issues and pull requests, comments, and comment attachments.
      • hasRepositoryFilter

        public final boolean hasRepositoryFilter()
        For responses, this returns true if the service returned a value for the RepositoryFilter property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • repositoryFilter

        public final List<String> repositoryFilter()

        A list of names of the specific repositories you want to index.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasRepositoryFilter() method.

        Returns:
        A list of names of the specific repositories you want to index.
      • hasInclusionFolderNamePatterns

        public final boolean hasInclusionFolderNamePatterns()
        For responses, this returns true if the service returned a value for the InclusionFolderNamePatterns property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • inclusionFolderNamePatterns

        public final List<String> inclusionFolderNamePatterns()

        A list of regular expression patterns to include certain folder names in your GitHub repository or repositories. Folder names that match the patterns are included in the index. Folder names that don't match the patterns are excluded from the index. If a folder matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the folder isn't included in the index.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasInclusionFolderNamePatterns() method.

        Returns:
        A list of regular expression patterns to include certain folder names in your GitHub repository or repositories. Folder names that match the patterns are included in the index. Folder names that don't match the patterns are excluded from the index. If a folder matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the folder isn't included in the index.
      • hasInclusionFileTypePatterns

        public final boolean hasInclusionFileTypePatterns()
        For responses, this returns true if the service returned a value for the InclusionFileTypePatterns property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • inclusionFileTypePatterns

        public final List<String> inclusionFileTypePatterns()

        A list of regular expression patterns to include certain file types in your GitHub repository or repositories. File types that match the patterns are included in the index. File types that don't match the patterns are excluded from the index. If a file matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the file isn't included in the index.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasInclusionFileTypePatterns() method.

        Returns:
        A list of regular expression patterns to include certain file types in your GitHub repository or repositories. File types that match the patterns are included in the index. File types that don't match the patterns are excluded from the index. If a file matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the file isn't included in the index.
      • hasInclusionFileNamePatterns

        public final boolean hasInclusionFileNamePatterns()
        For responses, this returns true if the service returned a value for the InclusionFileNamePatterns property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • inclusionFileNamePatterns

        public final List<String> inclusionFileNamePatterns()

        A list of regular expression patterns to include certain file names in your GitHub repository or repositories. File names that match the patterns are included in the index. File names that don't match the patterns are excluded from the index. If a file matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the file isn't included in the index.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasInclusionFileNamePatterns() method.

        Returns:
        A list of regular expression patterns to include certain file names in your GitHub repository or repositories. File names that match the patterns are included in the index. File names that don't match the patterns are excluded from the index. If a file matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the file isn't included in the index.
      • hasExclusionFolderNamePatterns

        public final boolean hasExclusionFolderNamePatterns()
        For responses, this returns true if the service returned a value for the ExclusionFolderNamePatterns property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • exclusionFolderNamePatterns

        public final List<String> exclusionFolderNamePatterns()

        A list of regular expression patterns to exclude certain folder names in your GitHub repository or repositories. Folder names that match the patterns are excluded from the index. Folder names that don't match the patterns are included in the index. If a folder matches both an exclusion and inclusion pattern, the exclusion pattern takes precedence and the folder isn't included in the index.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasExclusionFolderNamePatterns() method.

        Returns:
        A list of regular expression patterns to exclude certain folder names in your GitHub repository or repositories. Folder names that match the patterns are excluded from the index. Folder names that don't match the patterns are included in the index. If a folder matches both an exclusion and inclusion pattern, the exclusion pattern takes precedence and the folder isn't included in the index.
      • hasExclusionFileTypePatterns

        public final boolean hasExclusionFileTypePatterns()
        For responses, this returns true if the service returned a value for the ExclusionFileTypePatterns property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • exclusionFileTypePatterns

        public final List<String> exclusionFileTypePatterns()

        A list of regular expression patterns to exclude certain file types in your GitHub repository or repositories. File types that match the patterns are excluded from the index. File types that don't match the patterns are included in the index. If a file matches both an exclusion and inclusion pattern, the exclusion pattern takes precedence and the file isn't included in the index.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasExclusionFileTypePatterns() method.

        Returns:
        A list of regular expression patterns to exclude certain file types in your GitHub repository or repositories. File types that match the patterns are excluded from the index. File types that don't match the patterns are included in the index. If a file matches both an exclusion and inclusion pattern, the exclusion pattern takes precedence and the file isn't included in the index.
      • hasExclusionFileNamePatterns

        public final boolean hasExclusionFileNamePatterns()
        For responses, this returns true if the service returned a value for the ExclusionFileNamePatterns property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • exclusionFileNamePatterns

        public final List<String> exclusionFileNamePatterns()

        A list of regular expression patterns to exclude certain file names in your GitHub repository or repositories. File names that match the patterns are excluded from the index. File names that don't match the patterns are included in the index. If a file matches both an exclusion and inclusion pattern, the exclusion pattern takes precedence and the file isn't included in the index.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasExclusionFileNamePatterns() method.

        Returns:
        A list of regular expression patterns to exclude certain file names in your GitHub repository or repositories. File names that match the patterns are excluded from the index. File names that don't match the patterns are included in the index. If a file matches both an exclusion and inclusion pattern, the exclusion pattern takes precedence and the file isn't included in the index.
      • vpcConfiguration

        public final DataSourceVpcConfiguration vpcConfiguration()

        Configuration information of an Amazon Virtual Private Cloud to connect to your GitHub. For more information, see Configuring a VPC.

        Returns:
        Configuration information of an Amazon Virtual Private Cloud to connect to your GitHub. For more information, see Configuring a VPC.
      • hasGitHubRepositoryConfigurationFieldMappings

        public final boolean hasGitHubRepositoryConfigurationFieldMappings()
        For responses, this returns true if the service returned a value for the GitHubRepositoryConfigurationFieldMappings property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • gitHubRepositoryConfigurationFieldMappings

        public final List<DataSourceToIndexFieldMapping> gitHubRepositoryConfigurationFieldMappings()

        A list of DataSourceToIndexFieldMapping objects that map GitHub repository attributes or field names to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasGitHubRepositoryConfigurationFieldMappings() method.

        Returns:
        A list of DataSourceToIndexFieldMapping objects that map GitHub repository attributes or field names to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.
      • hasGitHubCommitConfigurationFieldMappings

        public final boolean hasGitHubCommitConfigurationFieldMappings()
        For responses, this returns true if the service returned a value for the GitHubCommitConfigurationFieldMappings property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • gitHubCommitConfigurationFieldMappings

        public final List<DataSourceToIndexFieldMapping> gitHubCommitConfigurationFieldMappings()

        A list of DataSourceToIndexFieldMapping objects that map attributes or field names of GitHub commits to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasGitHubCommitConfigurationFieldMappings() method.

        Returns:
        A list of DataSourceToIndexFieldMapping objects that map attributes or field names of GitHub commits to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.
      • hasGitHubIssueDocumentConfigurationFieldMappings

        public final boolean hasGitHubIssueDocumentConfigurationFieldMappings()
        For responses, this returns true if the service returned a value for the GitHubIssueDocumentConfigurationFieldMappings property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • gitHubIssueDocumentConfigurationFieldMappings

        public final List<DataSourceToIndexFieldMapping> gitHubIssueDocumentConfigurationFieldMappings()

        A list of DataSourceToIndexFieldMapping objects that map attributes or field names of GitHub issues to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasGitHubIssueDocumentConfigurationFieldMappings() method.

        Returns:
        A list of DataSourceToIndexFieldMapping objects that map attributes or field names of GitHub issues to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.
      • hasGitHubIssueCommentConfigurationFieldMappings

        public final boolean hasGitHubIssueCommentConfigurationFieldMappings()
        For responses, this returns true if the service returned a value for the GitHubIssueCommentConfigurationFieldMappings property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • gitHubIssueCommentConfigurationFieldMappings

        public final List<DataSourceToIndexFieldMapping> gitHubIssueCommentConfigurationFieldMappings()

        A list of DataSourceToIndexFieldMapping objects that map attributes or field names of GitHub issue comments to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasGitHubIssueCommentConfigurationFieldMappings() method.

        Returns:
        A list of DataSourceToIndexFieldMapping objects that map attributes or field names of GitHub issue comments to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.
      • hasGitHubIssueAttachmentConfigurationFieldMappings

        public final boolean hasGitHubIssueAttachmentConfigurationFieldMappings()
        For responses, this returns true if the service returned a value for the GitHubIssueAttachmentConfigurationFieldMappings property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • gitHubIssueAttachmentConfigurationFieldMappings

        public final List<DataSourceToIndexFieldMapping> gitHubIssueAttachmentConfigurationFieldMappings()

        A list of DataSourceToIndexFieldMapping objects that map attributes or field names of GitHub issue attachments to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasGitHubIssueAttachmentConfigurationFieldMappings() method.

        Returns:
        A list of DataSourceToIndexFieldMapping objects that map attributes or field names of GitHub issue attachments to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.
      • hasGitHubPullRequestCommentConfigurationFieldMappings

        public final boolean hasGitHubPullRequestCommentConfigurationFieldMappings()
        For responses, this returns true if the service returned a value for the GitHubPullRequestCommentConfigurationFieldMappings property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • gitHubPullRequestCommentConfigurationFieldMappings

        public final List<DataSourceToIndexFieldMapping> gitHubPullRequestCommentConfigurationFieldMappings()

        A list of DataSourceToIndexFieldMapping objects that map attributes or field names of GitHub pull request comments to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasGitHubPullRequestCommentConfigurationFieldMappings() method.

        Returns:
        A list of DataSourceToIndexFieldMapping objects that map attributes or field names of GitHub pull request comments to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.
      • hasGitHubPullRequestDocumentConfigurationFieldMappings

        public final boolean hasGitHubPullRequestDocumentConfigurationFieldMappings()
        For responses, this returns true if the service returned a value for the GitHubPullRequestDocumentConfigurationFieldMappings property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • gitHubPullRequestDocumentConfigurationFieldMappings

        public final List<DataSourceToIndexFieldMapping> gitHubPullRequestDocumentConfigurationFieldMappings()

        A list of DataSourceToIndexFieldMapping objects that map attributes or field names of GitHub pull requests to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasGitHubPullRequestDocumentConfigurationFieldMappings() method.

        Returns:
        A list of DataSourceToIndexFieldMapping objects that map attributes or field names of GitHub pull requests to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.
      • hasGitHubPullRequestDocumentAttachmentConfigurationFieldMappings

        public final boolean hasGitHubPullRequestDocumentAttachmentConfigurationFieldMappings()
        For responses, this returns true if the service returned a value for the GitHubPullRequestDocumentAttachmentConfigurationFieldMappings property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • gitHubPullRequestDocumentAttachmentConfigurationFieldMappings

        public final List<DataSourceToIndexFieldMapping> gitHubPullRequestDocumentAttachmentConfigurationFieldMappings()

        A list of DataSourceToIndexFieldMapping objects that map attributes or field names of GitHub pull request attachments to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasGitHubPullRequestDocumentAttachmentConfigurationFieldMappings() method.

        Returns:
        A list of DataSourceToIndexFieldMapping objects that map attributes or field names of GitHub pull request attachments to Amazon Kendra index field names. To create custom fields, use the UpdateIndex API before you map to GitHub fields. For more information, see Mapping data source fields. The GitHub data source field names must exist in your GitHub custom metadata.
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • toString

        public final String toString()
        Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
        Overrides:
        toString in class Object
      • getValueForField

        public final <T> Optional<T> getValueForField​(String fieldName,
                                                      Class<T> clazz)