/** 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 ExtractStructuredLogHeaderPathsExample {
    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(219L)
		.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(192L)
					.facetPriority(505L)
					.name("EXAMPLE-name-Value")
					.isFacetEligible(true)
					.isHighCardinality(false)
					.isLargeData(false)
					.isMultiValued(true)
					.isPrimary(false)
					.isSystem(false)
					.isSummarizable(false)
					.mappedValue("EXAMPLE-mappedValue-Value")
					.isMetricKeyEligible(true)
					.isMetricValueEligible(true)
					.rangeFacetEligible(536L)
					.isTableEligible(true)
					.unitType("EXAMPLE-unitType-Value").build())
				.parserFieldId(772L)
				.parserFieldExpression("EXAMPLE-parserFieldExpression-Value")
				.parserFieldName("EXAMPLE-parserFieldName-Value")
				.storageFieldName("EXAMPLE-storageFieldName-Value")
				.parserFieldIntegratorName("EXAMPLE-parserFieldIntegratorName-Value")
				.parserName("EXAMPLE-parserName-Value")
				.parserFieldSequence(515L)
				.structuredColumnInfo("EXAMPLE-structuredColumnInfo-Value").build())))
		.footerContent("EXAMPLE-footerContent-Value")
		.headerContent("EXAMPLE-headerContent-Value")
		.name("EXAMPLE-name-Value")
		.isDefault(true)
		.isSingleLineContent(false)
		.isSystem(false)
		.language("EXAMPLE-language-Value")
		.timeUpdated(new Date("Sat Dec 12 07:35:33 UTC 2048"))
		.logTypeTestRequestVersion(100)
		.parserIgnorelineCharacters("EXAMPLE-parserIgnorelineCharacters-Value")
		.isHidden(false)
		.parserSequence(999)
		.parserTimezone("EXAMPLE-parserTimezone-Value")
		.parserFilter(LogAnalyticsParserFilter.builder()
			.id("ocid1.test.oc1..<unique_ID>EXAMPLE-id-Value")
			.agentVersion("EXAMPLE-agentVersion-Value")
			.isInUse(187L)
			.operatingSystem("EXAMPLE-operatingSystem-Value")
			.parserId(346L)
			.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(false)
							.pluginName("EXAMPLE-pluginName-Value")
							.type("EXAMPLE-type-Value").build())))
					.description("EXAMPLE-description-Value")
					.displayName("EXAMPLE-displayName-Value")
					.name("EXAMPLE-name-Value").build())
				.parserFunctionId(996L)
				.parserFunctionName("EXAMPLE-parserFunctionName-Value")
				.isEnabled(true)
				.isSystem(false)
				.parserId(633L)
				.parserName("EXAMPLE-parserName-Value")
				.parserMetaPluginName("EXAMPLE-parserMetaPluginName-Value")
				.parserFunctionPriority(276L)
				.parserFunctionParameters(new ArrayList<>(Arrays.asList(LogAnalyticsParserFunctionParameter.builder()
						.parserFunctionId(520L)
						.parserFunctionParameterName("EXAMPLE-parserFunctionParameterName-Value")
						.parserFunctionParameterId(886L)
						.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(true)
							.pluginName("EXAMPLE-pluginName-Value")
							.type("EXAMPLE-type-Value").build()).build()))).build())))
		.sourcesCount(116L)
		.sources(new ArrayList<>(Arrays.asList(LogAnalyticsSource.builder()
				.labelConditions(new ArrayList<>(Arrays.asList(LogAnalyticsSourceLabelCondition.builder()
						.message("EXAMPLE-message-Value")
						.isVisible(false)
						.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(true)
						.fieldName("EXAMPLE-fieldName-Value")
						.labelConditionId(104L)
						.isSystem(false)
						.labelConditionOperator("EXAMPLE-labelConditionOperator-Value")
						.sourceId(699L)
						.labelDisplayName("EXAMPLE-labelDisplayName-Value")
						.storageField("EXAMPLE-storageField-Value")
						.labelName("EXAMPLE-labelName-Value")
						.isInlineLabelExistingInDatabase(false).build())))
				.associationCount(117)
				.associationEntity(new ArrayList<>(Arrays.asList(LogAnalyticsAssociation.builder()
						.failureMessage("EXAMPLE-failureMessage-Value")
						.agentId("ocid1.test.oc1..<unique_ID>EXAMPLE-agentId-Value")
						.timeLastAttempted(new Date("Sat Jun 15 22:42:51 UTC 2041"))
						.retryCount(426L)
						.sourceName("EXAMPLE-sourceName-Value")
						.sourceDisplayName("EXAMPLE-sourceDisplayName-Value")
						.sourceTypeName("EXAMPLE-sourceTypeName-Value")
						.lifeCycleState(LogAnalyticsAssociation.LifeCycleState.Accepted)
						.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(707L)
						.isEnabled(false)
						.fieldName("EXAMPLE-fieldName-Value")
						.hashType(776)
						.dataFilterId(382L)
						.isSystem(false)
						.matchRegularExpression("EXAMPLE-matchRegularExpression-Value")
						.order(457L)
						.path("EXAMPLE-path-Value")
						.replacementString("EXAMPLE-replacementString-Value")
						.sourceId(418L)
						.filterType(LogAnalyticsSourceDataFilter.FilterType.Mask).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(762L)
							.facetPriority(30L)
							.name("EXAMPLE-name-Value")
							.isFacetEligible(true)
							.isHighCardinality(false)
							.isLargeData(false)
							.isMultiValued(true)
							.isPrimary(false)
							.isSystem(false)
							.isSummarizable(true)
							.mappedValue("EXAMPLE-mappedValue-Value")
							.isMetricKeyEligible(true)
							.isMetricValueEligible(false)
							.rangeFacetEligible(453L)
							.isTableEligible(true)
							.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(859L)
									.facetPriority(547L)
									.name("EXAMPLE-name-Value")
									.isFacetEligible(false)
									.isHighCardinality(false)
									.isLargeData(true)
									.isMultiValued(true)
									.isPrimary(true)
									.isSystem(true)
									.isSummarizable(false)
									.mappedValue("EXAMPLE-mappedValue-Value")
									.isMetricKeyEligible(false)
									.isMetricValueEligible(false)
									.rangeFacetEligible(912L)
									.isTableEligible(true)
									.unitType("EXAMPLE-unitType-Value").build())
								.extendedFieldDefinitionId(827L)
								.fieldName("EXAMPLE-fieldName-Value")
								.fieldDisplayName("EXAMPLE-fieldDisplayName-Value")
								.savedRegularExpressionName("EXAMPLE-savedRegularExpressionName-Value")
								.extendedFieldId(65L).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(false)
						.extendedFieldDefinitionId(228L)
						.isSystem(true)
						.regularExpression("EXAMPLE-regularExpression-Value")
						.sourceId(742L)
						.timeUpdated(new Date("Wed Apr 18 10:31:31 UTC 2035")).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(true)
								.displayName("EXAMPLE-displayName-Value")
								.name("EXAMPLE-name-Value")
								.priority(LogAnalyticsLabelAlias.Priority.Medium).build())))
						.countUsageInAlertRule(342L)
						.countUsageInSource(614L)
						.id("EXAMPLE-id-Value")
						.suggestType(400L)
						.description("EXAMPLE-description-Value")
						.displayName("EXAMPLE-displayName-Value")
						.editVersion(10L)
						.impact("EXAMPLE-impact-Value")
						.isSystem(false)
						.name("EXAMPLE-name-Value")
						.priority(LogAnalyticsLabelView.Priority.Medium)
						.recommendation("EXAMPLE-recommendation-Value")
						.type(384L)
						.isUserDeleted(false).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(485L)
						.fieldName("EXAMPLE-fieldName-Value")
						.fieldValues(new ArrayList<>(Arrays.asList("EXAMPLE--Value")))
						.groupingField("EXAMPLE-groupingField-Value")
						.isEnabled(false)
						.isSystem(true)
						.displayName("EXAMPLE-displayName-Value")
						.metricReference(34L)
						.name("EXAMPLE-name-Value")
						.metricType(LogAnalyticsMetric.MetricType.Average)
						.isMetricSourceEnabled(false)
						.operator(LogAnalyticsMetric.Operator.ContainsIgnoreCase)
						.entityType("EXAMPLE-entityType-Value")
						.timeUpdated(new Date("Fri Apr 15 02:06:32 UTC 2016"))
						.unitType("EXAMPLE-unitType-Value")
						.isUserCustomized(false).build())))
				.metrics(new ArrayList<>(Arrays.asList(LogAnalyticsSourceMetric.builder()
						.isMetricSourceEnabled(true)
						.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(false)
						.name("EXAMPLE-name-Value")
						.sourceId(997L).build())))
				.patternCount(848)
				.patterns(new ArrayList<>(Arrays.asList(LogAnalyticsSourcePattern.builder()
						.convertedText("EXAMPLE-convertedText-Value")
						.dbParserId(275L)
						.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(916L)
									.facetPriority(340L)
									.name("EXAMPLE-name-Value")
									.isFacetEligible(false)
									.isHighCardinality(false)
									.isLargeData(true)
									.isMultiValued(true)
									.isPrimary(false)
									.isSystem(true)
									.isSummarizable(false)
									.mappedValue("EXAMPLE-mappedValue-Value")
									.isMetricKeyEligible(false)
									.isMetricValueEligible(true)
									.rangeFacetEligible(814L)
									.isTableEligible(false)
									.unitType("EXAMPLE-unitType-Value").build())
								.parserFieldId(51L)
								.parserFieldExpression("EXAMPLE-parserFieldExpression-Value")
								.parserFieldName("EXAMPLE-parserFieldName-Value")
								.storageFieldName("EXAMPLE-storageFieldName-Value")
								.parserFieldIntegratorName("EXAMPLE-parserFieldIntegratorName-Value")
								.parserName("EXAMPLE-parserName-Value")
								.parserFieldSequence(626L)
								.structuredColumnInfo("EXAMPLE-structuredColumnInfo-Value").build())))
						.isInclude(false)
						.isDefault(false)
						.patternFilter(LogAnalyticsPatternFilter.builder()
							.agentVersion("EXAMPLE-agentVersion-Value")
							.isInUse(true)
							.operatingSystem("EXAMPLE-operatingSystem-Value")
							.patternId(86L)
							.sourceId(744L)
							.version("EXAMPLE-version-Value").build())
						.alias("EXAMPLE-alias-Value")
						.description("EXAMPLE-description-Value")
						.isEnabled(false)
						.patternId(554L)
						.isSystem(true)
						.sourceId(480L)
						.isAgentWarningSuppressed(false)
						.patternText("EXAMPLE-patternText-Value")
						.patternType(859L)
						.entityType(new ArrayList<>(Arrays.asList("EXAMPLE--Value"))).build())))
				.description("EXAMPLE-description-Value")
				.displayName("EXAMPLE-displayName-Value")
				.editVersion(490L)
				.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(14L)
								.argumentType(191L)
								.argumentId(908L)
								.argumentLookupColumn("EXAMPLE-argumentLookupColumn-Value")
								.argumentLookupColumnPosition(601L)
								.argumentValue("EXAMPLE-argumentValue-Value")
								.argumentReference("EXAMPLE-argumentReference-Value").build())))
						.isEnabled(true)
						.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(240L)
									.argumentType(323L)
									.argumentId(342L)
									.argumentLookupColumn("EXAMPLE-argumentLookupColumn-Value")
									.argumentLookupColumnPosition(88L)
									.argumentValue("EXAMPLE-argumentValue-Value")
									.argumentReference("EXAMPLE-argumentReference-Value").build())))
							.component("EXAMPLE-component-Value")
							.description("EXAMPLE-description-Value")
							.editVersion(766L)
							.metaFunctionId(282L)
							.javaClassName("EXAMPLE-javaClassName-Value")
							.name("EXAMPLE-name-Value").build())
						.functionName(LogAnalyticsSourceFunction.FunctionName.Lookup)
						.functionReference("EXAMPLE-functionReference-Value")
						.sourceReference("EXAMPLE-sourceReference-Value")
						.features(new ArrayList<>(Arrays.asList("EXAMPLE--Value")))
						.functionId(680L)
						.order(25L)
						.isSystem(false)
						.lookupColumn("EXAMPLE-lookupColumn-Value")
						.lookupColumnPosition(900L)
						.lookupDisplayName("EXAMPLE-lookupDisplayName-Value")
						.lookupMode(387L)
						.lookupTable("EXAMPLE-lookupTable-Value")
						.sourceId(569L).build())))
				.sourceId(985L)
				.name("EXAMPLE-name-Value")
				.isSecureContent(true)
				.isSystem(false)
				.isAutoAssociationEnabled(false)
				.isAutoAssociationOverride(true)
				.ruleId(526L)
				.typeName("EXAMPLE-typeName-Value")
				.typeDisplayName("EXAMPLE-typeDisplayName-Value")
				.warningConfig(272L)
				.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(720L)
						.isSystem(true)
						.sourceId(635L)
						.labelName("EXAMPLE-labelName-Value").build())))
				.entityTypes(new ArrayList<>(Arrays.asList(LogAnalyticsSourceEntityType.builder()
						.sourceId(580L)
						.entityType("EXAMPLE-entityType-Value")
						.entityTypeCategory("EXAMPLE-entityTypeCategory-Value")
						.entityTypeDisplayName("EXAMPLE-entityTypeDisplayName-Value").build())))
				.isTimezoneOverride(false)
				.timeUpdated(new Date("Wed Aug 16 11:28:03 UTC 2045"))
				.eventTypes(new ArrayList<>(Arrays.asList(EventType.builder()
						.eventTypeName("EXAMPLE-eventTypeName-Value")
						.specVersion("EXAMPLE-specVersion-Value")
						.isEnabled(true)
						.isSystem(true)
						.timeUpdated(new Date("Sun Feb 23 03:56:29 UTC 2031")).build()))).build())))
		.shouldTokenizeOriginalText(true)
		.fieldDelimiter("EXAMPLE-fieldDelimiter-Value")
		.fieldQualifier("EXAMPLE-fieldQualifier-Value")
		.type(LogAnalyticsParser.Type.Json)
		.isUserDeleted(false)
		.isNamespaceAware(true).build();

	ExtractStructuredLogHeaderPathsRequest extractStructuredLogHeaderPathsRequest = ExtractStructuredLogHeaderPathsRequest.builder()
		.namespaceName("EXAMPLE-namespaceName-Value")
		.loganParserDetails(logAnalyticsParser)
		.parserType(ExtractStructuredLogHeaderPathsRequest.ParserType.Json)
		.opcRetryToken("EXAMPLE-opcRetryToken-Value")
		.opcRequestId("6E85Z8MM71DB3WAX4TAS<unique_ID>").build();

        /* Send request to the Client */
        ExtractStructuredLogHeaderPathsResponse response = client.extractStructuredLogHeaderPaths(extractStructuredLogHeaderPathsRequest);
    }

    
}