// 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).

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Oci.DataintegrationService;
using Oci.Common;
using Oci.Common.Auth;

namespace Oci.Sdk.DotNet.Example.Dataintegration
{
    public class CreateExternalPublicationExample
    {
        public static async Task Main()
        {
            // Create a request and dependent object(s).
			var createExternalPublicationDetails = new Oci.DataintegrationService.Models.CreateExternalPublicationDetails
			{
				ApplicationId = "ocid1.test.oc1..<unique_ID>EXAMPLE-applicationId-Value",
				ApplicationCompartmentId = "ocid1.test.oc1..<unique_ID>EXAMPLE-applicationCompartmentId-Value",
				DisplayName = "EXAMPLE-displayName-Value",
				Description = "EXAMPLE-description-Value",
				ResourceConfiguration = new Oci.DataintegrationService.Models.ResourceConfiguration
				{
					SparkVersion = "EXAMPLE-sparkVersion-Value",
					DriverShape = "EXAMPLE-driverShape-Value",
					ExecutorShape = "EXAMPLE-executorShape-Value",
					TotalExecutors = 62
				},
				ConfigurationDetails = new Oci.DataintegrationService.Models.ConfigurationDetails
				{
					DataAsset = new Oci.DataintegrationService.Models.DataAssetFromHdfsDetails
					{
						Host = "EXAMPLE-host-Value",
						Port = "EXAMPLE-port-Value",
						Protocol = "EXAMPLE-protocol-Value",
						ValidateCertificate = false,
						DefaultConnection = new Oci.DataintegrationService.Models.ConnectionFromHdfsDetails
						{
							HdfsPrincipal = "EXAMPLE-hdfsPrincipal-Value",
							DataNodePrincipal = "EXAMPLE-dataNodePrincipal-Value",
							NameNodePrincipal = "EXAMPLE-nameNodePrincipal-Value",
							Realm = "EXAMPLE-realm-Value",
							KeyDistributionCenter = "EXAMPLE-keyDistributionCenter-Value",
							KeyTabContent = new Oci.DataintegrationService.Models.SensitiveAttribute
							{
								SecretConfig = new Oci.DataintegrationService.Models.OciVaultSecretConfig
								{
									SecretId = "ocid1.test.oc1..<unique_ID>EXAMPLE-secretId-Value"
								},
								Value = "EXAMPLE-value-Value"
							},
							Key = "EXAMPLE-key-Value",
							ModelVersion = "EXAMPLE-modelVersion-Value",
							ParentRef = new Oci.DataintegrationService.Models.ParentReference
							{
								Parent = "EXAMPLE-parent-Value",
								RootDocId = "ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"
							},
							Name = "EXAMPLE-name-Value",
							Description = "EXAMPLE-description-Value",
							ObjectVersion = 758,
							ObjectStatus = 466,
							Identifier = "EXAMPLE-identifier-Value",
							PrimarySchema = new Oci.DataintegrationService.Models.Schema
							{
								Key = "EXAMPLE-key-Value",
								ModelType = "EXAMPLE-modelType-Value",
								ModelVersion = "EXAMPLE-modelVersion-Value",
								ParentRef = new Oci.DataintegrationService.Models.ParentReference
								{
									Parent = "EXAMPLE-parent-Value",
									RootDocId = "ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"
								},
								Name = "EXAMPLE-name-Value",
								ResourceName = "EXAMPLE-resourceName-Value",
								Description = "EXAMPLE-description-Value",
								ObjectVersion = 143,
								ExternalKey = "EXAMPLE-externalKey-Value",
								IsHasContainers = false,
								DefaultConnection = "EXAMPLE-defaultConnection-Value",
								ObjectStatus = 143,
								Identifier = "EXAMPLE-identifier-Value",
								Metadata = new Oci.DataintegrationService.Models.ObjectMetadata
								{
									CreatedBy = "EXAMPLE-createdBy-Value",
									CreatedByName = "EXAMPLE-createdByName-Value",
									UpdatedBy = "EXAMPLE-updatedBy-Value",
									UpdatedByName = "EXAMPLE-updatedByName-Value",
									TimeCreated = DateTime.Parse("05/07/2017 17:26:56"),
									TimeUpdated = DateTime.Parse("04/24/2023 05:40:48"),
									AggregatorKey = "EXAMPLE-aggregatorKey-Value",
									Aggregator = new Oci.DataintegrationService.Models.AggregatorSummary
									{
										Type = "EXAMPLE-type-Value",
										Key = "EXAMPLE-key-Value",
										Name = "EXAMPLE-name-Value",
										Identifier = "EXAMPLE-identifier-Value",
										Description = "EXAMPLE-description-Value"
									},
									IdentifierPath = "EXAMPLE-identifierPath-Value",
									InfoFields = new Dictionary<string, string>()
									{
										{
											"EXAMPLE_KEY_6HLDl", 
											"EXAMPLE_VALUE_lYXTDkslG2okWmJMA2DI"
										}
									},
									RegistryVersion = 602,
									Labels = new List<string>
									{
										"EXAMPLE--Value"
									},
									IsFavorite = true,
									CountStatistics = new Oci.DataintegrationService.Models.CountStatistic
									{
										ObjectTypeCountList = new List<Oci.DataintegrationService.Models.CountStatisticSummary>
										{
											new Oci.DataintegrationService.Models.CountStatisticSummary
											{
												ObjectType = Oci.DataintegrationService.Models.CountStatisticSummary.ObjectTypeEnum.DataFlow,
												ObjectCount = 534
											}
										}
									}
								}
							},
							ConnectionProperties = new List<Oci.DataintegrationService.Models.ConnectionProperty>
							{
								new Oci.DataintegrationService.Models.ConnectionProperty
								{
									Name = "EXAMPLE-name-Value",
									Value = "EXAMPLE-value-Value"
								}
							},
							IsDefault = true,
							Metadata = new Oci.DataintegrationService.Models.ObjectMetadata
							{
								CreatedBy = "EXAMPLE-createdBy-Value",
								CreatedByName = "EXAMPLE-createdByName-Value",
								UpdatedBy = "EXAMPLE-updatedBy-Value",
								UpdatedByName = "EXAMPLE-updatedByName-Value",
								TimeCreated = DateTime.Parse("04/14/2045 17:07:12"),
								TimeUpdated = DateTime.Parse("01/30/2016 08:05:36"),
								AggregatorKey = "EXAMPLE-aggregatorKey-Value",
								Aggregator = new Oci.DataintegrationService.Models.AggregatorSummary
								{
									Type = "EXAMPLE-type-Value",
									Key = "EXAMPLE-key-Value",
									Name = "EXAMPLE-name-Value",
									Identifier = "EXAMPLE-identifier-Value",
									Description = "EXAMPLE-description-Value"
								},
								IdentifierPath = "EXAMPLE-identifierPath-Value",
								InfoFields = new Dictionary<string, string>()
								{
									{
										"EXAMPLE_KEY_8p5NE", 
										"EXAMPLE_VALUE_p9XVwsp6W1fcf9wqzvCj"
									}
								},
								RegistryVersion = 273,
								Labels = new List<string>
								{
									"EXAMPLE--Value"
								},
								IsFavorite = false,
								CountStatistics = new Oci.DataintegrationService.Models.CountStatistic
								{
									ObjectTypeCountList = new List<Oci.DataintegrationService.Models.CountStatisticSummary>
									{
										new Oci.DataintegrationService.Models.CountStatisticSummary
										{
											ObjectType = Oci.DataintegrationService.Models.CountStatisticSummary.ObjectTypeEnum.Task,
											ObjectCount = 512
										}
									}
								}
							}
						},
						Key = "EXAMPLE-key-Value",
						ModelVersion = "EXAMPLE-modelVersion-Value",
						Name = "EXAMPLE-name-Value",
						Description = "EXAMPLE-description-Value",
						ObjectStatus = 539,
						Identifier = "EXAMPLE-identifier-Value",
						ExternalKey = "EXAMPLE-externalKey-Value",
						AssetProperties = new Dictionary<string, string>()
						{
							{
								"EXAMPLE_KEY_PvuvO", 
								"EXAMPLE_VALUE_4MF7zfwxMGopquyE2pCT"
							}
						},
						NativeTypeSystem = new Oci.DataintegrationService.Models.TypeSystem
						{
							Key = "EXAMPLE-key-Value",
							ModelType = "EXAMPLE-modelType-Value",
							ModelVersion = "EXAMPLE-modelVersion-Value",
							ParentRef = new Oci.DataintegrationService.Models.ParentReference
							{
								Parent = "EXAMPLE-parent-Value",
								RootDocId = "ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"
							},
							Name = "EXAMPLE-name-Value",
							Description = "EXAMPLE-description-Value",
							ObjectVersion = 191,
							TypeMappingTo = new Dictionary<string, string>()
							{
								{
									"EXAMPLE_KEY_ToxGM", 
									"EXAMPLE_VALUE_hPXWptO9VI8tcD71ryKo"
								}
							},
							TypeMappingFrom = new Dictionary<string, string>()
							{
								{
									"EXAMPLE_KEY_jZZTk", 
									"EXAMPLE_VALUE_BT5n1u8CvxvRJXeVH86r"
								}
							},
							ObjectStatus = 363,
							Identifier = "EXAMPLE-identifier-Value",
							Types = new List<Oci.DataintegrationService.Models.DataType>
							{
								new Oci.DataintegrationService.Models.DataType
								{
									DtType = Oci.DataintegrationService.Models.DataType.DtTypeEnum.Structured,
									TypeSystemName = "EXAMPLE-typeSystemName-Value",
									ConfigDefinition = new Oci.DataintegrationService.Models.ConfigDefinition
									{
										Key = "EXAMPLE-key-Value",
										ModelType = "EXAMPLE-modelType-Value",
										ModelVersion = "EXAMPLE-modelVersion-Value",
										ParentRef = new Oci.DataintegrationService.Models.ParentReference
										{
											Parent = "EXAMPLE-parent-Value",
											RootDocId = "ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"
										},
										Name = "EXAMPLE-name-Value",
										IsContained = false,
										ObjectStatus = 852,
										ConfigParameterDefinitions = new Dictionary<string, Oci.DataintegrationService.Models.ConfigParameterDefinition>()
										{
											{
												"EXAMPLE_KEY_Z3j82", 
												new Oci.DataintegrationService.Models.ConfigParameterDefinition
												{
													ParameterType = new Oci.DataintegrationService.Models.CompositeType
													{
														Elements = new List<Oci.DataintegrationService.Models.TypedObject>
														{
															new Oci.DataintegrationService.Models.DecisionOutputPort
															{
																PortType = Oci.DataintegrationService.Models.DecisionOutputPort.PortTypeEnum.Control,
																DecisionOutputPortType = Oci.DataintegrationService.Models.DecisionOutputPort.DecisionOutputPortTypeEnum.EvalError,
																Key = "EXAMPLE-key-Value",
																ModelVersion = "EXAMPLE-modelVersion-Value",
																ParentRef = new Oci.DataintegrationService.Models.ParentReference
																{
																	Parent = "EXAMPLE-parent-Value",
																	RootDocId = "ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"
																},
																ConfigValues = new Oci.DataintegrationService.Models.ConfigValues
																{
																	ConfigParamValues = new Dictionary<string, Oci.DataintegrationService.Models.ConfigParameterValue>()
																	{
																		{
																			"EXAMPLE_KEY_Invhv", 
																			new Oci.DataintegrationService.Models.ConfigParameterValue
																			{
																				StringValue = "EXAMPLE-stringValue-Value",
																				IntValue = 160,
																				ObjectValue = "EXAMPLE-objectValue-Value",
																				RefValue = "EXAMPLE-refValue-Value",
																				ParameterValue = "EXAMPLE-parameterValue-Value",
																				RootObjectValue = "EXAMPLE-rootObjectValue-Value"
																			}
																		}
																	},
																	ParentRef = new Oci.DataintegrationService.Models.ParentReference
																	{
																		Parent = "EXAMPLE-parent-Value",
																		RootDocId = "ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"
																	}
																},
																ObjectStatus = 693,
																Name = "EXAMPLE-name-Value",
																Description = "EXAMPLE-description-Value"
															}
														},
														Key = "EXAMPLE-key-Value",
														ModelVersion = "EXAMPLE-modelVersion-Value",
														ParentRef = new Oci.DataintegrationService.Models.ParentReference
														{
															Parent = "EXAMPLE-parent-Value",
															RootDocId = "ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"
														},
														Name = "EXAMPLE-name-Value",
														ObjectStatus = 915,
														Description = "EXAMPLE-description-Value"
													},
													ParameterName = "EXAMPLE-parameterName-Value",
													Description = "EXAMPLE-description-Value",
													DefaultValue = "EXAMPLE-defaultValue-Value",
													ClassFieldName = "EXAMPLE-classFieldName-Value",
													IsStatic = true,
													IsClassFieldValue = true
												}
											}
										}
									},
									Key = "EXAMPLE-key-Value",
									ModelVersion = "EXAMPLE-modelVersion-Value",
									ParentRef = new Oci.DataintegrationService.Models.ParentReference
									{
										Parent = "EXAMPLE-parent-Value",
										RootDocId = "ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"
									},
									Name = "EXAMPLE-name-Value",
									ObjectStatus = 329,
									Description = "EXAMPLE-description-Value"
								}
							}
						},
						ObjectVersion = 579,
						ParentRef = new Oci.DataintegrationService.Models.ParentReference
						{
							Parent = "EXAMPLE-parent-Value",
							RootDocId = "ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"
						},
						Metadata = new Oci.DataintegrationService.Models.ObjectMetadata
						{
							CreatedBy = "EXAMPLE-createdBy-Value",
							CreatedByName = "EXAMPLE-createdByName-Value",
							UpdatedBy = "EXAMPLE-updatedBy-Value",
							UpdatedByName = "EXAMPLE-updatedByName-Value",
							TimeCreated = DateTime.Parse("06/18/2007 12:05:13"),
							TimeUpdated = DateTime.Parse("06/01/2039 20:43:45"),
							AggregatorKey = "EXAMPLE-aggregatorKey-Value",
							Aggregator = new Oci.DataintegrationService.Models.AggregatorSummary
							{
								Type = "EXAMPLE-type-Value",
								Key = "EXAMPLE-key-Value",
								Name = "EXAMPLE-name-Value",
								Identifier = "EXAMPLE-identifier-Value",
								Description = "EXAMPLE-description-Value"
							},
							IdentifierPath = "EXAMPLE-identifierPath-Value",
							InfoFields = new Dictionary<string, string>()
							{
								{
									"EXAMPLE_KEY_ct6TI", 
									"EXAMPLE_VALUE_4DkT6BnYHCC1cH9rBaqE"
								}
							},
							RegistryVersion = 222,
							Labels = new List<string>
							{
								"EXAMPLE--Value"
							},
							IsFavorite = false,
							CountStatistics = new Oci.DataintegrationService.Models.CountStatistic
							{
								ObjectTypeCountList = new List<Oci.DataintegrationService.Models.CountStatisticSummary>
								{
									new Oci.DataintegrationService.Models.CountStatisticSummary
									{
										ObjectType = Oci.DataintegrationService.Models.CountStatisticSummary.ObjectTypeEnum.Application,
										ObjectCount = 876
									}
								}
							}
						},
						KeyMap = new Dictionary<string, string>()
						{
							{
								"EXAMPLE_KEY_Kl1Af", 
								"EXAMPLE_VALUE_qSsZrGNt7eyf0m4xb8CH"
							}
						}
					},
					Connection = new Oci.DataintegrationService.Models.ConnectionFromBICC
					{
						Username = "EXAMPLE-username-Value",
						PasswordSecret = new Oci.DataintegrationService.Models.SensitiveAttribute
						{
							SecretConfig = new Oci.DataintegrationService.Models.OciVaultSecretConfig
							{
								SecretId = "ocid1.test.oc1..<unique_ID>EXAMPLE-secretId-Value"
							},
							Value = "EXAMPLE-value-Value"
						},
						DefaultExternalStorage = new Oci.DataintegrationService.Models.ExternalStorage
						{
							StorageId = "ocid1.test.oc1..<unique_ID>EXAMPLE-storageId-Value",
							StorageName = "EXAMPLE-storageName-Value",
							Host = "EXAMPLE-host-Value",
							TenancyId = "ocid1.test.oc1..<unique_ID>EXAMPLE-tenancyId-Value",
							Namespace = "EXAMPLE-namespace-Value",
							Bucket = "EXAMPLE-bucket-Value"
						},
						Key = "EXAMPLE-key-Value",
						ModelVersion = "EXAMPLE-modelVersion-Value",
						ParentRef = new Oci.DataintegrationService.Models.ParentReference
						{
							Parent = "EXAMPLE-parent-Value",
							RootDocId = "ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"
						},
						Name = "EXAMPLE-name-Value",
						Description = "EXAMPLE-description-Value",
						ObjectVersion = 803,
						ObjectStatus = 438,
						Identifier = "EXAMPLE-identifier-Value",
						PrimarySchema = new Oci.DataintegrationService.Models.Schema
						{
							Key = "EXAMPLE-key-Value",
							ModelType = "EXAMPLE-modelType-Value",
							ModelVersion = "EXAMPLE-modelVersion-Value",
							ParentRef = new Oci.DataintegrationService.Models.ParentReference
							{
								Parent = "EXAMPLE-parent-Value",
								RootDocId = "ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"
							},
							Name = "EXAMPLE-name-Value",
							ResourceName = "EXAMPLE-resourceName-Value",
							Description = "EXAMPLE-description-Value",
							ObjectVersion = 187,
							ExternalKey = "EXAMPLE-externalKey-Value",
							IsHasContainers = true,
							DefaultConnection = "EXAMPLE-defaultConnection-Value",
							ObjectStatus = 708,
							Identifier = "EXAMPLE-identifier-Value",
							Metadata = new Oci.DataintegrationService.Models.ObjectMetadata
							{
								CreatedBy = "EXAMPLE-createdBy-Value",
								CreatedByName = "EXAMPLE-createdByName-Value",
								UpdatedBy = "EXAMPLE-updatedBy-Value",
								UpdatedByName = "EXAMPLE-updatedByName-Value",
								TimeCreated = DateTime.Parse("09/06/2028 05:00:59"),
								TimeUpdated = DateTime.Parse("12/26/2048 13:15:10"),
								AggregatorKey = "EXAMPLE-aggregatorKey-Value",
								Aggregator = new Oci.DataintegrationService.Models.AggregatorSummary
								{
									Type = "EXAMPLE-type-Value",
									Key = "EXAMPLE-key-Value",
									Name = "EXAMPLE-name-Value",
									Identifier = "EXAMPLE-identifier-Value",
									Description = "EXAMPLE-description-Value"
								},
								IdentifierPath = "EXAMPLE-identifierPath-Value",
								InfoFields = new Dictionary<string, string>()
								{
									{
										"EXAMPLE_KEY_y3dUy", 
										"EXAMPLE_VALUE_7HPaskNvxMVNHkGggEBN"
									}
								},
								RegistryVersion = 973,
								Labels = new List<string>
								{
									"EXAMPLE--Value"
								},
								IsFavorite = true,
								CountStatistics = new Oci.DataintegrationService.Models.CountStatistic
								{
									ObjectTypeCountList = new List<Oci.DataintegrationService.Models.CountStatisticSummary>
									{
										new Oci.DataintegrationService.Models.CountStatisticSummary
										{
											ObjectType = Oci.DataintegrationService.Models.CountStatisticSummary.ObjectTypeEnum.FunctionLibrary,
											ObjectCount = 469
										}
									}
								}
							}
						},
						ConnectionProperties = new List<Oci.DataintegrationService.Models.ConnectionProperty>
						{
							new Oci.DataintegrationService.Models.ConnectionProperty
							{
								Name = "EXAMPLE-name-Value",
								Value = "EXAMPLE-value-Value"
							}
						},
						IsDefault = false,
						Metadata = new Oci.DataintegrationService.Models.ObjectMetadata
						{
							CreatedBy = "EXAMPLE-createdBy-Value",
							CreatedByName = "EXAMPLE-createdByName-Value",
							UpdatedBy = "EXAMPLE-updatedBy-Value",
							UpdatedByName = "EXAMPLE-updatedByName-Value",
							TimeCreated = DateTime.Parse("10/01/2008 15:01:55"),
							TimeUpdated = DateTime.Parse("07/11/2049 02:51:06"),
							AggregatorKey = "EXAMPLE-aggregatorKey-Value",
							Aggregator = new Oci.DataintegrationService.Models.AggregatorSummary
							{
								Type = "EXAMPLE-type-Value",
								Key = "EXAMPLE-key-Value",
								Name = "EXAMPLE-name-Value",
								Identifier = "EXAMPLE-identifier-Value",
								Description = "EXAMPLE-description-Value"
							},
							IdentifierPath = "EXAMPLE-identifierPath-Value",
							InfoFields = new Dictionary<string, string>()
							{
								{
									"EXAMPLE_KEY_xMsKv", 
									"EXAMPLE_VALUE_V4jULHJ5uRvqK3bvdSnr"
								}
							},
							RegistryVersion = 224,
							Labels = new List<string>
							{
								"EXAMPLE--Value"
							},
							IsFavorite = true,
							CountStatistics = new Oci.DataintegrationService.Models.CountStatistic
							{
								ObjectTypeCountList = new List<Oci.DataintegrationService.Models.CountStatisticSummary>
								{
									new Oci.DataintegrationService.Models.CountStatisticSummary
									{
										ObjectType = Oci.DataintegrationService.Models.CountStatisticSummary.ObjectTypeEnum.UserDefinedFunction,
										ObjectCount = 899
									}
								}
							}
						},
						KeyMap = new Dictionary<string, string>()
						{
							{
								"EXAMPLE_KEY_gvy4O", 
								"EXAMPLE_VALUE_OjIEjPeguyGNOvbu1g2W"
							}
						}
					},
					CompartmentId = "ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
					Schema = new Oci.DataintegrationService.Models.Schema
					{
						Key = "EXAMPLE-key-Value",
						ModelType = "EXAMPLE-modelType-Value",
						ModelVersion = "EXAMPLE-modelVersion-Value",
						ParentRef = new Oci.DataintegrationService.Models.ParentReference
						{
							Parent = "EXAMPLE-parent-Value",
							RootDocId = "ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"
						},
						Name = "EXAMPLE-name-Value",
						ResourceName = "EXAMPLE-resourceName-Value",
						Description = "EXAMPLE-description-Value",
						ObjectVersion = 326,
						ExternalKey = "EXAMPLE-externalKey-Value",
						IsHasContainers = false,
						DefaultConnection = "EXAMPLE-defaultConnection-Value",
						ObjectStatus = 539,
						Identifier = "EXAMPLE-identifier-Value",
						Metadata = new Oci.DataintegrationService.Models.ObjectMetadata
						{
							CreatedBy = "EXAMPLE-createdBy-Value",
							CreatedByName = "EXAMPLE-createdByName-Value",
							UpdatedBy = "EXAMPLE-updatedBy-Value",
							UpdatedByName = "EXAMPLE-updatedByName-Value",
							TimeCreated = DateTime.Parse("02/22/2017 03:00:30"),
							TimeUpdated = DateTime.Parse("04/20/2024 18:02:05"),
							AggregatorKey = "EXAMPLE-aggregatorKey-Value",
							Aggregator = new Oci.DataintegrationService.Models.AggregatorSummary
							{
								Type = "EXAMPLE-type-Value",
								Key = "EXAMPLE-key-Value",
								Name = "EXAMPLE-name-Value",
								Identifier = "EXAMPLE-identifier-Value",
								Description = "EXAMPLE-description-Value"
							},
							IdentifierPath = "EXAMPLE-identifierPath-Value",
							InfoFields = new Dictionary<string, string>()
							{
								{
									"EXAMPLE_KEY_Mtlru", 
									"EXAMPLE_VALUE_ZfHPxkevYGLmKbzb1MEA"
								}
							},
							RegistryVersion = 888,
							Labels = new List<string>
							{
								"EXAMPLE--Value"
							},
							IsFavorite = true,
							CountStatistics = new Oci.DataintegrationService.Models.CountStatistic
							{
								ObjectTypeCountList = new List<Oci.DataintegrationService.Models.CountStatisticSummary>
								{
									new Oci.DataintegrationService.Models.CountStatisticSummary
									{
										ObjectType = Oci.DataintegrationService.Models.CountStatisticSummary.ObjectTypeEnum.Application,
										ObjectCount = 883
									}
								}
							}
						}
					}
				}
			};
			var createExternalPublicationRequest = new Oci.DataintegrationService.Requests.CreateExternalPublicationRequest
			{
				WorkspaceId = "ocid1.test.oc1..<unique_ID>EXAMPLE-workspaceId-Value",
				TaskKey = "EXAMPLE-taskKey-Value",
				CreateExternalPublicationDetails = createExternalPublicationDetails,
				OpcRequestId = "87QO1HLPRYUA4LS1CDQD<unique_ID>",
				OpcRetryToken = "EXAMPLE-opcRetryToken-Value"
			};

            // 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. 
            var provider = new ConfigFileAuthenticationDetailsProvider("DEFAULT");
            try
            {
                // Create a service client and send the request.
				using (var client = new DataIntegrationClient(provider, new ClientConfiguration()))
				{
					var response = await client.CreateExternalPublication(createExternalPublicationRequest);
					// Retrieve value from the response.
					var applicationIdValue = response.ExternalPublication.ApplicationId;
				}
            }
            catch (Exception e)
            {
                Console.WriteLine($"CreateExternalPublication Failed with {e.Message}");
                throw e;
            }
        }

    }
}