All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.azure.resourcemanager.datafactory.models.LinkedService Maven / Gradle / Ivy

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.resourcemanager.datafactory.models;

import com.azure.core.annotation.Fluent;
import com.azure.json.JsonReader;
import com.azure.json.JsonSerializable;
import com.azure.json.JsonToken;
import com.azure.json.JsonWriter;
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

/**
 * The nested object which contains the information and credential which can be used to connect with related store or
 * compute resource.
 */
@Fluent
public class LinkedService implements JsonSerializable {
    /*
     * Type of linked service.
     */
    private String type = "LinkedService";

    /*
     * Version of the linked service.
     */
    private String version;

    /*
     * The integration runtime reference.
     */
    private IntegrationRuntimeReference connectVia;

    /*
     * Linked service description.
     */
    private String description;

    /*
     * Parameters for linked service.
     */
    private Map parameters;

    /*
     * List of tags that can be used for describing the linked service.
     */
    private List annotations;

    /*
     * The nested object which contains the information and credential which can be used to connect with related store
     * or compute resource.
     */
    private Map additionalProperties;

    /**
     * Creates an instance of LinkedService class.
     */
    public LinkedService() {
    }

    /**
     * Get the type property: Type of linked service.
     * 
     * @return the type value.
     */
    public String type() {
        return this.type;
    }

    /**
     * Get the version property: Version of the linked service.
     * 
     * @return the version value.
     */
    public String version() {
        return this.version;
    }

    /**
     * Set the version property: Version of the linked service.
     * 
     * @param version the version value to set.
     * @return the LinkedService object itself.
     */
    public LinkedService withVersion(String version) {
        this.version = version;
        return this;
    }

    /**
     * Get the connectVia property: The integration runtime reference.
     * 
     * @return the connectVia value.
     */
    public IntegrationRuntimeReference connectVia() {
        return this.connectVia;
    }

    /**
     * Set the connectVia property: The integration runtime reference.
     * 
     * @param connectVia the connectVia value to set.
     * @return the LinkedService object itself.
     */
    public LinkedService withConnectVia(IntegrationRuntimeReference connectVia) {
        this.connectVia = connectVia;
        return this;
    }

    /**
     * Get the description property: Linked service description.
     * 
     * @return the description value.
     */
    public String description() {
        return this.description;
    }

    /**
     * Set the description property: Linked service description.
     * 
     * @param description the description value to set.
     * @return the LinkedService object itself.
     */
    public LinkedService withDescription(String description) {
        this.description = description;
        return this;
    }

    /**
     * Get the parameters property: Parameters for linked service.
     * 
     * @return the parameters value.
     */
    public Map parameters() {
        return this.parameters;
    }

    /**
     * Set the parameters property: Parameters for linked service.
     * 
     * @param parameters the parameters value to set.
     * @return the LinkedService object itself.
     */
    public LinkedService withParameters(Map parameters) {
        this.parameters = parameters;
        return this;
    }

    /**
     * Get the annotations property: List of tags that can be used for describing the linked service.
     * 
     * @return the annotations value.
     */
    public List annotations() {
        return this.annotations;
    }

    /**
     * Set the annotations property: List of tags that can be used for describing the linked service.
     * 
     * @param annotations the annotations value to set.
     * @return the LinkedService object itself.
     */
    public LinkedService withAnnotations(List annotations) {
        this.annotations = annotations;
        return this;
    }

    /**
     * Get the additionalProperties property: The nested object which contains the information and credential which can
     * be used to connect with related store or compute resource.
     * 
     * @return the additionalProperties value.
     */
    public Map additionalProperties() {
        return this.additionalProperties;
    }

    /**
     * Set the additionalProperties property: The nested object which contains the information and credential which can
     * be used to connect with related store or compute resource.
     * 
     * @param additionalProperties the additionalProperties value to set.
     * @return the LinkedService object itself.
     */
    public LinkedService withAdditionalProperties(Map additionalProperties) {
        this.additionalProperties = additionalProperties;
        return this;
    }

    /**
     * Validates the instance.
     * 
     * @throws IllegalArgumentException thrown if the instance is not valid.
     */
    public void validate() {
        if (connectVia() != null) {
            connectVia().validate();
        }
        if (parameters() != null) {
            parameters().values().forEach(e -> {
                if (e != null) {
                    e.validate();
                }
            });
        }
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
        jsonWriter.writeStartObject();
        jsonWriter.writeStringField("type", this.type);
        jsonWriter.writeStringField("version", this.version);
        jsonWriter.writeJsonField("connectVia", this.connectVia);
        jsonWriter.writeStringField("description", this.description);
        jsonWriter.writeMapField("parameters", this.parameters, (writer, element) -> writer.writeJson(element));
        jsonWriter.writeArrayField("annotations", this.annotations, (writer, element) -> writer.writeUntyped(element));
        if (additionalProperties != null) {
            for (Map.Entry additionalProperty : additionalProperties.entrySet()) {
                jsonWriter.writeUntypedField(additionalProperty.getKey(), additionalProperty.getValue());
            }
        }
        return jsonWriter.writeEndObject();
    }

    /**
     * Reads an instance of LinkedService from the JsonReader.
     * 
     * @param jsonReader The JsonReader being read.
     * @return An instance of LinkedService if the JsonReader was pointing to an instance of it, or null if it was
     * pointing to JSON null.
     * @throws IOException If an error occurs while reading the LinkedService.
     */
    public static LinkedService fromJson(JsonReader jsonReader) throws IOException {
        return jsonReader.readObject(reader -> {
            String discriminatorValue = null;
            try (JsonReader readerToUse = reader.bufferObject()) {
                readerToUse.nextToken(); // Prepare for reading
                while (readerToUse.nextToken() != JsonToken.END_OBJECT) {
                    String fieldName = readerToUse.getFieldName();
                    readerToUse.nextToken();
                    if ("type".equals(fieldName)) {
                        discriminatorValue = readerToUse.getString();
                        break;
                    } else {
                        readerToUse.skipChildren();
                    }
                }
                // Use the discriminator value to determine which subtype should be deserialized.
                if ("AzureStorage".equals(discriminatorValue)) {
                    return AzureStorageLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureBlobStorage".equals(discriminatorValue)) {
                    return AzureBlobStorageLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureTableStorage".equals(discriminatorValue)) {
                    return AzureTableStorageLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureSqlDW".equals(discriminatorValue)) {
                    return AzureSqlDWLinkedService.fromJson(readerToUse.reset());
                } else if ("SqlServer".equals(discriminatorValue)) {
                    return SqlServerLinkedService.fromJson(readerToUse.reset());
                } else if ("AmazonRdsForSqlServer".equals(discriminatorValue)) {
                    return AmazonRdsForSqlServerLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureSqlDatabase".equals(discriminatorValue)) {
                    return AzureSqlDatabaseLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureSqlMI".equals(discriminatorValue)) {
                    return AzureSqlMILinkedService.fromJson(readerToUse.reset());
                } else if ("AzureBatch".equals(discriminatorValue)) {
                    return AzureBatchLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureKeyVault".equals(discriminatorValue)) {
                    return AzureKeyVaultLinkedService.fromJson(readerToUse.reset());
                } else if ("CosmosDb".equals(discriminatorValue)) {
                    return CosmosDbLinkedService.fromJson(readerToUse.reset());
                } else if ("Dynamics".equals(discriminatorValue)) {
                    return DynamicsLinkedService.fromJson(readerToUse.reset());
                } else if ("DynamicsCrm".equals(discriminatorValue)) {
                    return DynamicsCrmLinkedService.fromJson(readerToUse.reset());
                } else if ("CommonDataServiceForApps".equals(discriminatorValue)) {
                    return CommonDataServiceForAppsLinkedService.fromJson(readerToUse.reset());
                } else if ("HDInsight".equals(discriminatorValue)) {
                    return HDInsightLinkedService.fromJson(readerToUse.reset());
                } else if ("FileServer".equals(discriminatorValue)) {
                    return FileServerLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureFileStorage".equals(discriminatorValue)) {
                    return AzureFileStorageLinkedService.fromJson(readerToUse.reset());
                } else if ("AmazonS3Compatible".equals(discriminatorValue)) {
                    return AmazonS3CompatibleLinkedService.fromJson(readerToUse.reset());
                } else if ("OracleCloudStorage".equals(discriminatorValue)) {
                    return OracleCloudStorageLinkedService.fromJson(readerToUse.reset());
                } else if ("GoogleCloudStorage".equals(discriminatorValue)) {
                    return GoogleCloudStorageLinkedService.fromJson(readerToUse.reset());
                } else if ("Oracle".equals(discriminatorValue)) {
                    return OracleLinkedService.fromJson(readerToUse.reset());
                } else if ("AmazonRdsForOracle".equals(discriminatorValue)) {
                    return AmazonRdsForOracleLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureMySql".equals(discriminatorValue)) {
                    return AzureMySqlLinkedService.fromJson(readerToUse.reset());
                } else if ("MySql".equals(discriminatorValue)) {
                    return MySqlLinkedService.fromJson(readerToUse.reset());
                } else if ("PostgreSql".equals(discriminatorValue)) {
                    return PostgreSqlLinkedService.fromJson(readerToUse.reset());
                } else if ("PostgreSqlV2".equals(discriminatorValue)) {
                    return PostgreSqlV2LinkedService.fromJson(readerToUse.reset());
                } else if ("Sybase".equals(discriminatorValue)) {
                    return SybaseLinkedService.fromJson(readerToUse.reset());
                } else if ("Db2".equals(discriminatorValue)) {
                    return Db2LinkedService.fromJson(readerToUse.reset());
                } else if ("Teradata".equals(discriminatorValue)) {
                    return TeradataLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureML".equals(discriminatorValue)) {
                    return AzureMLLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureMLService".equals(discriminatorValue)) {
                    return AzureMLServiceLinkedService.fromJson(readerToUse.reset());
                } else if ("Odbc".equals(discriminatorValue)) {
                    return OdbcLinkedService.fromJson(readerToUse.reset());
                } else if ("Informix".equals(discriminatorValue)) {
                    return InformixLinkedService.fromJson(readerToUse.reset());
                } else if ("MicrosoftAccess".equals(discriminatorValue)) {
                    return MicrosoftAccessLinkedService.fromJson(readerToUse.reset());
                } else if ("Hdfs".equals(discriminatorValue)) {
                    return HdfsLinkedService.fromJson(readerToUse.reset());
                } else if ("OData".equals(discriminatorValue)) {
                    return ODataLinkedService.fromJson(readerToUse.reset());
                } else if ("Web".equals(discriminatorValue)) {
                    return WebLinkedService.fromJson(readerToUse.reset());
                } else if ("Cassandra".equals(discriminatorValue)) {
                    return CassandraLinkedService.fromJson(readerToUse.reset());
                } else if ("MongoDb".equals(discriminatorValue)) {
                    return MongoDbLinkedService.fromJson(readerToUse.reset());
                } else if ("MongoDbAtlas".equals(discriminatorValue)) {
                    return MongoDbAtlasLinkedService.fromJson(readerToUse.reset());
                } else if ("MongoDbV2".equals(discriminatorValue)) {
                    return MongoDbV2LinkedService.fromJson(readerToUse.reset());
                } else if ("CosmosDbMongoDbApi".equals(discriminatorValue)) {
                    return CosmosDbMongoDbApiLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureDataLakeStore".equals(discriminatorValue)) {
                    return AzureDataLakeStoreLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureBlobFS".equals(discriminatorValue)) {
                    return AzureBlobFSLinkedService.fromJson(readerToUse.reset());
                } else if ("Office365".equals(discriminatorValue)) {
                    return Office365LinkedService.fromJson(readerToUse.reset());
                } else if ("Salesforce".equals(discriminatorValue)) {
                    return SalesforceLinkedService.fromJson(readerToUse.reset());
                } else if ("SalesforceServiceCloud".equals(discriminatorValue)) {
                    return SalesforceServiceCloudLinkedService.fromJson(readerToUse.reset());
                } else if ("SapCloudForCustomer".equals(discriminatorValue)) {
                    return SapCloudForCustomerLinkedService.fromJson(readerToUse.reset());
                } else if ("SapEcc".equals(discriminatorValue)) {
                    return SapEccLinkedService.fromJson(readerToUse.reset());
                } else if ("SapOpenHub".equals(discriminatorValue)) {
                    return SapOpenHubLinkedService.fromJson(readerToUse.reset());
                } else if ("SapOdp".equals(discriminatorValue)) {
                    return SapOdpLinkedService.fromJson(readerToUse.reset());
                } else if ("RestService".equals(discriminatorValue)) {
                    return RestServiceLinkedService.fromJson(readerToUse.reset());
                } else if ("TeamDesk".equals(discriminatorValue)) {
                    return TeamDeskLinkedService.fromJson(readerToUse.reset());
                } else if ("Quickbase".equals(discriminatorValue)) {
                    return QuickbaseLinkedService.fromJson(readerToUse.reset());
                } else if ("Smartsheet".equals(discriminatorValue)) {
                    return SmartsheetLinkedService.fromJson(readerToUse.reset());
                } else if ("Zendesk".equals(discriminatorValue)) {
                    return ZendeskLinkedService.fromJson(readerToUse.reset());
                } else if ("Dataworld".equals(discriminatorValue)) {
                    return DataworldLinkedService.fromJson(readerToUse.reset());
                } else if ("AppFigures".equals(discriminatorValue)) {
                    return AppFiguresLinkedService.fromJson(readerToUse.reset());
                } else if ("Asana".equals(discriminatorValue)) {
                    return AsanaLinkedService.fromJson(readerToUse.reset());
                } else if ("Twilio".equals(discriminatorValue)) {
                    return TwilioLinkedService.fromJson(readerToUse.reset());
                } else if ("GoogleSheets".equals(discriminatorValue)) {
                    return GoogleSheetsLinkedService.fromJson(readerToUse.reset());
                } else if ("AmazonS3".equals(discriminatorValue)) {
                    return AmazonS3LinkedService.fromJson(readerToUse.reset());
                } else if ("AmazonRedshift".equals(discriminatorValue)) {
                    return AmazonRedshiftLinkedService.fromJson(readerToUse.reset());
                } else if ("CustomDataSource".equals(discriminatorValue)) {
                    return CustomDataSourceLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureSearch".equals(discriminatorValue)) {
                    return AzureSearchLinkedService.fromJson(readerToUse.reset());
                } else if ("HttpServer".equals(discriminatorValue)) {
                    return HttpLinkedService.fromJson(readerToUse.reset());
                } else if ("FtpServer".equals(discriminatorValue)) {
                    return FtpServerLinkedService.fromJson(readerToUse.reset());
                } else if ("Sftp".equals(discriminatorValue)) {
                    return SftpServerLinkedService.fromJson(readerToUse.reset());
                } else if ("SapBW".equals(discriminatorValue)) {
                    return SapBWLinkedService.fromJson(readerToUse.reset());
                } else if ("SapHana".equals(discriminatorValue)) {
                    return SapHanaLinkedService.fromJson(readerToUse.reset());
                } else if ("AmazonMWS".equals(discriminatorValue)) {
                    return AmazonMwsLinkedService.fromJson(readerToUse.reset());
                } else if ("AzurePostgreSql".equals(discriminatorValue)) {
                    return AzurePostgreSqlLinkedService.fromJson(readerToUse.reset());
                } else if ("Concur".equals(discriminatorValue)) {
                    return ConcurLinkedService.fromJson(readerToUse.reset());
                } else if ("Couchbase".equals(discriminatorValue)) {
                    return CouchbaseLinkedService.fromJson(readerToUse.reset());
                } else if ("Drill".equals(discriminatorValue)) {
                    return DrillLinkedService.fromJson(readerToUse.reset());
                } else if ("Eloqua".equals(discriminatorValue)) {
                    return EloquaLinkedService.fromJson(readerToUse.reset());
                } else if ("GoogleBigQuery".equals(discriminatorValue)) {
                    return GoogleBigQueryLinkedService.fromJson(readerToUse.reset());
                } else if ("GoogleBigQueryV2".equals(discriminatorValue)) {
                    return GoogleBigQueryV2LinkedService.fromJson(readerToUse.reset());
                } else if ("Greenplum".equals(discriminatorValue)) {
                    return GreenplumLinkedService.fromJson(readerToUse.reset());
                } else if ("HBase".equals(discriminatorValue)) {
                    return HBaseLinkedService.fromJson(readerToUse.reset());
                } else if ("Hive".equals(discriminatorValue)) {
                    return HiveLinkedService.fromJson(readerToUse.reset());
                } else if ("Hubspot".equals(discriminatorValue)) {
                    return HubspotLinkedService.fromJson(readerToUse.reset());
                } else if ("Impala".equals(discriminatorValue)) {
                    return ImpalaLinkedService.fromJson(readerToUse.reset());
                } else if ("Jira".equals(discriminatorValue)) {
                    return JiraLinkedService.fromJson(readerToUse.reset());
                } else if ("Magento".equals(discriminatorValue)) {
                    return MagentoLinkedService.fromJson(readerToUse.reset());
                } else if ("MariaDB".equals(discriminatorValue)) {
                    return MariaDBLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureMariaDB".equals(discriminatorValue)) {
                    return AzureMariaDBLinkedService.fromJson(readerToUse.reset());
                } else if ("Marketo".equals(discriminatorValue)) {
                    return MarketoLinkedService.fromJson(readerToUse.reset());
                } else if ("Paypal".equals(discriminatorValue)) {
                    return PaypalLinkedService.fromJson(readerToUse.reset());
                } else if ("Phoenix".equals(discriminatorValue)) {
                    return PhoenixLinkedService.fromJson(readerToUse.reset());
                } else if ("Presto".equals(discriminatorValue)) {
                    return PrestoLinkedService.fromJson(readerToUse.reset());
                } else if ("QuickBooks".equals(discriminatorValue)) {
                    return QuickBooksLinkedService.fromJson(readerToUse.reset());
                } else if ("ServiceNow".equals(discriminatorValue)) {
                    return ServiceNowLinkedService.fromJson(readerToUse.reset());
                } else if ("Shopify".equals(discriminatorValue)) {
                    return ShopifyLinkedService.fromJson(readerToUse.reset());
                } else if ("Spark".equals(discriminatorValue)) {
                    return SparkLinkedService.fromJson(readerToUse.reset());
                } else if ("Square".equals(discriminatorValue)) {
                    return SquareLinkedService.fromJson(readerToUse.reset());
                } else if ("Xero".equals(discriminatorValue)) {
                    return XeroLinkedService.fromJson(readerToUse.reset());
                } else if ("Zoho".equals(discriminatorValue)) {
                    return ZohoLinkedService.fromJson(readerToUse.reset());
                } else if ("Vertica".equals(discriminatorValue)) {
                    return VerticaLinkedService.fromJson(readerToUse.reset());
                } else if ("Netezza".equals(discriminatorValue)) {
                    return NetezzaLinkedService.fromJson(readerToUse.reset());
                } else if ("SalesforceMarketingCloud".equals(discriminatorValue)) {
                    return SalesforceMarketingCloudLinkedService.fromJson(readerToUse.reset());
                } else if ("HDInsightOnDemand".equals(discriminatorValue)) {
                    return HDInsightOnDemandLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureDataLakeAnalytics".equals(discriminatorValue)) {
                    return AzureDataLakeAnalyticsLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureDatabricks".equals(discriminatorValue)) {
                    return AzureDatabricksLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureDatabricksDeltaLake".equals(discriminatorValue)) {
                    return AzureDatabricksDeltaLakeLinkedService.fromJson(readerToUse.reset());
                } else if ("Responsys".equals(discriminatorValue)) {
                    return ResponsysLinkedService.fromJson(readerToUse.reset());
                } else if ("DynamicsAX".equals(discriminatorValue)) {
                    return DynamicsAXLinkedService.fromJson(readerToUse.reset());
                } else if ("OracleServiceCloud".equals(discriminatorValue)) {
                    return OracleServiceCloudLinkedService.fromJson(readerToUse.reset());
                } else if ("GoogleAdWords".equals(discriminatorValue)) {
                    return GoogleAdWordsLinkedService.fromJson(readerToUse.reset());
                } else if ("SapTable".equals(discriminatorValue)) {
                    return SapTableLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureDataExplorer".equals(discriminatorValue)) {
                    return AzureDataExplorerLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureFunction".equals(discriminatorValue)) {
                    return AzureFunctionLinkedService.fromJson(readerToUse.reset());
                } else if ("Snowflake".equals(discriminatorValue)) {
                    return SnowflakeLinkedService.fromJson(readerToUse.reset());
                } else if ("SnowflakeV2".equals(discriminatorValue)) {
                    return SnowflakeV2LinkedService.fromJson(readerToUse.reset());
                } else if ("SharePointOnlineList".equals(discriminatorValue)) {
                    return SharePointOnlineListLinkedService.fromJson(readerToUse.reset());
                } else if ("AzureSynapseArtifacts".equals(discriminatorValue)) {
                    return AzureSynapseArtifactsLinkedService.fromJson(readerToUse.reset());
                } else if ("LakeHouse".equals(discriminatorValue)) {
                    return LakeHouseLinkedService.fromJson(readerToUse.reset());
                } else if ("SalesforceV2".equals(discriminatorValue)) {
                    return SalesforceV2LinkedService.fromJson(readerToUse.reset());
                } else if ("SalesforceServiceCloudV2".equals(discriminatorValue)) {
                    return SalesforceServiceCloudV2LinkedService.fromJson(readerToUse.reset());
                } else if ("Warehouse".equals(discriminatorValue)) {
                    return WarehouseLinkedService.fromJson(readerToUse.reset());
                } else if ("ServiceNowV2".equals(discriminatorValue)) {
                    return ServiceNowV2LinkedService.fromJson(readerToUse.reset());
                } else {
                    return fromJsonKnownDiscriminator(readerToUse.reset());
                }
            }
        });
    }

    static LinkedService fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException {
        return jsonReader.readObject(reader -> {
            LinkedService deserializedLinkedService = new LinkedService();
            Map additionalProperties = null;
            while (reader.nextToken() != JsonToken.END_OBJECT) {
                String fieldName = reader.getFieldName();
                reader.nextToken();

                if ("type".equals(fieldName)) {
                    deserializedLinkedService.type = reader.getString();
                } else if ("version".equals(fieldName)) {
                    deserializedLinkedService.version = reader.getString();
                } else if ("connectVia".equals(fieldName)) {
                    deserializedLinkedService.connectVia = IntegrationRuntimeReference.fromJson(reader);
                } else if ("description".equals(fieldName)) {
                    deserializedLinkedService.description = reader.getString();
                } else if ("parameters".equals(fieldName)) {
                    Map parameters
                        = reader.readMap(reader1 -> ParameterSpecification.fromJson(reader1));
                    deserializedLinkedService.parameters = parameters;
                } else if ("annotations".equals(fieldName)) {
                    List annotations = reader.readArray(reader1 -> reader1.readUntyped());
                    deserializedLinkedService.annotations = annotations;
                } else {
                    if (additionalProperties == null) {
                        additionalProperties = new LinkedHashMap<>();
                    }

                    additionalProperties.put(fieldName, reader.readUntyped());
                }
            }
            deserializedLinkedService.additionalProperties = additionalProperties;

            return deserializedLinkedService;
        });
    }
}