From 5c93491a6a8326bcb0efb54f215c133d301ca645 Mon Sep 17 00:00:00 2001 From: Jingshu Pan Date: Tue, 2 Mar 2021 09:45:18 +0800 Subject: [PATCH] [DataFactory]Added new features in version 4.15.0.0 --- .../datafactory_resource-manager.txt | 4 +- .../src/CHANGELOG.md | 7 +++ .../Models/AzureMLExecutePipelineActivity.cs | 48 +++++++++++++--- .../Models/PipelineElapsedTimeMetricPolicy.cs | 55 +++++++++++++++++++ .../src/Generated/Models/PipelinePolicy.cs | 49 +++++++++++++++++ .../src/Generated/Models/PipelineResource.cs | 8 ++- .../Models/WebActivityAuthentication.cs | 45 ++++++++++----- ...rosoft.Azure.Management.DataFactory.csproj | 13 ++--- .../src/Properties/AssemblyInfo.cs | 4 +- .../tests/JsonSamples/PipelineJsonSamples.cs | 5 +- .../tests/TestData/Pipelines_Create.json | 6 ++ 11 files changed, 210 insertions(+), 34 deletions(-) create mode 100644 sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/PipelineElapsedTimeMetricPolicy.cs create mode 100644 sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/PipelinePolicy.cs diff --git a/eng/mgmt/mgmtmetadata/datafactory_resource-manager.txt b/eng/mgmt/mgmtmetadata/datafactory_resource-manager.txt index 4ad6dede1b6c5..699a74f88b729 100644 --- a/eng/mgmt/mgmtmetadata/datafactory_resource-manager.txt +++ b/eng/mgmt/mgmtmetadata/datafactory_resource-manager.txt @@ -4,11 +4,11 @@ Commencing code generation Generating CSharp code Executing AutoRest command cmd.exe /c autorest.cmd https://github.com/Azure/azure-rest-api-specs/blob/master/specification/datafactory/resource-manager/readme.md --csharp --version=v2 --reflect-api-versions --tag=package-2018-06 --csharp-sdks-folder=D:\Projects\azure-sdk-for-net\sdk -2021-02-02 06:19:32 UTC +2021-02-26 09:43:36 UTC Azure-rest-api-specs repository information GitHub fork: Azure Branch: master -Commit: c40f8fafa2c9b1bc3bb81e1feea4ff715d48e00c +Commit: a06d912bc912010bdc0aa5d1d3c4b28ee1d89905 AutoRest information Requested version: v2 Bootstrapper version: autorest@2.0.4413 diff --git a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/CHANGELOG.md b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/CHANGELOG.md index 7169c488fe542..74554a1232860 100644 --- a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/CHANGELOG.md +++ b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog for the Azure Data Factory V2 .NET SDK +## Version 4.15.0 +### Feature Additions +- Added WebActivity support for Service Principal +- Added PipelineEndpoint with version and DataPathAssignments fields in AzureMLExecutePipeline +- Added pipeline policy and Elapsed Time Metric +- Fixed WebActivity dynamic authentication + ## Version 4.14.0 ### Feature Additions - Added encryption property for Customer Managed Key diff --git a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/AzureMLExecutePipelineActivity.cs b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/AzureMLExecutePipelineActivity.cs index 46c97bd2849b5..5f864e653dbf4 100644 --- a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/AzureMLExecutePipelineActivity.cs +++ b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/AzureMLExecutePipelineActivity.cs @@ -38,8 +38,6 @@ public AzureMLExecutePipelineActivity() /// class. /// /// Activity name. - /// ID of the published Azure ML pipeline. - /// Type: string (or Expression with resultType string). /// Unmatched properties from the /// message are deserialized this collection /// Activity description. @@ -47,6 +45,14 @@ public AzureMLExecutePipelineActivity() /// Activity user properties. /// Linked service reference. /// Activity policy. + /// ID of the published Azure ML pipeline. + /// Type: string (or Expression with resultType string). + /// ID of the published Azure ML + /// pipeline endpoint. Type: string (or Expression with resultType + /// string). + /// Version of the published Azure ML pipeline + /// endpoint. Type: string (or Expression with resultType + /// string). /// Run history experiment name of the /// pipeline run. This information will be passed in the ExperimentName /// property of the published pipeline execution request. Type: string @@ -57,6 +63,11 @@ public AzureMLExecutePipelineActivity() /// will be passed in the ParameterAssignments property of the /// published pipeline execution request. Type: object with key value /// pairs (or Expression with resultType object). + /// Dictionary used for changing data + /// path assignments without retraining. Values will be passed in the + /// dataPathAssignments property of the published pipeline execution + /// request. Type: object with key value pairs (or Expression with + /// resultType object). /// The parent Azure ML Service pipeline /// run id. This information will be passed in the ParentRunId property /// of the published pipeline execution request. Type: string (or @@ -66,12 +77,15 @@ public AzureMLExecutePipelineActivity() /// will be passed in the continueOnStepFailure property of the /// published pipeline execution request. Type: boolean (or Expression /// with resultType boolean). - public AzureMLExecutePipelineActivity(string name, object mlPipelineId, IDictionary additionalProperties = default(IDictionary), string description = default(string), IList dependsOn = default(IList), IList userProperties = default(IList), LinkedServiceReference linkedServiceName = default(LinkedServiceReference), ActivityPolicy policy = default(ActivityPolicy), object experimentName = default(object), object mlPipelineParameters = default(object), object mlParentRunId = default(object), object continueOnStepFailure = default(object)) + public AzureMLExecutePipelineActivity(string name, IDictionary additionalProperties = default(IDictionary), string description = default(string), IList dependsOn = default(IList), IList userProperties = default(IList), LinkedServiceReference linkedServiceName = default(LinkedServiceReference), ActivityPolicy policy = default(ActivityPolicy), object mlPipelineId = default(object), object mlPipelineEndpointId = default(object), object version = default(object), object experimentName = default(object), object mlPipelineParameters = default(object), object dataPathAssignments = default(object), object mlParentRunId = default(object), object continueOnStepFailure = default(object)) : base(name, additionalProperties, description, dependsOn, userProperties, linkedServiceName, policy) { MlPipelineId = mlPipelineId; + MlPipelineEndpointId = mlPipelineEndpointId; + Version = version; ExperimentName = experimentName; MlPipelineParameters = mlPipelineParameters; + DataPathAssignments = dataPathAssignments; MlParentRunId = mlParentRunId; ContinueOnStepFailure = continueOnStepFailure; CustomInit(); @@ -89,6 +103,20 @@ public AzureMLExecutePipelineActivity() [JsonProperty(PropertyName = "typeProperties.mlPipelineId")] public object MlPipelineId { get; set; } + /// + /// Gets or sets ID of the published Azure ML pipeline endpoint. Type: + /// string (or Expression with resultType string). + /// + [JsonProperty(PropertyName = "typeProperties.mlPipelineEndpointId")] + public object MlPipelineEndpointId { get; set; } + + /// + /// Gets or sets version of the published Azure ML pipeline endpoint. + /// Type: string (or Expression with resultType string). + /// + [JsonProperty(PropertyName = "typeProperties.version")] + public object Version { get; set; } + /// /// Gets or sets run history experiment name of the pipeline run. This /// information will be passed in the ExperimentName property of the @@ -109,6 +137,16 @@ public AzureMLExecutePipelineActivity() [JsonProperty(PropertyName = "typeProperties.mlPipelineParameters")] public object MlPipelineParameters { get; set; } + /// + /// Gets or sets dictionary used for changing data path assignments + /// without retraining. Values will be passed in the + /// dataPathAssignments property of the published pipeline execution + /// request. Type: object with key value pairs (or Expression with + /// resultType object). + /// + [JsonProperty(PropertyName = "typeProperties.dataPathAssignments")] + public object DataPathAssignments { get; set; } + /// /// Gets or sets the parent Azure ML Service pipeline run id. This /// information will be passed in the ParentRunId property of the @@ -136,10 +174,6 @@ public AzureMLExecutePipelineActivity() public override void Validate() { base.Validate(); - if (MlPipelineId == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "MlPipelineId"); - } } } } diff --git a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/PipelineElapsedTimeMetricPolicy.cs b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/PipelineElapsedTimeMetricPolicy.cs new file mode 100644 index 0000000000000..03ecf1d1c3e7a --- /dev/null +++ b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/PipelineElapsedTimeMetricPolicy.cs @@ -0,0 +1,55 @@ +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. +// + +namespace Microsoft.Azure.Management.DataFactory.Models +{ + using Newtonsoft.Json; + using System.Linq; + + /// + /// Pipeline ElapsedTime Metric Policy. + /// + public partial class PipelineElapsedTimeMetricPolicy + { + /// + /// Initializes a new instance of the PipelineElapsedTimeMetricPolicy + /// class. + /// + public PipelineElapsedTimeMetricPolicy() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the PipelineElapsedTimeMetricPolicy + /// class. + /// + /// TimeSpan value, after which an Azure + /// Monitoring Metric is fired. + public PipelineElapsedTimeMetricPolicy(object duration = default(object)) + { + Duration = duration; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets timeSpan value, after which an Azure Monitoring Metric + /// is fired. + /// + [JsonProperty(PropertyName = "duration")] + public object Duration { get; set; } + + } +} diff --git a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/PipelinePolicy.cs b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/PipelinePolicy.cs new file mode 100644 index 0000000000000..b08eac658e287 --- /dev/null +++ b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/PipelinePolicy.cs @@ -0,0 +1,49 @@ +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. +// + +namespace Microsoft.Azure.Management.DataFactory.Models +{ + using Newtonsoft.Json; + using System.Linq; + + /// + /// Pipeline Policy. + /// + public partial class PipelinePolicy + { + /// + /// Initializes a new instance of the PipelinePolicy class. + /// + public PipelinePolicy() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the PipelinePolicy class. + /// + public PipelinePolicy(PipelineElapsedTimeMetricPolicy elapsedTimeMetric = default(PipelineElapsedTimeMetricPolicy)) + { + ElapsedTimeMetric = elapsedTimeMetric; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "elapsedTimeMetric")] + public PipelineElapsedTimeMetricPolicy ElapsedTimeMetric { get; set; } + + } +} diff --git a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/PipelineResource.cs b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/PipelineResource.cs index 71b481d9e0084..e0e2fb2017d6c 100644 --- a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/PipelineResource.cs +++ b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/PipelineResource.cs @@ -51,7 +51,7 @@ public PipelineResource() /// Dimensions emitted by Pipeline. /// The folder that this Pipeline is in. If not /// specified, Pipeline will appear at the root level. - public PipelineResource(string id = default(string), string name = default(string), string type = default(string), string etag = default(string), IDictionary additionalProperties = default(IDictionary), string description = default(string), IList activities = default(IList), IDictionary parameters = default(IDictionary), IDictionary variables = default(IDictionary), int? concurrency = default(int?), IList annotations = default(IList), IDictionary runDimensions = default(IDictionary), PipelineFolder folder = default(PipelineFolder)) + public PipelineResource(string id = default(string), string name = default(string), string type = default(string), string etag = default(string), IDictionary additionalProperties = default(IDictionary), string description = default(string), IList activities = default(IList), IDictionary parameters = default(IDictionary), IDictionary variables = default(IDictionary), int? concurrency = default(int?), IList annotations = default(IList), IDictionary runDimensions = default(IDictionary), PipelineFolder folder = default(PipelineFolder), PipelinePolicy policy = default(PipelinePolicy)) : base(id, name, type, etag) { AdditionalProperties = additionalProperties; @@ -63,6 +63,7 @@ public PipelineResource() Annotations = annotations; RunDimensions = runDimensions; Folder = folder; + Policy = policy; CustomInit(); } @@ -128,6 +129,11 @@ public PipelineResource() [JsonProperty(PropertyName = "properties.folder")] public PipelineFolder Folder { get; set; } + /// + /// + [JsonProperty(PropertyName = "properties.policy")] + public PipelinePolicy Policy { get; set; } + /// /// Validate the object. /// diff --git a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/WebActivityAuthentication.cs b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/WebActivityAuthentication.cs index e18ed9592e1fe..1d2537faa65ff 100644 --- a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/WebActivityAuthentication.cs +++ b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/WebActivityAuthentication.cs @@ -31,21 +31,28 @@ public WebActivityAuthentication() /// Initializes a new instance of the WebActivityAuthentication class. /// /// Web activity authentication - /// (Basic/ClientCertificate/MSI) - /// Base64-encoded contents of a PFX file. + /// (Basic/ClientCertificate/MSI/ServicePrincipal) + /// Base64-encoded contents of a PFX file or + /// Certificate when used for ServicePrincipal /// Web activity authentication user name for - /// basic authentication. + /// basic authentication or ClientID when used for ServicePrincipal. + /// Type: string (or Expression with resultType string). /// Password for the PFX file or basic - /// authentication. + /// authentication / Secret when used for ServicePrincipal /// Resource for which Azure Auth token will be - /// requested when using MSI Authentication. - public WebActivityAuthentication(string type, SecretBase pfx = default(SecretBase), string username = default(string), SecretBase password = default(SecretBase), string resource = default(string)) + /// requested when using MSI Authentication. Type: string (or + /// Expression with resultType string). + /// TenantId for which Azure Auth token will + /// be requested when using ServicePrincipal Authentication. Type: + /// string (or Expression with resultType string). + public WebActivityAuthentication(string type, SecretBase pfx = default(SecretBase), object username = default(object), SecretBase password = default(SecretBase), object resource = default(object), object userTenant = default(object)) { Type = type; Pfx = pfx; Username = username; Password = password; Resource = resource; + UserTenant = userTenant; CustomInit(); } @@ -56,36 +63,48 @@ public WebActivityAuthentication() /// /// Gets or sets web activity authentication - /// (Basic/ClientCertificate/MSI) + /// (Basic/ClientCertificate/MSI/ServicePrincipal) /// [JsonProperty(PropertyName = "type")] public string Type { get; set; } /// - /// Gets or sets base64-encoded contents of a PFX file. + /// Gets or sets base64-encoded contents of a PFX file or Certificate + /// when used for ServicePrincipal /// [JsonProperty(PropertyName = "pfx")] public SecretBase Pfx { get; set; } /// /// Gets or sets web activity authentication user name for basic - /// authentication. + /// authentication or ClientID when used for ServicePrincipal. Type: + /// string (or Expression with resultType string). /// [JsonProperty(PropertyName = "username")] - public string Username { get; set; } + public object Username { get; set; } /// - /// Gets or sets password for the PFX file or basic authentication. + /// Gets or sets password for the PFX file or basic authentication / + /// Secret when used for ServicePrincipal /// [JsonProperty(PropertyName = "password")] public SecretBase Password { get; set; } /// /// Gets or sets resource for which Azure Auth token will be requested - /// when using MSI Authentication. + /// when using MSI Authentication. Type: string (or Expression with + /// resultType string). /// [JsonProperty(PropertyName = "resource")] - public string Resource { get; set; } + public object Resource { get; set; } + + /// + /// Gets or sets tenantId for which Azure Auth token will be requested + /// when using ServicePrincipal Authentication. Type: string (or + /// Expression with resultType string). + /// + [JsonProperty(PropertyName = "userTenant")] + public object UserTenant { get; set; } /// /// Validate the object. diff --git a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Microsoft.Azure.Management.DataFactory.csproj b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Microsoft.Azure.Management.DataFactory.csproj index 2932b7e14c468..981442bf26285 100644 --- a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Microsoft.Azure.Management.DataFactory.csproj +++ b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Microsoft.Azure.Management.DataFactory.csproj @@ -5,18 +5,15 @@ Microsoft.Azure.Management.DataFactory Azure Data Factory V2 is the data integration platform that goes beyond Azure Data Factory V1's orchestration and batch-processing of time-series data, with a general purpose app model supporting modern data warehousing patterns and scenarios, lift-and-shift SSIS, and data-driven SaaS applications. Compose and manage reliable and secure data integration workflows at scale. Use native ADF data connectors and Integration Runtimes to move and transform cloud and on-premises data that can be unstructured, semi-structured, and structured with Hadoop, Azure Data Lake, Spark, SQL Server, Cosmos DB and many other data platforms. - 4.14.0 + 4.15.0 Microsoft.Azure.Management.DataFactory Microsoft Azure resource management;Data Factory;ADF; diff --git a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Properties/AssemblyInfo.cs b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Properties/AssemblyInfo.cs index 7ac7e98388ae1..3c8ccb3d4b277 100644 --- a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Properties/AssemblyInfo.cs +++ b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Properties/AssemblyInfo.cs @@ -6,8 +6,8 @@ [assembly: AssemblyTitle("Microsoft Azure Data Factory Management Library")] [assembly: AssemblyDescription("Provides management functionality for Microsoft Azure Data Factory Resources.")] -[assembly: AssemblyVersion("4.14.0.0")] -[assembly: AssemblyFileVersion("4.14.0.0")] +[assembly: AssemblyVersion("4.15.0.0")] +[assembly: AssemblyFileVersion("4.15.0.0")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Microsoft")] [assembly: AssemblyProduct("Microsoft Azure .NET SDK")] diff --git a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/tests/JsonSamples/PipelineJsonSamples.cs b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/tests/JsonSamples/PipelineJsonSamples.cs index 8905e60335d7f..8c95609c008bd 100644 --- a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/tests/JsonSamples/PipelineJsonSamples.cs +++ b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/tests/JsonSamples/PipelineJsonSamples.cs @@ -2366,10 +2366,13 @@ public class PipelineJsonSamples : JsonSampleCollection ""type"": ""AzureMLExecutePipeline"", ""typeProperties"": { ""mlPipelineId"": ""93b9ccc4-0000-0000-8968-43a0a0fe0c44"", + ""mlPipelineEndpointId"": ""mymlPipelineEndpointId"", + ""version"": ""myversion"", ""experimentName"": ""myExperimentName"", ""mlPipelineParameters"": { ""param_name"": ""param_value"" - } + }, + ""dataPathAssignments"": ""mydataPathAssignments"" }, ""linkedServiceName"": { ""referenceName"": ""MyAzureMLServiceLinkedService"", diff --git a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/tests/TestData/Pipelines_Create.json b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/tests/TestData/Pipelines_Create.json index 36720c98f3691..c9efc7b2d4df9 100644 --- a/sdk/datafactory/Microsoft.Azure.Management.DataFactory/tests/TestData/Pipelines_Create.json +++ b/sdk/datafactory/Microsoft.Azure.Management.DataFactory/tests/TestData/Pipelines_Create.json @@ -61,6 +61,12 @@ "parameters": { "OutputBlobNameList": { "type": "Array" + }, + "policy": { + "elapsedTimeMetric": { + "duration": "0.00:10:00" + }, + "type": "PipelinePolicy" } } }