internal TeamDeskLinkedService(string type, IntegrationRuntimeReference connectVia, string description, IDictionary <string, ParameterSpecification> parameters, IList <object> annotations, IDictionary <string, object> additionalProperties, TeamDeskAuthenticationType authenticationType, object url, object userName, SecretBase password, SecretBase apiToken, object encryptedCredential) : base(type, connectVia, description, parameters, annotations, additionalProperties) { AuthenticationType = authenticationType; Url = url; UserName = userName; Password = password; ApiToken = apiToken; EncryptedCredential = encryptedCredential; Type = type ?? "TeamDesk"; }
public TeamDeskLinkedService(TeamDeskAuthenticationType authenticationType, object url) { if (url == null) { throw new ArgumentNullException(nameof(url)); } AuthenticationType = authenticationType; Url = url; Type = "TeamDesk"; }
internal static TeamDeskLinkedService DeserializeTeamDeskLinkedService(JsonElement element) { string type = default; Optional <IntegrationRuntimeReference> connectVia = default; Optional <string> description = default; Optional <IDictionary <string, ParameterSpecification> > parameters = default; Optional <IList <object> > annotations = default; TeamDeskAuthenticationType authenticationType = default; object url = default; Optional <object> userName = default; Optional <SecretBase> password = default; Optional <SecretBase> apiToken = default; Optional <object> encryptedCredential = default; IDictionary <string, object> additionalProperties = default; Dictionary <string, object> additionalPropertiesDictionary = new Dictionary <string, object>(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("connectVia")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } connectVia = IntegrationRuntimeReference.DeserializeIntegrationRuntimeReference(property.Value); continue; } if (property.NameEquals("description")) { description = property.Value.GetString(); continue; } if (property.NameEquals("parameters")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } Dictionary <string, ParameterSpecification> dictionary = new Dictionary <string, ParameterSpecification>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, ParameterSpecification.DeserializeParameterSpecification(property0.Value)); } parameters = dictionary; continue; } if (property.NameEquals("annotations")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <object> array = new List <object>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetObject()); } annotations = array; continue; } if (property.NameEquals("typeProperties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("authenticationType")) { authenticationType = new TeamDeskAuthenticationType(property0.Value.GetString()); continue; } if (property0.NameEquals("url")) { url = property0.Value.GetObject(); continue; } if (property0.NameEquals("userName")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } userName = property0.Value.GetObject(); continue; } if (property0.NameEquals("password")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } password = SecretBase.DeserializeSecretBase(property0.Value); continue; } if (property0.NameEquals("apiToken")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } apiToken = SecretBase.DeserializeSecretBase(property0.Value); continue; } if (property0.NameEquals("encryptedCredential")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } encryptedCredential = property0.Value.GetObject(); continue; } } continue; } additionalPropertiesDictionary.Add(property.Name, property.Value.GetObject()); } additionalProperties = additionalPropertiesDictionary; return(new TeamDeskLinkedService(type, connectVia.Value, description.Value, Optional.ToDictionary(parameters), Optional.ToList(annotations), additionalProperties, authenticationType, url, userName.Value, password.Value, apiToken.Value, encryptedCredential.Value)); }