Skip to content
This repository was archived by the owner on May 5, 2023. It is now read-only.

[AutoPR datafactory/resource-manager] Add APIs for integration runtime sharing feature. #2898

Closed
91 changes: 70 additions & 21 deletions lib/services/datafactoryManagement/lib/models/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -258,18 +258,13 @@ export interface IntegrationRuntimeReference {
* integration runtime belong to.
* @member {string} [state] The state of integration runtime. Possible values
* include: 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping',
* 'NeedRegistration', 'Online', 'Limited', 'Offline'
* 'NeedRegistration', 'Online', 'Limited', 'Offline', 'AccessDenied'
* @member {string} type Polymorphic Discriminator
*/
export interface IntegrationRuntimeStatus {
readonly dataFactoryName?: string;
readonly state?: string;
type: string;
/**
* @property Describes unknown properties. The value of an unknown property
* can be of "any" type.
*/
[property: string]: any;
}

/**
Expand All @@ -284,7 +279,8 @@ export interface IntegrationRuntimeStatus {
* the integration runtime belong to.
* @member {string} [properties.state] The state of integration runtime.
* Possible values include: 'Initial', 'Stopped', 'Started', 'Starting',
* 'Stopping', 'NeedRegistration', 'Online', 'Limited', 'Offline'
* 'Stopping', 'NeedRegistration', 'Online', 'Limited', 'Offline',
* 'AccessDenied'
* @member {string} [properties.type] Polymorphic Discriminator
*/
export interface IntegrationRuntimeStatusResponse {
Expand Down Expand Up @@ -340,6 +336,34 @@ export interface UpdateIntegrationRuntimeNodeRequest {
concurrentJobsLimit?: number;
}

/**
* @class
* Initializes a new instance of the IntegrationRuntimePermissionRequest class.
* @constructor
* Grant or revoke access to integration runtime request.
*
* @member {string} [factoryName] The data factory name.
* @member {string} factoryIdentity The data factory identity.
*/
export interface IntegrationRuntimePermissionRequest {
factoryName?: string;
factoryIdentity: string;
}

/**
* @class
* Initializes a new instance of the IntegrationRuntimePermissionResponse class.
* @constructor
* The response of granting/revoking integration runtime permission operation.
*
* @member {number} [sharedIntegrationRuntimeCount] The number of the
* integration runtimes to which the given data factory has been granted
* access.
*/
export interface IntegrationRuntimePermissionResponse {
sharedIntegrationRuntimeCount?: number;
}

/**
* @class
* Initializes a new instance of the ParameterSpecification class.
Expand Down Expand Up @@ -1537,7 +1561,7 @@ export interface ShopifyLinkedService extends LinkedService {
* ServiceNow server linked service.
*
* @member {object} endpoint The endpoint of the ServiceNow server. (i.e.
* ServiceNowData.com)
* <instance>.service-now.com)
* @member {string} authenticationType The authentication type to use. Possible
* values include: 'Basic', 'OAuth2'
* @member {object} [username] The user name used to connect to the ServiceNow
Expand Down Expand Up @@ -1582,10 +1606,13 @@ export interface ServiceNowLinkedService extends LinkedService {
* quickbooks.api.intuit.com)
* @member {object} companyId The company ID of the QuickBooks company to
* authorize.
* @member {object} [accessToken] The access token for OAuth 1.0
* @member {object} consumerKey The consumer key for OAuth 1.0 authentication.
* @member {object} consumerSecret The consumer secret for OAuth 1.0
* authentication.
* @member {string} [consumerSecret.type] Polymorphic Discriminator
* @member {object} accessToken The access token for OAuth 1.0 authentication.
* @member {string} [accessToken.type] Polymorphic Discriminator
* @member {object} [accessTokenSecret] The access token secret for OAuth 1.0
* @member {object} accessTokenSecret The access token secret for OAuth 1.0
* authentication.
* @member {string} [accessTokenSecret.type] Polymorphic Discriminator
* @member {object} [useEncryptedEndpoints] Specifies whether the data source
Expand All @@ -1597,8 +1624,10 @@ export interface ServiceNowLinkedService extends LinkedService {
export interface QuickBooksLinkedService extends LinkedService {
endpoint: any;
companyId: any;
accessToken?: SecretBase;
accessTokenSecret?: SecretBase;
consumerKey: any;
consumerSecret: SecretBase;
accessToken: SecretBase;
accessTokenSecret: SecretBase;
useEncryptedEndpoints?: any;
encryptedCredential?: any;
}
Expand Down Expand Up @@ -6030,11 +6059,17 @@ export interface CopyTranslator {
* @constructor
* A copy activity tabular translator.
*
* @member {object} [columnMappings] Column mappings. Type: string (or
* Expression with resultType string).
* @member {object} [columnMappings] Column mappings. Example: "UserId:
* MyUserId, Group: MyGroup, Name: MyName" Type: string (or Expression with
* resultType string).
* @member {object} [schemaMapping] The schema mapping to map between tabular
* data and hierarchical data. Example: {"Column1": "$.Column1", "Column2":
* "$.Column2.Property1", "Column3": "$.Column2.Property2"}. Type: object (or
* Expression with resultType object).
*/
export interface TabularTranslator extends CopyTranslator {
columnMappings?: any;
schemaMapping?: any;
}

/**
Expand Down Expand Up @@ -6645,6 +6680,8 @@ export interface SelfHostedIntegrationRuntimeNode {
* @constructor
* Self-hosted integration runtime status.
*
* @member {object} [additionalProperties] Unmatched properties from the
* message are deserialized this collection
* @member {date} [createTime] The time at which the integration runtime was
* created, in ISO8601 format.
* @member {string} [taskQueueId] The task queue id of the integration runtime.
Expand All @@ -6668,8 +6705,14 @@ export interface SelfHostedIntegrationRuntimeNode {
* @member {string} [versionStatus] Status of the integration runtime version.
* @member {array} [links] The list of linked integration runtimes that are
* created to share with this integration runtime.
* @member {array} [sharedWithFactories] The MSI-s of the data factories to
* which the integration runtime is shared.
* @member {string} [pushedVersion] The version that the integration runtime is
* going to update to.
* @member {string} [latestVersion] The latest version on download center.
*/
export interface SelfHostedIntegrationRuntimeStatus extends IntegrationRuntimeStatus {
additionalProperties?: { [propertyName: string]: any };
readonly createTime?: Date;
readonly taskQueueId?: string;
readonly internalChannelEncryption?: string;
Expand All @@ -6683,6 +6726,9 @@ export interface SelfHostedIntegrationRuntimeStatus extends IntegrationRuntimeSt
readonly autoUpdate?: string;
readonly versionStatus?: string;
links?: LinkedIntegrationRuntime[];
readonly sharedWithFactories?: string[];
readonly pushedVersion?: string;
readonly latestVersion?: string;
}

/**
Expand Down Expand Up @@ -6764,6 +6810,8 @@ export interface ManagedIntegrationRuntimeNode {
* @constructor
* Managed integration runtime status.
*
* @member {object} [additionalProperties] Unmatched properties from the
* message are deserialized this collection
* @member {date} [createTime] The time at which the integration runtime was
* created, in ISO8601 format.
* @member {array} [nodes] The list of nodes for managed integration runtime.
Expand All @@ -6782,6 +6830,7 @@ export interface ManagedIntegrationRuntimeNode {
* operation request.
*/
export interface ManagedIntegrationRuntimeStatus extends IntegrationRuntimeStatus {
additionalProperties?: { [propertyName: string]: any };
readonly createTime?: Date;
readonly nodes?: ManagedIntegrationRuntimeNode[];
readonly otherErrors?: ManagedIntegrationRuntimeError[];
Expand All @@ -6792,7 +6841,7 @@ export interface ManagedIntegrationRuntimeStatus extends IntegrationRuntimeStatu
* @class
* Initializes a new instance of the LinkedIntegrationRuntimeProperties class.
* @constructor
* The base definition of a secret type.
* The base definition of a linked integration runtime properties.
*
* @member {string} authorizationType Polymorphic Discriminator
*/
Expand All @@ -6804,10 +6853,10 @@ export interface LinkedIntegrationRuntimeProperties {
* @class
* Initializes a new instance of the LinkedIntegrationRuntimeRbac class.
* @constructor
* The base definition of a secret type.
* The role based access control (RBAC) authorization type.
*
* @member {string} resourceId The resource ID of the integration runtime to be
* shared.
* @member {string} resourceId The resource identifier of the integration
* runtime to be shared.
*/
export interface LinkedIntegrationRuntimeRbac extends LinkedIntegrationRuntimeProperties {
resourceId: string;
Expand All @@ -6817,9 +6866,9 @@ export interface LinkedIntegrationRuntimeRbac extends LinkedIntegrationRuntimePr
* @class
* Initializes a new instance of the LinkedIntegrationRuntimeKey class.
* @constructor
* The base definition of a secret type.
* The key authorization type.
*
* @member {object} key Type of the secret.
* @member {object} key The key used for authorization.
* @member {string} [key.value] Value of secure string.
*/
export interface LinkedIntegrationRuntimeKey extends LinkedIntegrationRuntimeProperties {
Expand Down Expand Up @@ -6995,7 +7044,7 @@ export interface IntegrationRuntimeComputeProperties {
* @member {string} [state] Integration runtime state, only valid for managed
* dedicated integration runtime. Possible values include: 'Initial',
* 'Stopped', 'Started', 'Starting', 'Stopping', 'NeedRegistration', 'Online',
* 'Limited', 'Offline'
* 'Limited', 'Offline', 'AccessDenied'
* @member {object} [computeProperties] The compute resource for managed
* integration runtime.
* @member {string} [computeProperties.location] The location for managed
Expand Down
2 changes: 2 additions & 0 deletions lib/services/datafactoryManagement/lib/models/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ exports.IntegrationRuntimeStatusResponse = require('./integrationRuntimeStatusRe
exports.IntegrationRuntimeStatusListResponse = require('./integrationRuntimeStatusListResponse');
exports.UpdateIntegrationRuntimeRequest = require('./updateIntegrationRuntimeRequest');
exports.UpdateIntegrationRuntimeNodeRequest = require('./updateIntegrationRuntimeNodeRequest');
exports.IntegrationRuntimePermissionRequest = require('./integrationRuntimePermissionRequest');
exports.IntegrationRuntimePermissionResponse = require('./integrationRuntimePermissionResponse');
exports.ParameterSpecification = require('./parameterSpecification');
exports.LinkedService = require('./linkedService');
exports.LinkedServiceResource = require('./linkedServiceResource');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ class IntegrationRuntimeComputeProperties {
required: false,
serializedName: 'maxParallelExecutionsPerNode',
constraints: {
InclusiveMaximum: 8,
InclusiveMinimum: 1
},
type: {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/*
* 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.
*/

'use strict';

/**
* Grant or revoke access to integration runtime request.
*
*/
class IntegrationRuntimePermissionRequest {
/**
* Create a IntegrationRuntimePermissionRequest.
* @member {string} [factoryName] The data factory name.
* @member {string} factoryIdentity The data factory identity.
*/
constructor() {
}

/**
* Defines the metadata of IntegrationRuntimePermissionRequest
*
* @returns {object} metadata of IntegrationRuntimePermissionRequest
*
*/
mapper() {
return {
required: false,
serializedName: 'IntegrationRuntimePermissionRequest',
type: {
name: 'Composite',
className: 'IntegrationRuntimePermissionRequest',
modelProperties: {
factoryName: {
required: false,
serializedName: 'factoryName',
type: {
name: 'String'
}
},
factoryIdentity: {
required: true,
serializedName: 'factoryIdentity',
type: {
name: 'String'
}
}
}
}
};
}
}

module.exports = IntegrationRuntimePermissionRequest;
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
/*
* 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.
*/

'use strict';

/**
* The response of granting/revoking integration runtime permission operation.
*
*/
class IntegrationRuntimePermissionResponse {
/**
* Create a IntegrationRuntimePermissionResponse.
* @member {number} [sharedIntegrationRuntimeCount] The number of the
* integration runtimes to which the given data factory has been granted
* access.
*/
constructor() {
}

/**
* Defines the metadata of IntegrationRuntimePermissionResponse
*
* @returns {object} metadata of IntegrationRuntimePermissionResponse
*
*/
mapper() {
return {
required: false,
serializedName: 'IntegrationRuntimePermissionResponse',
type: {
name: 'Composite',
className: 'IntegrationRuntimePermissionResponse',
modelProperties: {
sharedIntegrationRuntimeCount: {
required: false,
serializedName: 'sharedIntegrationRuntimeCount',
type: {
name: 'Number'
}
}
}
}
};
}
}

module.exports = IntegrationRuntimePermissionResponse;
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class IntegrationRuntimeStatus {
* integration runtime belong to.
* @member {string} [state] The state of integration runtime. Possible values
* include: 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping',
* 'NeedRegistration', 'Online', 'Limited', 'Offline'
* 'NeedRegistration', 'Online', 'Limited', 'Offline', 'AccessDenied'
* @member {string} type Polymorphic Discriminator
*/
constructor() {
Expand All @@ -39,18 +39,6 @@ class IntegrationRuntimeStatus {
serializedName: 'IntegrationRuntimeStatus',
type: {
name: 'Composite',
additionalProperties: {
type: {
name: 'Dictionary',
value: {
required: false,
serializedName: 'ObjectElementType',
type: {
name: 'Object'
}
}
}
},
polymorphicDiscriminator: {
serializedName: 'type',
clientName: 'type'
Expand Down
Loading