/** This is an automatically generated code sample. 
To make this code sample work in your Oracle Cloud tenancy, 
please replace the values for any parameters whose current values do not fit
your use case (such as resource IDs, strings containing ‘EXAMPLE’ or ‘unique_id’, and 
boolean, number, and enum parameters with values not fitting your use case).
*/

import com.oracle.bmc.ConfigFileReader;
import com.oracle.bmc.auth.AuthenticationDetailsProvider;
import com.oracle.bmc.auth.ConfigFileAuthenticationDetailsProvider;
import com.oracle.bmc.loganalytics.LogAnalyticsClient;
import com.oracle.bmc.loganalytics.model.*;
import com.oracle.bmc.loganalytics.requests.*;
import com.oracle.bmc.loganalytics.responses.*;
import java.math.BigDecimal;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Date;
import java.util.Arrays;


public class ExtractStructuredLogFieldPathsExample {
    public static void main(String[] args) throws Exception {

        /**
         * Create a default authentication provider that uses the DEFAULT
         * profile in the configuration file.
         * Refer to <see href="https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm#SDK_and_CLI_Configuration_File>the public documentation</see> on how to prepare a configuration file.
         */
        final ConfigFileReader.ConfigFile configFile = ConfigFileReader.parseDefault();
        final AuthenticationDetailsProvider provider = new ConfigFileAuthenticationDetailsProvider(configFile);

        /* Create a service client */
        LogAnalyticsClient client = new LogAnalyticsClient(provider);

        /* Create a request and dependent object(s). */
	LogAnalyticsParser logAnalyticsParser = LogAnalyticsParser.builder()
		.content("EXAMPLE-content-Value")
		.description("EXAMPLE-description-Value")
		.displayName("EXAMPLE-displayName-Value")
		.editVersion(587L)
		.encoding("EXAMPLE-encoding-Value")
		.exampleContent("EXAMPLE-exampleContent-Value")
		.fieldMaps(new ArrayList<>(Arrays.asList(LogAnalyticsParserField.builder()
				.field(LogAnalyticsField.builder()
					.ceeAlias("EXAMPLE-ceeAlias-Value")
					.dataType("EXAMPLE-dataType-Value")
					.regularExpression("EXAMPLE-regularExpression-Value")
					.description("EXAMPLE-description-Value")
					.displayName("EXAMPLE-displayName-Value")
					.editVersion(352L)
					.facetPriority(263L)
					.name("EXAMPLE-name-Value")
					.isFacetEligible(true)
					.isHighCardinality(false)
					.isLargeData(true)
					.isMultiValued(false)
					.isPrimary(true)
					.isSystem(true)
					.isSummarizable(true)
					.mappedValue("EXAMPLE-mappedValue-Value")
					.isMetricKeyEligible(true)
					.isMetricValueEligible(true)
					.rangeFacetEligible(192L)
					.isTableEligible(false)
					.unitType("EXAMPLE-unitType-Value").build())
				.parserFieldId(675L)
				.parserFieldExpression("EXAMPLE-parserFieldExpression-Value")
				.parserFieldName("EXAMPLE-parserFieldName-Value")
				.storageFieldName("EXAMPLE-storageFieldName-Value")
				.parserFieldIntegratorName("EXAMPLE-parserFieldIntegratorName-Value")
				.parserName("EXAMPLE-parserName-Value")
				.parserFieldSequence(175L)
				.structuredColumnInfo("EXAMPLE-structuredColumnInfo-Value").build())))
		.footerContent("EXAMPLE-footerContent-Value")
		.headerContent("EXAMPLE-headerContent-Value")
		.name("EXAMPLE-name-Value")
		.isDefault(false)
		.isSingleLineContent(true)
		.isSystem(false)
		.language("EXAMPLE-language-Value")
		.timeUpdated(new Date("Wed May 30 17:40:15 UTC 2001"))
		.logTypeTestRequestVersion(96)
		.parserIgnorelineCharacters("EXAMPLE-parserIgnorelineCharacters-Value")
		.isHidden(true)
		.parserSequence(964)
		.parserTimezone("EXAMPLE-parserTimezone-Value")
		.parserFilter(LogAnalyticsParserFilter.builder()
			.id("ocid1.test.oc1..<unique_ID>EXAMPLE-id-Value")
			.agentVersion("EXAMPLE-agentVersion-Value")
			.isInUse(120L)
			.operatingSystem("EXAMPLE-operatingSystem-Value")
			.parserId(691L)
			.version("EXAMPLE-version-Value").build())
		.isParserWrittenOnce(true)
		.parserFunctions(new ArrayList<>(Arrays.asList(LogAnalyticsParserFunction.builder()
				.parserMetaPlugin(LogAnalyticsParserMetaPlugin.builder()
					.metaPluginParameters(new ArrayList<>(Arrays.asList(LogAnalyticsParserMetaPluginParameter.builder()
							.description("EXAMPLE-description-Value")
							.name("EXAMPLE-name-Value")
							.isMandatory(true)
							.isRepeatable(true)
							.pluginName("EXAMPLE-pluginName-Value")
							.type("EXAMPLE-type-Value").build())))
					.description("EXAMPLE-description-Value")
					.displayName("EXAMPLE-displayName-Value")
					.name("EXAMPLE-name-Value").build())
				.parserFunctionId(338L)
				.parserFunctionName("EXAMPLE-parserFunctionName-Value")
				.isEnabled(true)
				.isSystem(false)
				.parserId(150L)
				.parserName("EXAMPLE-parserName-Value")
				.parserMetaPluginName("EXAMPLE-parserMetaPluginName-Value")
				.parserFunctionPriority(444L)
				.parserFunctionParameters(new ArrayList<>(Arrays.asList(LogAnalyticsParserFunctionParameter.builder()
						.parserFunctionId(435L)
						.parserFunctionParameterName("EXAMPLE-parserFunctionParameterName-Value")
						.parserFunctionParameterId(90L)
						.parserMetaPluginParameterName("EXAMPLE-parserMetaPluginParameterName-Value")
						.parserMetaPluginParameterValue("EXAMPLE-parserMetaPluginParameterValue-Value")
						.parserName("EXAMPLE-parserName-Value")
						.parserMetaPluginParameter(LogAnalyticsParserMetaPluginParameter.builder()
							.description("EXAMPLE-description-Value")
							.name("EXAMPLE-name-Value")
							.isMandatory(true)
							.isRepeatable(false)
							.pluginName("EXAMPLE-pluginName-Value")
							.type("EXAMPLE-type-Value").build()).build()))).build())))
		.sourcesCount(38L)
		.sources(new ArrayList<>(Arrays.asList(LogAnalyticsSource.builder()
				.labelConditions(new ArrayList<>(Arrays.asList(LogAnalyticsSourceLabelCondition.builder()
						.message("EXAMPLE-message-Value")
						.isVisible(true)
						.blockConditionField("EXAMPLE-blockConditionField-Value")
						.blockConditionOperator("EXAMPLE-blockConditionOperator-Value")
						.blockConditionValue("EXAMPLE-blockConditionValue-Value")
						.labelConditionValue("EXAMPLE-labelConditionValue-Value")
						.labelConditionValues(new ArrayList<>(Arrays.asList("EXAMPLE--Value")))
						.contentExample("EXAMPLE-contentExample-Value")
						.isEnabled(false)
						.fieldName("EXAMPLE-fieldName-Value")
						.labelConditionId(20L)
						.isSystem(false)
						.labelConditionOperator("EXAMPLE-labelConditionOperator-Value")
						.sourceId(294L)
						.labelDisplayName("EXAMPLE-labelDisplayName-Value")
						.storageField("EXAMPLE-storageField-Value")
						.labelName("EXAMPLE-labelName-Value")
						.isInlineLabelExistingInDatabase(false).build())))
				.associationCount(372)
				.associationEntity(new ArrayList<>(Arrays.asList(LogAnalyticsAssociation.builder()
						.failureMessage("EXAMPLE-failureMessage-Value")
						.agentId("ocid1.test.oc1..<unique_ID>EXAMPLE-agentId-Value")
						.timeLastAttempted(new Date("Tue Sep 16 05:41:02 UTC 2025"))
						.retryCount(454L)
						.sourceName("EXAMPLE-sourceName-Value")
						.sourceDisplayName("EXAMPLE-sourceDisplayName-Value")
						.sourceTypeName("EXAMPLE-sourceTypeName-Value")
						.lifeCycleState(LogAnalyticsAssociation.LifeCycleState.InProgress)
						.entityId("ocid1.test.oc1..<unique_ID>EXAMPLE-entityId-Value")
						.entityName("EXAMPLE-entityName-Value")
						.entityTypeName("EXAMPLE-entityTypeName-Value")
						.host("EXAMPLE-host-Value")
						.agentEntityName("EXAMPLE-agentEntityName-Value")
						.entityTypeDisplayName("EXAMPLE-entityTypeDisplayName-Value")
						.logGroupId("ocid1.test.oc1..<unique_ID>EXAMPLE-logGroupId-Value")
						.logGroupName("EXAMPLE-logGroupName-Value")
						.logGroupCompartment("EXAMPLE-logGroupCompartment-Value").build())))
				.dataFilterDefinitions(new ArrayList<>(Arrays.asList(LogAnalyticsSourceDataFilter.builder()
						.description("EXAMPLE-description-Value")
						.displayName("EXAMPLE-displayName-Value")
						.editVersion(667L)
						.isEnabled(true)
						.fieldName("EXAMPLE-fieldName-Value")
						.hashType(193)
						.dataFilterId(85L)
						.isSystem(false)
						.matchRegularExpression("EXAMPLE-matchRegularExpression-Value")
						.order(692L)
						.path("EXAMPLE-path-Value")
						.replacementString("EXAMPLE-replacementString-Value")
						.sourceId(27L)
						.filterType(LogAnalyticsSourceDataFilter.FilterType.DropString).build())))
				.databaseCredential("EXAMPLE-databaseCredential-Value")
				.extendedFieldDefinitions(new ArrayList<>(Arrays.asList(LogAnalyticsSourceExtendedFieldDefinition.builder()
						.field(LogAnalyticsField.builder()
							.ceeAlias("EXAMPLE-ceeAlias-Value")
							.dataType("EXAMPLE-dataType-Value")
							.regularExpression("EXAMPLE-regularExpression-Value")
							.description("EXAMPLE-description-Value")
							.displayName("EXAMPLE-displayName-Value")
							.editVersion(91L)
							.facetPriority(712L)
							.name("EXAMPLE-name-Value")
							.isFacetEligible(true)
							.isHighCardinality(false)
							.isLargeData(false)
							.isMultiValued(false)
							.isPrimary(false)
							.isSystem(false)
							.isSummarizable(false)
							.mappedValue("EXAMPLE-mappedValue-Value")
							.isMetricKeyEligible(false)
							.isMetricValueEligible(false)
							.rangeFacetEligible(621L)
							.isTableEligible(false)
							.unitType("EXAMPLE-unitType-Value").build())
						.displayRegularExpression("EXAMPLE-displayRegularExpression-Value")
						.extendedFields(new ArrayList<>(Arrays.asList(LogAnalyticsExtendedField.builder()
								.field(LogAnalyticsField.builder()
									.ceeAlias("EXAMPLE-ceeAlias-Value")
									.dataType("EXAMPLE-dataType-Value")
									.regularExpression("EXAMPLE-regularExpression-Value")
									.description("EXAMPLE-description-Value")
									.displayName("EXAMPLE-displayName-Value")
									.editVersion(383L)
									.facetPriority(321L)
									.name("EXAMPLE-name-Value")
									.isFacetEligible(true)
									.isHighCardinality(true)
									.isLargeData(true)
									.isMultiValued(true)
									.isPrimary(false)
									.isSystem(false)
									.isSummarizable(true)
									.mappedValue("EXAMPLE-mappedValue-Value")
									.isMetricKeyEligible(false)
									.isMetricValueEligible(false)
									.rangeFacetEligible(707L)
									.isTableEligible(false)
									.unitType("EXAMPLE-unitType-Value").build())
								.extendedFieldDefinitionId(833L)
								.fieldName("EXAMPLE-fieldName-Value")
								.fieldDisplayName("EXAMPLE-fieldDisplayName-Value")
								.savedRegularExpressionName("EXAMPLE-savedRegularExpressionName-Value")
								.extendedFieldId(717L).build())))
						.baseFieldName("EXAMPLE-baseFieldName-Value")
						.baseFieldLogText("EXAMPLE-baseFieldLogText-Value")
						.conditionDataType("EXAMPLE-conditionDataType-Value")
						.conditionField("EXAMPLE-conditionField-Value")
						.conditionOperator("EXAMPLE-conditionOperator-Value")
						.conditionValue("EXAMPLE-conditionValue-Value")
						.convertedRegularExpression("EXAMPLE-convertedRegularExpression-Value")
						.isEnabled(true)
						.extendedFieldDefinitionId(288L)
						.isSystem(false)
						.regularExpression("EXAMPLE-regularExpression-Value")
						.sourceId(672L)
						.timeUpdated(new Date("Sat Jan 25 00:08:00 UTC 2031")).build())))
				.isForCloud(false)
				.labels(new ArrayList<>(Arrays.asList(LogAnalyticsLabelView.builder()
						.aliases(new ArrayList<>(Arrays.asList(LogAnalyticsLabelAlias.builder()
								.alias("EXAMPLE-alias-Value")
								.aliasDisplayName("EXAMPLE-aliasDisplayName-Value")
								.isSystem(false)
								.displayName("EXAMPLE-displayName-Value")
								.name("EXAMPLE-name-Value")
								.priority(LogAnalyticsLabelAlias.Priority.Medium).build())))
						.countUsageInAlertRule(470L)
						.countUsageInSource(411L)
						.id("EXAMPLE-id-Value")
						.suggestType(169L)
						.description("EXAMPLE-description-Value")
						.displayName("EXAMPLE-displayName-Value")
						.editVersion(350L)
						.impact("EXAMPLE-impact-Value")
						.isSystem(true)
						.name("EXAMPLE-name-Value")
						.priority(LogAnalyticsLabelView.Priority.None)
						.recommendation("EXAMPLE-recommendation-Value")
						.type(95L)
						.isUserDeleted(true).build())))
				.metricDefinitions(new ArrayList<>(Arrays.asList(LogAnalyticsMetric.builder()
						.aggregationField("EXAMPLE-aggregationField-Value")
						.bucketMetadata("EXAMPLE-bucketMetadata-Value")
						.clockPeriod("EXAMPLE-clockPeriod-Value")
						.description("EXAMPLE-description-Value")
						.editVersion(352L)
						.fieldName("EXAMPLE-fieldName-Value")
						.fieldValues(new ArrayList<>(Arrays.asList("EXAMPLE--Value")))
						.groupingField("EXAMPLE-groupingField-Value")
						.isEnabled(false)
						.isSystem(false)
						.displayName("EXAMPLE-displayName-Value")
						.metricReference(295L)
						.name("EXAMPLE-name-Value")
						.metricType(LogAnalyticsMetric.MetricType.CountDistribution)
						.isMetricSourceEnabled(false)
						.operator(LogAnalyticsMetric.Operator.EqualIgnoreCase)
						.entityType("EXAMPLE-entityType-Value")
						.timeUpdated(new Date("Mon Aug 23 01:35:17 UTC 2032"))
						.unitType("EXAMPLE-unitType-Value")
						.isUserCustomized(true).build())))
				.metrics(new ArrayList<>(Arrays.asList(LogAnalyticsSourceMetric.builder()
						.isMetricSourceEnabled(false)
						.metricName("EXAMPLE-metricName-Value")
						.sourceName("EXAMPLE-sourceName-Value")
						.entityType("EXAMPLE-entityType-Value").build())))
				.parameters(new ArrayList<>(Arrays.asList(LogAnalyticsParameter.builder()
						.defaultValue("EXAMPLE-defaultValue-Value")
						.description("EXAMPLE-description-Value")
						.isActive(true)
						.name("EXAMPLE-name-Value")
						.sourceId(526L).build())))
				.patternCount(542)
				.patterns(new ArrayList<>(Arrays.asList(LogAnalyticsSourcePattern.builder()
						.convertedText("EXAMPLE-convertedText-Value")
						.dbParserId(123L)
						.dbPatternDateTimeColumns("EXAMPLE-dbPatternDateTimeColumns-Value")
						.dbPatternDateTimeField("EXAMPLE-dbPatternDateTimeField-Value")
						.dbPatternSequenceColumn("EXAMPLE-dbPatternSequenceColumn-Value")
						.fields(new ArrayList<>(Arrays.asList(LogAnalyticsParserField.builder()
								.field(LogAnalyticsField.builder()
									.ceeAlias("EXAMPLE-ceeAlias-Value")
									.dataType("EXAMPLE-dataType-Value")
									.regularExpression("EXAMPLE-regularExpression-Value")
									.description("EXAMPLE-description-Value")
									.displayName("EXAMPLE-displayName-Value")
									.editVersion(3L)
									.facetPriority(625L)
									.name("EXAMPLE-name-Value")
									.isFacetEligible(true)
									.isHighCardinality(true)
									.isLargeData(true)
									.isMultiValued(true)
									.isPrimary(true)
									.isSystem(true)
									.isSummarizable(true)
									.mappedValue("EXAMPLE-mappedValue-Value")
									.isMetricKeyEligible(true)
									.isMetricValueEligible(true)
									.rangeFacetEligible(299L)
									.isTableEligible(false)
									.unitType("EXAMPLE-unitType-Value").build())
								.parserFieldId(227L)
								.parserFieldExpression("EXAMPLE-parserFieldExpression-Value")
								.parserFieldName("EXAMPLE-parserFieldName-Value")
								.storageFieldName("EXAMPLE-storageFieldName-Value")
								.parserFieldIntegratorName("EXAMPLE-parserFieldIntegratorName-Value")
								.parserName("EXAMPLE-parserName-Value")
								.parserFieldSequence(218L)
								.structuredColumnInfo("EXAMPLE-structuredColumnInfo-Value").build())))
						.isInclude(true)
						.isDefault(false)
						.patternFilter(LogAnalyticsPatternFilter.builder()
							.agentVersion("EXAMPLE-agentVersion-Value")
							.isInUse(true)
							.operatingSystem("EXAMPLE-operatingSystem-Value")
							.patternId(110L)
							.sourceId(246L)
							.version("EXAMPLE-version-Value").build())
						.alias("EXAMPLE-alias-Value")
						.description("EXAMPLE-description-Value")
						.isEnabled(true)
						.patternId(774L)
						.isSystem(false)
						.sourceId(35L)
						.isAgentWarningSuppressed(false)
						.patternText("EXAMPLE-patternText-Value")
						.patternType(791L)
						.entityType(new ArrayList<>(Arrays.asList("EXAMPLE--Value"))).build())))
				.description("EXAMPLE-description-Value")
				.displayName("EXAMPLE-displayName-Value")
				.editVersion(366L)
				.functions(new ArrayList<>(Arrays.asList(LogAnalyticsSourceFunction.builder()
						.arguments(new ArrayList<>(Arrays.asList(LogAnalyticsMetaFunctionArgument.builder()
								.isOverrideOutputFields(true)
								.argumentDisplayName("EXAMPLE-argumentDisplayName-Value")
								.argumentExample("EXAMPLE-argumentExample-Value")
								.argumentService("EXAMPLE-argumentService-Value")
								.argumentDataType("EXAMPLE-argumentDataType-Value")
								.argumentDescription("EXAMPLE-argumentDescription-Value")
								.argumentName("EXAMPLE-argumentName-Value")
								.argumentOrder(313L)
								.argumentType(117L)
								.argumentId(720L)
								.argumentLookupColumn("EXAMPLE-argumentLookupColumn-Value")
								.argumentLookupColumnPosition(268L)
								.argumentValue("EXAMPLE-argumentValue-Value")
								.argumentReference("EXAMPLE-argumentReference-Value").build())))
						.isEnabled(false)
						.function(LogAnalyticsMetaFunction.builder()
							.metaFunctionArgument(new ArrayList<>(Arrays.asList(LogAnalyticsMetaFunctionArgument.builder()
									.isOverrideOutputFields(true)
									.argumentDisplayName("EXAMPLE-argumentDisplayName-Value")
									.argumentExample("EXAMPLE-argumentExample-Value")
									.argumentService("EXAMPLE-argumentService-Value")
									.argumentDataType("EXAMPLE-argumentDataType-Value")
									.argumentDescription("EXAMPLE-argumentDescription-Value")
									.argumentName("EXAMPLE-argumentName-Value")
									.argumentOrder(231L)
									.argumentType(765L)
									.argumentId(105L)
									.argumentLookupColumn("EXAMPLE-argumentLookupColumn-Value")
									.argumentLookupColumnPosition(334L)
									.argumentValue("EXAMPLE-argumentValue-Value")
									.argumentReference("EXAMPLE-argumentReference-Value").build())))
							.component("EXAMPLE-component-Value")
							.description("EXAMPLE-description-Value")
							.editVersion(683L)
							.metaFunctionId(965L)
							.javaClassName("EXAMPLE-javaClassName-Value")
							.name("EXAMPLE-name-Value").build())
						.functionName(LogAnalyticsSourceFunction.FunctionName.Geolocation)
						.functionReference("EXAMPLE-functionReference-Value")
						.sourceReference("EXAMPLE-sourceReference-Value")
						.features(new ArrayList<>(Arrays.asList("EXAMPLE--Value")))
						.functionId(916L)
						.order(917L)
						.isSystem(true)
						.lookupColumn("EXAMPLE-lookupColumn-Value")
						.lookupColumnPosition(919L)
						.lookupDisplayName("EXAMPLE-lookupDisplayName-Value")
						.lookupMode(176L)
						.lookupTable("EXAMPLE-lookupTable-Value")
						.sourceId(151L).build())))
				.sourceId(891L)
				.name("EXAMPLE-name-Value")
				.isSecureContent(true)
				.isSystem(false)
				.isAutoAssociationEnabled(true)
				.isAutoAssociationOverride(false)
				.ruleId(619L)
				.typeName("EXAMPLE-typeName-Value")
				.typeDisplayName("EXAMPLE-typeDisplayName-Value")
				.warningConfig(871L)
				.metadataFields(new ArrayList<>(Arrays.asList(LogAnalyticsSourceMetadataField.builder()
						.fieldName("EXAMPLE-fieldName-Value")
						.isEnabled(true)
						.isSystem(true)
						.key("EXAMPLE-key-Value")
						.sourceName("EXAMPLE-sourceName-Value").build())))
				.labelDefinitions(new ArrayList<>(Arrays.asList(LogAnalyticsLabelDefinition.builder()
						.editVersion(397L)
						.isSystem(true)
						.sourceId(104L)
						.labelName("EXAMPLE-labelName-Value").build())))
				.entityTypes(new ArrayList<>(Arrays.asList(LogAnalyticsSourceEntityType.builder()
						.sourceId(395L)
						.entityType("EXAMPLE-entityType-Value")
						.entityTypeCategory("EXAMPLE-entityTypeCategory-Value")
						.entityTypeDisplayName("EXAMPLE-entityTypeDisplayName-Value").build())))
				.isTimezoneOverride(false)
				.timeUpdated(new Date("Thu Dec 19 15:04:16 UTC 2047"))
				.eventTypes(new ArrayList<>(Arrays.asList(EventType.builder()
						.eventTypeName("EXAMPLE-eventTypeName-Value")
						.specVersion("EXAMPLE-specVersion-Value")
						.isEnabled(false)
						.isSystem(false)
						.timeUpdated(new Date("Fri Jun 12 01:48:54 UTC 2048")).build()))).build())))
		.shouldTokenizeOriginalText(true)
		.fieldDelimiter("EXAMPLE-fieldDelimiter-Value")
		.fieldQualifier("EXAMPLE-fieldQualifier-Value")
		.type(LogAnalyticsParser.Type.Odl)
		.isUserDeleted(false)
		.isNamespaceAware(true).build();

	ExtractStructuredLogFieldPathsRequest extractStructuredLogFieldPathsRequest = ExtractStructuredLogFieldPathsRequest.builder()
		.namespaceName("EXAMPLE-namespaceName-Value")
		.loganParserDetails(logAnalyticsParser)
		.parserType(ExtractStructuredLogFieldPathsRequest.ParserType.Json)
		.opcRetryToken("EXAMPLE-opcRetryToken-Value")
		.opcRequestId("KOTJG785SOCFURECZNUI<unique_ID>").build();

        /* Send request to the Client */
        ExtractStructuredLogFieldPathsResponse response = client.extractStructuredLogFieldPaths(extractStructuredLogFieldPathsRequest);
    }

    
}