diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/2017-09-01-preview/datafactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/2017-09-01-preview/datafactory.json index 14712908d0d6..dbdd70ad33cd 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/2017-09-01-preview/datafactory.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/2017-09-01-preview/datafactory.json @@ -2243,26 +2243,66 @@ ] }, "SecureString": { + "x-ms-discriminator-value": "SecureString", "description": "Azure Data Factory secure string definition. The string value will be masked with asterisks '*' during Get or List API calls.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecretBase" + } + ], "properties": { - "type": { - "type": "string", - "description": "SecureString type.", - "enum": [ - "SecureString" - ] - }, "value": { "type": "string", "description": "Value of secure string." } }, "required": [ - "type", "value" ] }, + "AzureKeyVaultSecretReference": { + "x-ms-discriminator-value": "AzureKeyVaultSecret", + "description": "Azure Key Vault secret reference.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecretBase" + } + ], + "properties": { + "store": { + "description": "The Azure Key Vault linked service reference.", + "$ref": "#/definitions/LinkedServiceReference" + }, + "secretName": { + "type": "object", + "description": "The name of the secret in Azure Key Vault. Type: string (or Expression with resultType string)." + }, + "secretVersion": { + "type": "object", + "description": "The version of the secret in Azure Key Vault. The default value is the latest version of the secret. Type: string (or Expression with resultType string)." + } + }, + "required": [ + "store", + "secretName" + ] + }, + "SecretBase": { + "description": "The base definition of a secret type.", + "discriminator": "type", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the secret." + } + }, + "required": [ + "type" + ] + }, "FactoryListResponse": { "description": "A list of factory resources.", "type": "object", diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/2017-09-01-preview/entityTypes/LinkedService.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/2017-09-01-preview/entityTypes/LinkedService.json index d380c54c9bf3..7f6f5f0deab6 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/2017-09-01-preview/entityTypes/LinkedService.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/2017-09-01-preview/entityTypes/LinkedService.json @@ -369,7 +369,7 @@ }, "password": { "description": "Password to access the Dynamics instance.", - "$ref": "#/definitions/AzureKeyVaultSecretReference" + "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference" } }, "required": [ @@ -379,48 +379,6 @@ "password" ] }, - "AzureKeyVaultReference": { - "type": "object", - "description": "A reference to an object in Azure Key Vault.", - "discriminator": "type", - "properties": { - "type": { - "type": "string", - "description": "The type of the Azure Key Vault object to reference." - }, - "store": { - "description": "The Azure Key Vault LinkedService.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" - } - }, - "required": [ - "type", - "store" - ] - }, - "AzureKeyVaultSecretReference": { - "description": "Azure Key Vault Secret properties.", - "x-ms-discriminator-value": "AzureKeyVaultSecret", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureKeyVaultReference" - } - ], - "properties": { - "secretName": { - "type": "object", - "description": "The name of secret in Azure Key Vault. Type: string (or Expression with resultType string)." - }, - "secretVersion": { - "type": "object", - "description": "The version of the secret in Azure Key Vault. The default value is the latest version of the secret. Type: string (or Expression with resultType string)." - } - }, - "required": [ - "secretName" - ] - }, "HDInsightLinkedService": { "x-ms-discriminator-value": "HDInsight", "description": "HDInsight linked service.", @@ -1377,11 +1335,11 @@ }, "password": { "description": "The password for Basic authentication of the Salesforce source.", - "$ref": "../datafactory.json#/definitions/SecureString" + "$ref": "../datafactory.json#/definitions/SecretBase" }, "securityToken": { "description": "The security token is required to remotely access Salesforce source.", - "$ref": "../datafactory.json#/definitions/SecureString" + "$ref": "../datafactory.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object",