// 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 = 944
				},
				ConfigurationDetails = new Oci.DataintegrationService.Models.ConfigurationDetails
				{
					DataAsset = new Oci.DataintegrationService.Models.DataAssetFromOraclePeopleSoftDetails
					{
						Host = "EXAMPLE-host-Value",
						Port = "EXAMPLE-port-Value",
						ServiceName = "EXAMPLE-serviceName-Value",
						DriverClass = "EXAMPLE-driverClass-Value",
						Sid = "EXAMPLE-sid-Value",
						WalletSecret = new Oci.DataintegrationService.Models.SensitiveAttribute
						{
							SecretConfig = new Oci.DataintegrationService.Models.OciVaultSecretConfig
							{
								SecretId = "ocid1.test.oc1..<unique_ID>EXAMPLE-secretId-Value"
							},
							Value = "EXAMPLE-value-Value"
						},
						WalletPasswordSecret = new Oci.DataintegrationService.Models.SensitiveAttribute
						{
							SecretConfig = new Oci.DataintegrationService.Models.OciVaultSecretConfig
							{
								SecretId = "ocid1.test.oc1..<unique_ID>EXAMPLE-secretId-Value"
							},
							Value = "EXAMPLE-value-Value"
						},
						DefaultConnection = new Oci.DataintegrationService.Models.ConnectionFromOraclePeopleSoftDetails
						{
							Username = "EXAMPLE-username-Value",
							Password = "EXAMPLE-password-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"
							},
							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 = 778,
							ObjectStatus = 302,
							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 = 839,
								ExternalKey = "EXAMPLE-externalKey-Value",
								IsHasContainers = false,
								DefaultConnection = "EXAMPLE-defaultConnection-Value",
								ObjectStatus = 940,
								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("11/02/2037 22:09:27"),
									TimeUpdated = DateTime.Parse("09/07/2033 16:05:31"),
									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_QmDnt", 
											"EXAMPLE_VALUE_am9pIGf0v5SCFFMR4TSV"
										}
									},
									RegistryVersion = 152,
									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.Connection,
												ObjectCount = 780
											}
										}
									}
								}
							},
							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("11/01/2005 04:07:02"),
								TimeUpdated = DateTime.Parse("06/03/2004 08:31:58"),
								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_MeEiB", 
										"EXAMPLE_VALUE_1CZHCYzxHrm2MnXyBYhT"
									}
								},
								RegistryVersion = 572,
								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.DataAsset,
											ObjectCount = 892
										}
									}
								}
							}
						},
						Key = "EXAMPLE-key-Value",
						ModelVersion = "EXAMPLE-modelVersion-Value",
						Name = "EXAMPLE-name-Value",
						Description = "EXAMPLE-description-Value",
						ObjectStatus = 166,
						Identifier = "EXAMPLE-identifier-Value",
						ExternalKey = "EXAMPLE-externalKey-Value",
						AssetProperties = new Dictionary<string, string>()
						{
							{
								"EXAMPLE_KEY_eJtpm", 
								"EXAMPLE_VALUE_AM0hmVnBcbQHBto6XvFw"
							}
						},
						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 = 340,
							TypeMappingTo = new Dictionary<string, string>()
							{
								{
									"EXAMPLE_KEY_NAc6S", 
									"EXAMPLE_VALUE_9vbx7JB9AI6boP1sCCRL"
								}
							},
							TypeMappingFrom = new Dictionary<string, string>()
							{
								{
									"EXAMPLE_KEY_XRwR2", 
									"EXAMPLE_VALUE_LWeQae8FiZ5tjUnk7TJv"
								}
							},
							ObjectStatus = 304,
							Identifier = "EXAMPLE-identifier-Value",
							Types = new List<Oci.DataintegrationService.Models.DataType>
							{
								new Oci.DataintegrationService.Models.DataType
								{
									DtType = Oci.DataintegrationService.Models.DataType.DtTypeEnum.Primitive,
									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 = true,
										ObjectStatus = 251,
										ConfigParameterDefinitions = new Dictionary<string, Oci.DataintegrationService.Models.ConfigParameterDefinition>()
										{
											{
												"EXAMPLE_KEY_SQUNC", 
												new Oci.DataintegrationService.Models.ConfigParameterDefinition
												{
													ParameterType = new Oci.DataintegrationService.Models.ConfiguredType
													{
														WrappedType = "EXAMPLE-wrappedType-Value",
														ConfigValues = new Oci.DataintegrationService.Models.ConfigValues
														{
															ConfigParamValues = new Dictionary<string, Oci.DataintegrationService.Models.ConfigParameterValue>()
															{
																{
																	"EXAMPLE_KEY_OrEuf", 
																	new Oci.DataintegrationService.Models.ConfigParameterValue
																	{
																		StringValue = "EXAMPLE-stringValue-Value",
																		IntValue = 74,
																		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"
															}
														},
														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 = 850,
														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 = 408,
									Description = "EXAMPLE-description-Value"
								}
							}
						},
						ObjectVersion = 278,
						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("10/10/2000 23:23:04"),
							TimeUpdated = DateTime.Parse("08/30/2006 20:43: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_6lA5S", 
									"EXAMPLE_VALUE_yCcxJKwQbW4eKKtEvIOd"
								}
							},
							RegistryVersion = 81,
							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 = 186
									}
								}
							}
						},
						KeyMap = new Dictionary<string, string>()
						{
							{
								"EXAMPLE_KEY_GoRnF", 
								"EXAMPLE_VALUE_vcCLbO8qYPzgrtOwGTBP"
							}
						}
					},
					Connection = new Oci.DataintegrationService.Models.ConnectionFromRestNoAuth
					{
						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 = 25,
						ObjectStatus = 904,
						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 = 275,
							ExternalKey = "EXAMPLE-externalKey-Value",
							IsHasContainers = false,
							DefaultConnection = "EXAMPLE-defaultConnection-Value",
							ObjectStatus = 310,
							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("10/21/2002 00:24:31"),
								TimeUpdated = DateTime.Parse("05/07/2018 20:00:22"),
								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_uPhjh", 
										"EXAMPLE_VALUE_o4hc708Xv3nxm7TmJOil"
									}
								},
								RegistryVersion = 801,
								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.UserDefinedFunction,
											ObjectCount = 384
										}
									}
								}
							}
						},
						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("10/18/2027 19:37:40"),
							TimeUpdated = DateTime.Parse("02/07/2046 06:11:00"),
							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_CqGQy", 
									"EXAMPLE_VALUE_usHt3tsVC38dKC04qJfg"
								}
							},
							RegistryVersion = 862,
							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.Folder,
										ObjectCount = 47
									}
								}
							}
						},
						KeyMap = new Dictionary<string, string>()
						{
							{
								"EXAMPLE_KEY_iKNOP", 
								"EXAMPLE_VALUE_Y63xVl8wdiIzHEE0m8Yr"
							}
						}
					},
					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 = 115,
						ExternalKey = "EXAMPLE-externalKey-Value",
						IsHasContainers = false,
						DefaultConnection = "EXAMPLE-defaultConnection-Value",
						ObjectStatus = 158,
						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("08/14/2047 19:45:46"),
							TimeUpdated = DateTime.Parse("06/24/2021 00:00:27"),
							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_yO05Q", 
									"EXAMPLE_VALUE_fU1rWBOOIpEUPkC0UFIe"
								}
							},
							RegistryVersion = 453,
							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 = 670
									}
								}
							}
						}
					}
				}
			};
			var createExternalPublicationRequest = new Oci.DataintegrationService.Requests.CreateExternalPublicationRequest
			{
				WorkspaceId = "ocid1.test.oc1..<unique_ID>EXAMPLE-workspaceId-Value",
				TaskKey = "EXAMPLE-taskKey-Value",
				CreateExternalPublicationDetails = createExternalPublicationDetails,
				OpcRequestId = "BKZWA4GR051QGX0KQQTX<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;
            }
        }

    }
}