diff --git a/admin/definitions/tags.json b/admin/definitions/tags.json index 6af9bb2..2cb2475 100644 --- a/admin/definitions/tags.json +++ b/admin/definitions/tags.json @@ -26,6 +26,9 @@ ], "description": "This is a request wrapper for a creating a list of tags.", "properties": { + "scope": { + "$ref": "../../common/definitions.json#/definitions/TagScope" + }, "createTagsRequest": { "type": "array", "description": "An array of createTagRequest", @@ -70,7 +73,8 @@ "description": "Represents a tag.", "required": [ "id", - "displayName" + "displayName", + "scope" ], "properties": { "id": { @@ -81,6 +85,9 @@ "displayName": { "type": "string", "description": "The name of the tag." + }, + "scope": { + "$ref": "../../common/definitions.json#/definitions/TagScope" } } }, diff --git a/admin/examples/AdminListTags.json b/admin/examples/AdminListTags.json index 61d8622..516db9f 100644 --- a/admin/examples/AdminListTags.json +++ b/admin/examples/AdminListTags.json @@ -6,31 +6,55 @@ "value": [ { "id": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff", - "displayName": "Finance" + "displayName": "Finance", + "scope": { + "type": "Tenant" + } }, { "id": "b0bca781-003c-4041-b1c4-f94d34ba76d4", - "displayName": "Human resources" + "displayName": "Human resources", + "scope": { + "type": "Tenant" + } }, { "id": "6af5a1b6-bc4c-4c0a-b60d-30c68e6e3034", - "displayName": "Engineering P1" + "displayName": "Engineering P1", + "scope": { + "type": "Tenant" + } }, { "id": "6c00e8eb-51d4-46f7-8b90-7e98520ea7a0", - "displayName": "Marketing Q1" + "displayName": "Marketing Q1", + "scope": { + "type": "Tenant" + } }, { "id": "17df435d-9efd-48c1-a937-7d6fd70ab26a", - "displayName": "HR Sales Q1" + "displayName": "HR Sales Q1", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "fb765fe3-d404-4f24-9d67-5916449c4c50", - "displayName": "Root" + "displayName": "Root", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "bda31be4-7efe-4272-8b85-e1b2ff0f0592", - "displayName": "Legal EMEA" + "displayName": "Legal EMEA", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } } ] } diff --git a/admin/examples/AdminListTagsWithContinuation.json b/admin/examples/AdminListTagsWithContinuation.json index e8b7917..e7db078 100644 --- a/admin/examples/AdminListTagsWithContinuation.json +++ b/admin/examples/AdminListTagsWithContinuation.json @@ -6,31 +6,55 @@ "value": [ { "id": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff", - "displayName": "Finance" + "displayName": "Finance", + "scope": { + "type": "Tenant" + } }, { "id": "b0bca781-003c-4041-b1c4-f94d34ba76d4", - "displayName": "Human resources" + "displayName": "Human resources", + "scope": { + "type": "Tenant" + } }, { "id": "6af5a1b6-bc4c-4c0a-b60d-30c68e6e3034", - "displayName": "Engineering P1" + "displayName": "Engineering P1", + "scope": { + "type": "Tenant" + } }, { "id": "6c00e8eb-51d4-46f7-8b90-7e98520ea7a0", - "displayName": "Marketing Q1" + "displayName": "Marketing Q1", + "scope": { + "type": "Tenant" + } }, { "id": "17df435d-9efd-48c1-a937-7d6fd70ab26a", - "displayName": "HR Sales Q1" + "displayName": "HR Sales Q1", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "fb765fe3-d404-4f24-9d67-5916449c4c50", - "displayName": "Root" + "displayName": "Root", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "bda31be4-7efe-4272-8b85-e1b2ff0f0592", - "displayName": "Legal EMEA" + "displayName": "Legal EMEA", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } } ], "continuationToken": "LDEsMTAwMDAwLDA%3D", diff --git a/admin/examples/tags/CreateDomainTags.json b/admin/examples/tags/CreateDomainTags.json new file mode 100644 index 0000000..5a64d6f --- /dev/null +++ b/admin/examples/tags/CreateDomainTags.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "scope": { + "type": "Domain", + "domainId": "e408a2ca-0e43-49d6-86d3-f2558508d32a" + }, + "createTagsRequest": [ + { "displayName": "Finance 2024" }, + { "displayName": "HR 2024" } + ] + }, + "responses": { + "201": { + "body": { + "tags": [ + { + "id": "e281785b-5608-41ac-a1a1-78b48b95b825", + "displayName": "Finance 2024", + "scope": { + "type": "Domain", + "domainId": "e408a2ca-0e43-49d6-86d3-f2558508d32a" + } + }, + { + "id": "24402490-9519-48b9-9d51-b2db4095a56b", + "displayName": "HR 2024", + "scope": { + "type": "Domain", + "domainId": "e408a2ca-0e43-49d6-86d3-f2558508d32a" + } + } + ] + } + } + } +} + diff --git a/admin/examples/tags/CreateTenantTags.json b/admin/examples/tags/CreateTenantTags.json new file mode 100644 index 0000000..0c4b2bd --- /dev/null +++ b/admin/examples/tags/CreateTenantTags.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "createTagsRequest": [ + { "displayName": "Finance 2024" }, + { "displayName": "HR 2024" } + ] + }, + "responses": { + "201": { + "body": { + "tags": [ + { + "id": "e281785b-5608-41ac-a1a1-78b48b95b825", + "displayName": "Finance 2024", + "scope": { + "type": "Tenant" + } + }, + { + "id": "24402490-9519-48b9-9d51-b2db4095a56b", + "displayName": "HR 2024", + "scope": { + "type": "Tenant" + } + } + ] + } + } + } +} + diff --git a/admin/examples/tags/CreateTenantTagsExplicit.json b/admin/examples/tags/CreateTenantTagsExplicit.json new file mode 100644 index 0000000..88e0b32 --- /dev/null +++ b/admin/examples/tags/CreateTenantTagsExplicit.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "scope": { + "type": "Tenant" + }, + "createTagsRequest": [ + { "displayName": "Finance 2024" }, + { "displayName": "HR 2024" } + ] + }, + "responses": { + "201": { + "body": { + "tags": [ + { + "id": "e281785b-5608-41ac-a1a1-78b48b95b825", + "displayName": "Finance 2024", + "scope": { + "type": "Tenant" + } + }, + { + "id": "24402490-9519-48b9-9d51-b2db4095a56b", + "displayName": "HR 2024", + "scope": { + "type": "Tenant" + } + } + ] + } + } + } +} + diff --git a/admin/examples/tags/UpdateTag.json b/admin/examples/tags/UpdateTag.json index 5007c97..aaec47d 100644 --- a/admin/examples/tags/UpdateTag.json +++ b/admin/examples/tags/UpdateTag.json @@ -9,7 +9,10 @@ "200": { "body": { "id": "d889df97-7061-45f6-98b8-c53a83c2cf68", - "displayName": "Tag's new name." + "displayName": "Tag's new name.", + "scope": { + "type": "Tenant" + } } } } diff --git a/admin/swagger.json b/admin/swagger.json index 51d62f9..c99d75d 100644 --- a/admin/swagger.json +++ b/admin/swagger.json @@ -1623,15 +1623,21 @@ } }, "default": { - "description": "Common error codes:\n\n* UnknownError - An error occurred \n\n* InvalidInputs - Invalid input was provided \n\n* EntityConflict - Tag display name already exists", + "description": "Common error codes:\n\n* UnknownError - An error occurred \n\n* InvalidInputs - Invalid input was provided \n\n* EntityConflict - Tag display name already exists \n\n* EntityNotFound - Domain ID does not exist", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Create tags in bulk example": { - "$ref": "./examples/Tags/CreateTags.json" + "Create tenant tags in bulk example": { + "$ref": "./examples/Tags/CreateTenantTags.json" + }, + "Create tenant tags in bulk example with explicit scope": { + "$ref": "./examples/Tags/CreateTenantTagsExplicit.json" + }, + "Create domain tags in bulk example": { + "$ref": "./examples/Tags/CreateDomainTags.json" } } } diff --git a/common/definitions.json b/common/definitions.json index f7157ba..66d90bf 100644 --- a/common/definitions.json +++ b/common/definitions.json @@ -644,7 +644,8 @@ "description": "Represents a tag.", "required": [ "id", - "displayName" + "displayName", + "scope" ], "properties": { "id": { @@ -655,6 +656,10 @@ "displayName": { "type": "string", "description": "The name of the tag." + }, + "scope": { + "$ref": "#/definitions/TagScope", + "description": "The scope of the tag." } } }, @@ -698,7 +703,66 @@ } } }, - + "TagScope": { + "type": "object", + "description": "Represents a tag scope", + "discriminator": "type", + "required": [ + "type" + ], + "properties": { + "type":{ + "description": "Denotes tag scope. Additional tag scopes may be added over time.", + "type": "string", + "enum": ["Tenant", "Domain"], + "x-ms-enum": { + "name": "TagScopeType", + "modelAsString": true, + "values": [ + { + "value": "Tenant", + "description": "Tag is a tenant level tag." + }, + { + "value": "Domain", + "description": "Tag is a domain level tag." + } + ] + }, + "readOnly": false + } + } + }, + "TenantTagScope": { + "type": "object", + "description": "Represents tenant tag scope.", + "allOf": [ + { + "$ref": "#/definitions/TagScope" + } + ], + "x-ms-discriminator-value": "Tenant" + }, + "DomainTagScope": { + "type": "object", + "description": "Represents domain tag scope.", + "required": [ + "domainId" + ], + "properties": { + "domainId": { + "type": "string", + "format": "uuid", + "description": "Domain object ID" + } + }, + "allOf": [ + { + "$ref": "#/definitions/TagScope" + } + ], + "x-ms-discriminator-value": "Domain" + }, "ItemReference": { "description": "An item reference object.", "type": "object", diff --git a/eventstream/definitions/operatorCommon.json b/eventstream/definitions/operatorCommon.json index e7205f1..3e29f68 100644 --- a/eventstream/definitions/operatorCommon.json +++ b/eventstream/definitions/operatorCommon.json @@ -384,10 +384,10 @@ "type": "object", "description": "Represents an operation on a column.", "required": [ - "operationType" + "type" ], "properties": { - "operationType": { + "type": { "type": "string", "description": "The operation type.", "enum": [ @@ -396,7 +396,7 @@ "Rename" ], "x-ms-enum": { - "name": "operationType", + "name": "type", "modelAsString": true, "values": [ { @@ -419,7 +419,7 @@ "description": "The alias of the operation." } }, - "discriminator": "operationType" + "discriminator": "type" }, "ManageFieldsFunctionCallOperation": { "type": "object", diff --git a/eventstream/examples/GetEventstreamDestination.json b/eventstream/examples/GetEventstreamDestination.json index 50550ab..0c149ef 100644 --- a/eventstream/examples/GetEventstreamDestination.json +++ b/eventstream/examples/GetEventstreamDestination.json @@ -6,28 +6,30 @@ }, "responses": { "200": { - "id": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "name": "LakehouseDestination", - "type": "Lakehouse", - "properties": { - "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", - "itemId": "ee579458-85ea-4652-bd77-5c7d7c298b2a", - "schema": "dbo", - "deltaTable": "deltaTable", - "inputSerialization": { - "type": "Json", - "properties": { - "encoding": "UTF8" + "body": { + "id": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "name": "LakehouseDestination", + "type": "Lakehouse", + "properties": { + "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", + "itemId": "ee579458-85ea-4652-bd77-5c7d7c298b2a", + "schema": "dbo", + "deltaTable": "deltaTable", + "inputSerialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } } - } - }, - "inputNodes": [ - { - "name": "InputNodeName" - } - ], - "status": "Running", - "error": null + }, + "inputNodes": [ + { + "name": "InputNodeName" + } + ], + "status": "Running", + "error": null + } } } } \ No newline at end of file diff --git a/eventstream/examples/GetEventstreamDestinationConnection.json b/eventstream/examples/GetEventstreamDestinationConnection.json index 60c20fd..fc73f75 100644 --- a/eventstream/examples/GetEventstreamDestinationConnection.json +++ b/eventstream/examples/GetEventstreamDestinationConnection.json @@ -6,14 +6,16 @@ }, "responses": { "200": { - "fullyQualifiedNamespace": "namespace.servicebus.windows.net", - "eventHubName": "eventhub", - "consumerGroupName": "$Default", - "accessKeys": { - "primaryKey": "key1", - "secondaryKey": "key2", - "primaryConnectionString": "connectionString1", - "secondaryConnectionString": "connectionString2" + "body": { + "fullyQualifiedNamespace": "namespace.servicebus.windows.net", + "eventHubName": "eventhub", + "consumerGroupName": "$Default", + "accessKeys": { + "primaryKey": "key1", + "secondaryKey": "key2", + "primaryConnectionString": "connectionString1", + "secondaryConnectionString": "connectionString2" + } } } } diff --git a/eventstream/examples/GetEventstreamSource.json b/eventstream/examples/GetEventstreamSource.json index ef582df..9181f58 100644 --- a/eventstream/examples/GetEventstreamSource.json +++ b/eventstream/examples/GetEventstreamSource.json @@ -6,21 +6,23 @@ }, "responses": { "200": { - "id": "e2886002-d696-4c05-969c-51361365cc24", - "name": "AzureEventHubSource", - "type": "AzureEventHub", - "properties": { - "dataConnectionId": "9c500070-073f-4a88-b478-8fabe1941c52", - "consumerGroupName": "$Default", - "inputSerialization": { - "type": "Json", - "properties": { - "encoding": "UTF8" + "body": { + "id": "e2886002-d696-4c05-969c-51361365cc24", + "name": "AzureEventHubSource", + "type": "AzureEventHub", + "properties": { + "dataConnectionId": "9c500070-073f-4a88-b478-8fabe1941c52", + "consumerGroupName": "$Default", + "inputSerialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } } - } - }, - "status": "Running", - "error": null + }, + "status": "Running", + "error": null + } } } } \ No newline at end of file diff --git a/eventstream/examples/GetEventstreamSourceConnection.json b/eventstream/examples/GetEventstreamSourceConnection.json index a694e97..fcb10ac 100644 --- a/eventstream/examples/GetEventstreamSourceConnection.json +++ b/eventstream/examples/GetEventstreamSourceConnection.json @@ -6,13 +6,15 @@ }, "responses": { "200": { - "fullyQualifiedNamespace": "namespace.servicebus.windows.net", - "eventHubName": "eventhub", - "accessKeys": { - "primaryKey": "key1", - "secondaryKey": "key2", - "primaryConnectionString": "connectionString1", - "secondaryConnectionString": "connectionString2" + "body": { + "fullyQualifiedNamespace": "namespace.servicebus.windows.net", + "eventHubName": "eventhub", + "accessKeys": { + "primaryKey": "key1", + "secondaryKey": "key2", + "primaryConnectionString": "connectionString1", + "secondaryConnectionString": "connectionString2" + } } } } diff --git a/eventstream/examples/GetEventstreamTopology.json b/eventstream/examples/GetEventstreamTopology.json index 1bb218c..17d180e 100644 --- a/eventstream/examples/GetEventstreamTopology.json +++ b/eventstream/examples/GetEventstreamTopology.json @@ -5,649 +5,651 @@ }, "responses": { "200": { - "compatibilityLevel": "1.0", - "sources": [ - { - "id": "514d0e11-cf65-44fb-a292-fc88a2a78618", - "name": "AzureEventHubSource", - "type": "AzureEventHub", - "properties": { - "dataConnectionId": "9c500070-073f-4a88-b478-8fabe1941c52", - "consumerGroupName": "$Default", - "inputSerialization": { - "type": "Json", - "properties": { - "encoding": "UTF8" - } - } - }, - "status": "Running", - "error": null - }, - { - "id": "e2886002-d696-4c05-969c-51361365cc24", - "name": "AzureIoTHubSource", - "type": "AzureIoTHub", - "properties": { - "dataConnectionId": "8c500070-073f-4a88-b478-8fabe1941c52", - "consumerGroupName": "$Default", - "inputSerialization": { - "type": "Json", - "properties": { - "encoding": "UTF8" - } - } - }, - "status": "Running", - "error": null - }, - { - "id": "0d9bf4db-bc7f-4854-8579-6fdf244ed503", - "name": "CustomEndpointSource", - "type": "CustomEndpoint", - "properties": {}, - "status": "Running", - "error": null - }, - { - "id": "19258e62-4de9-4c52-b45e-71502dc2ddea", - "name": "SampleDataSource", - "type": "SimpleData", - "properties": { - "sampleType": "Bicycles" - }, - "status": "Running", - "error": null - }, - { - "id": "7afaa265-1d67-416f-8183-e6e1b1ebb4ea", - "name": "AmazonKinesisSource", - "type": "AmazonKinesis", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "region": "us-east-1" - }, - "status": "Running", - "error": null - }, - { - "id": "d020dd19-e84c-42e1-b4be-87e58145e1b5", - "name": "AmazonMSKKafkaSource", - "type": "AmazonMSKKafka", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "topic": "topic", - "consumerGroupName": "consumerGroupName", - "autoOffsetReset": "Earliest", - "saslMechanism": "PLAIN", - "securityProtocol": "SASL_PLAINTEXT" - }, - "status": "Running", - "error": null - }, - { - "id": "03a6dd4a-4627-422f-a287-2ccd7daf903d", - "name": "ApacheKafkaSource", - "type": "ApacheKafka", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "topic": "topic", - "consumerGroupName": "consumerGroupName", - "autoOffsetReset": "Latest", - "saslMechanism": "SCRAM-SHA-512", - "securityProtocol": "SASL_SSL" - }, - "status": "Running", - "error": null - }, - { - "id": "6f493321-6c12-40c6-9980-c2aa38804829", - "name": "ConfluentCloudSource", - "type": "ConfluentCloud", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "topic": "topic", - "consumerGroupName": "consumerGroupName", - "autoOffsetReset": "Earliest" - }, - "status": "Running", - "error": null - }, - { - "id": "e7f88779-0349-47e3-bead-85afc9d3c9a4", - "name": "AzureCosmosDBCDCSource", - "type": "AzureCosmosDBCDC", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "containerName": "containerName", - "databaseName": "databaseName", - "offsetPolicy": "Earliest" - }, - "status": "Running", - "error": null - }, - { - "id": "da5ed80d-c672-4809-a7ac-6224aa2ab2c7", - "name": "AzureSQLDBCDCSource", - "type": "AzureSQLDBCDC", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "tableName": "tableName" - }, - "status": "Running", - "error": null - }, - { - "id": "745e401f-aac6-463f-b107-c336a2440abe", - "name": "AzureSQLMIDBCDCSource", - "type": "AzureSQLMIDBCDC", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "tableName": "tableName" - }, - "status": "Running", - "error": null - }, - { - "id": "759842ab-a968-498d-9f37-f46297da8b07", - "name": "SQLServerOnVMDBCDCSource", - "type": "SQLServerOnVMDBCDC", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "tableName": "tableName" - }, - "status": "Running", - "error": null - }, - { - "id": "9791cd2a-19fb-4991-b878-2b061420a460", - "name": "MySQLCDCSource", - "type": "MySQLCDC", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "tableName": "tableName", - "serverId": 9, - "port": 3306 - }, - "status": "Running", - "error": null - }, - { - "id": "57b3394b-bcf3-479a-952b-22a815e1d684", - "name": "PostgreSQLCDCSource", - "type": "PostgreSQLCDC", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "tableName": "tableName", - "slotName": "slotName", - "port": 5432 - }, - "status": "Running", - "error": null - }, - { - "id": "d5f702ca-8b2b-4ac5-88e7-50697cb1b207", - "name": "GooglePubSubSource", - "type": "GooglePubSub", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37" - }, - "status": "Running", - "error": null - } - ], - "destinations": [ - { - "id": "4642073b-c216-4675-a17c-ed2e75756330", - "name": "CustomEndpointDestination", - "type": "CustomEndpoint", - "properties": {}, - "inputNodes": [ - { - "name": "DerivedStreamName" - } - ], - "status": "Running", - "error": null - }, - { - "id": "e1e2d0cc-87e5-46d9-977d-2a8eede7bef0", - "name": "LakehouseDestination", - "type": "Lakehouse", - "properties": { - "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", - "itemId": "ee579458-85ea-4652-bd77-5c7d7c298b2a", - "schema": "dbo", - "deltaTable": "deltaTable", - "minimumRows": 100000, - "maximumDurationInSeconds": 120, - "inputSerialization": { - "type": "Json", - "properties": { - "encoding": "UTF8" - } - } - }, - "inputNodes": [ - { - "name": "DerivedStreamName" - } - ], - "status": "Running", - "error": null - }, - { - "id": "49b5d6ec-f8af-4ae9-a4d6-5e94645efe1f", - "name": "EventhouseProcessedIngestionModeDestination", - "type": "Eventhouse", - "properties": { - "dataIngestionMode": "ProcessedIngestion", - "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", - "itemId": "4c8c3353-9652-4567-b8f3-eb585ef01ba9", - "databaseName": "databaseName", - "tableName": "tableName", - "inputSerialization": { - "type": "Json", - "properties": { - "encoding": "UTF8" - } - } - }, - "inputNodes": [ - { - "name": "EventStreamName-stream" - } - ], - "status": "Running", - "error": null - }, - { - "id": "c0ca1c2a-b8c5-482c-98da-40088f988e9c", - "name": "EventhouseDirectIngestionModeDestination", - "type": "Eventhouse", - "properties": { - "dataIngestionMode": "DirectIngestion", - "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", - "itemId": "4c8c3353-9652-4567-b8f3-eb585ef01ba9", - "connectionName": "connectionName", - "mappingRuleName": "mappingRuleName" - }, - "inputNodes": [ - { - "name": "EventStreamName-stream" - } - ], - "status": "External", - "error": null - } - ], - "streams": [ - { - "id": "8eff3cbe-f452-4d7f-bc2d-f35b4359c917", - "name": "Eventstream-stream", - "type": "DefaultStream", - "properties": {}, - "inputNodes": [ - { - "name": "AzureEventHubSource" - } - ] - }, - { - "id": "0f6f0dd8-9de2-48e2-92e7-e15b755b22a6", - "name": "DerivedStreamName", - "type": "DerivedStream", - "properties": { - "inputSerialization": { - "type": "Json", - "properties": { - "encoding": "UTF8" - } - } - }, - "inputNodes": [ - { - "name": "FilterName" - } - ] - } - ], - "operators": [ - { - "name": "FilterName", - "type": "Filter", - "inputNodes": [ - { - "name": "EventStreamName-stream" - } - ], - "properties": { - "conditions": [ - { - "column": { - "node": "nodeName", - "columnName": "columnName", - "columnPathSegments": [ - "path", - "to", - "column" - ] - }, - "operator": "Equals", - "value": { - "dataType": "nvarchar(max)", - "value": "stringValue" + "body": { + "compatibilityLevel": "1.0", + "sources": [ + { + "id": "514d0e11-cf65-44fb-a292-fc88a2a78618", + "name": "AzureEventHubSource", + "type": "AzureEventHub", + "properties": { + "dataConnectionId": "9c500070-073f-4a88-b478-8fabe1941c52", + "consumerGroupName": "$Default", + "inputSerialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" } } + }, + "status": "Running", + "error": null + }, + { + "id": "e2886002-d696-4c05-969c-51361365cc24", + "name": "AzureIoTHubSource", + "type": "AzureIoTHub", + "properties": { + "dataConnectionId": "8c500070-073f-4a88-b478-8fabe1941c52", + "consumerGroupName": "$Default", + "inputSerialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + }, + "status": "Running", + "error": null + }, + { + "id": "0d9bf4db-bc7f-4854-8579-6fdf244ed503", + "name": "CustomEndpointSource", + "type": "CustomEndpoint", + "properties": {}, + "status": "Running", + "error": null + }, + { + "id": "19258e62-4de9-4c52-b45e-71502dc2ddea", + "name": "SampleDataSource", + "type": "SampleData", + "properties": { + "type": "Bicycles" + }, + "status": "Running", + "error": null + }, + { + "id": "7afaa265-1d67-416f-8183-e6e1b1ebb4ea", + "name": "AmazonKinesisSource", + "type": "AmazonKinesis", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "region": "us-east-1" + }, + "status": "Running", + "error": null + }, + { + "id": "d020dd19-e84c-42e1-b4be-87e58145e1b5", + "name": "AmazonMSKKafkaSource", + "type": "AmazonMSKKafka", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "topic": "topic", + "consumerGroupName": "consumerGroupName", + "autoOffsetReset": "Earliest", + "saslMechanism": "PLAIN", + "securityProtocol": "SASL_PLAINTEXT" + }, + "status": "Running", + "error": null + }, + { + "id": "03a6dd4a-4627-422f-a287-2ccd7daf903d", + "name": "ApacheKafkaSource", + "type": "ApacheKafka", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "topic": "topic", + "consumerGroupName": "consumerGroupName", + "autoOffsetReset": "Latest", + "saslMechanism": "SCRAM-SHA-512", + "securityProtocol": "SASL_SSL" + }, + "status": "Running", + "error": null + }, + { + "id": "6f493321-6c12-40c6-9980-c2aa38804829", + "name": "ConfluentCloudSource", + "type": "ConfluentCloud", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "topic": "topic", + "consumerGroupName": "consumerGroupName", + "autoOffsetReset": "Earliest" + }, + "status": "Running", + "error": null + }, + { + "id": "e7f88779-0349-47e3-bead-85afc9d3c9a4", + "name": "AzureCosmosDBCDCSource", + "type": "AzureCosmosDBCDC", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "containerName": "containerName", + "databaseName": "databaseName", + "offsetPolicy": "Earliest" + }, + "status": "Running", + "error": null + }, + { + "id": "da5ed80d-c672-4809-a7ac-6224aa2ab2c7", + "name": "AzureSQLDBCDCSource", + "type": "AzureSQLDBCDC", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "tableName": "tableName" + }, + "status": "Running", + "error": null + }, + { + "id": "745e401f-aac6-463f-b107-c336a2440abe", + "name": "AzureSQLMIDBCDCSource", + "type": "AzureSQLMIDBCDC", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "tableName": "tableName" + }, + "status": "Running", + "error": null + }, + { + "id": "759842ab-a968-498d-9f37-f46297da8b07", + "name": "SQLServerOnVMDBCDCSource", + "type": "SQLServerOnVMDBCDC", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "tableName": "tableName" + }, + "status": "Running", + "error": null + }, + { + "id": "9791cd2a-19fb-4991-b878-2b061420a460", + "name": "MySQLCDCSource", + "type": "MySQLCDC", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "tableName": "tableName", + "serverId": 9, + "port": 3306 + }, + "status": "Running", + "error": null + }, + { + "id": "57b3394b-bcf3-479a-952b-22a815e1d684", + "name": "PostgreSQLCDCSource", + "type": "PostgreSQLCDC", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "tableName": "tableName", + "slotName": "slotName", + "port": 5432 + }, + "status": "Running", + "error": null + }, + { + "id": "d5f702ca-8b2b-4ac5-88e7-50697cb1b207", + "name": "GooglePubSubSource", + "type": "GooglePubSub", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37" + }, + "status": "Running", + "error": null + } + ], + "destinations": [ + { + "id": "4642073b-c216-4675-a17c-ed2e75756330", + "name": "CustomEndpointDestination", + "type": "CustomEndpoint", + "properties": {}, + "inputNodes": [ + { + "name": "DerivedStreamName" + } + ], + "status": "Running", + "error": null + }, + { + "id": "e1e2d0cc-87e5-46d9-977d-2a8eede7bef0", + "name": "LakehouseDestination", + "type": "Lakehouse", + "properties": { + "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", + "itemId": "ee579458-85ea-4652-bd77-5c7d7c298b2a", + "schema": "dbo", + "deltaTable": "deltaTable", + "minimumRows": 100000, + "maximumDurationInSeconds": 120, + "inputSerialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + }, + "inputNodes": [ + { + "name": "DerivedStreamName" + } + ], + "status": "Running", + "error": null + }, + { + "id": "49b5d6ec-f8af-4ae9-a4d6-5e94645efe1f", + "name": "EventhouseProcessedIngestionModeDestination", + "type": "Eventhouse", + "properties": { + "dataIngestionMode": "ProcessedIngestion", + "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", + "itemId": "4c8c3353-9652-4567-b8f3-eb585ef01ba9", + "databaseName": "databaseName", + "tableName": "tableName", + "inputSerialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + }, + "inputNodes": [ + { + "name": "EventStreamName-stream" + } + ], + "status": "Running", + "error": null + }, + { + "id": "c0ca1c2a-b8c5-482c-98da-40088f988e9c", + "name": "EventhouseDirectIngestionModeDestination", + "type": "Eventhouse", + "properties": { + "dataIngestionMode": "DirectIngestion", + "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", + "itemId": "4c8c3353-9652-4567-b8f3-eb585ef01ba9", + "connectionName": "connectionName", + "mappingRuleName": "mappingRuleName" + }, + "inputNodes": [ + { + "name": "EventStreamName-stream" + } + ], + "status": "External", + "error": null + } + ], + "streams": [ + { + "id": "8eff3cbe-f452-4d7f-bc2d-f35b4359c917", + "name": "Eventstream-stream", + "type": "DefaultStream", + "properties": {}, + "inputNodes": [ + { + "name": "AzureEventHubSource" + } ] }, - "inputSchemas": [ - { - "name": "EventStreamName-stream", - "schema": { - "columns": [ - { - "name": "BikepointID", - "type": "Nvarchar(max)", - "fields": null, - "items": null - }, - { - "name": "Street", - "type": "Nvarchar(max)", - "fields": null, - "items": null - }, - { - "name": "Neighbourhood", - "type": "Nvarchar(max)", - "fields": null, - "items": null - }, - { - "name": "Latitude", - "type": "Float", - "fields": null, - "items": null - }, - { - "name": "Longitude", - "type": "Float", - "fields": null, - "items": null - }, - { - "name": "No_Bikes", - "type": "BigInt", - "fields": null, - "items": null - }, - { - "name": "No_Empty_Docks", - "type": "BigInt", - "fields": null, - "items": null - }, - { - "name": "Record_Example", - "type": "Record", - "fields": [ - { - "name": "column1", - "type": "BigInt" - }, - { - "name": "column2", - "type": "Nvarchar(max)" - } + { + "id": "0f6f0dd8-9de2-48e2-92e7-e15b755b22a6", + "name": "DerivedStreamName", + "type": "DerivedStream", + "properties": { + "inputSerialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + }, + "inputNodes": [ + { + "name": "FilterName" + } + ] + } + ], + "operators": [ + { + "name": "FilterName", + "type": "Filter", + "inputNodes": [ + { + "name": "EventStreamName-stream" + } + ], + "properties": { + "conditions": [ + { + "column": { + "node": "nodeName", + "columnName": "columnName", + "columnPathSegments": [ + "path", + "to", + "column" ] }, - { - "name": "Array_Example", - "type": "Array", - "items": { - "type": "BigInt" - } + "operatorType": "Equals", + "value": { + "dataType": "Nvarchar(max)", + "value": "stringValue" } - ] - } - } - ] - }, - { - "name": "JoinerName", - "type": "Join", - "inputNodes": [ - { - "name": "FilterName" - }, - { - "name": "DerivedStreamName" - } - ], - "properties": { - "joinType": "Inner", - "joinOn": [ - { - "left": { - "node": "leftNodeName", - "columnName": "leftColumnName" - }, - "right": { - "node": "rightNodeName", - "columnName": "rightColumnName" } - } - ], - "duration": { - "value": 1, - "unit": "Minute" - } - } - }, - { - "name": "FieldsManagerName", - "type": "ManageFields", - "inputNodes": [ - { - "name": "DerivedStreamName" - } - ], - "properties": { - "columns": [ + ] + }, + "inputSchemas": [ { - "type": "Rename", - "properties": { - "column": { - "node": "renameNode", - "columnName": "renameColumn" - } - }, - "alias": "renameAlias" - }, - { - "type": "Cast", - "properties": { - "targetDataType": "BigInt", - "column": { - "node": "castNode", - "columnName": "castColumn" - } - }, - "alias": "castAlias" - }, - { - "type": "FunctionCall", - "properties": { - "functionName": "CharIndex", - "arguments": [ - "a", + "name": "EventStreamName-stream", + "schema": { + "columns": [ { - "node": "functionCallNode", - "columnName": "functionCallColumn" + "name": "BikepointID", + "type": "Nvarchar(max)", + "fields": null, + "items": null }, - 1 + { + "name": "Street", + "type": "Nvarchar(max)", + "fields": null, + "items": null + }, + { + "name": "Neighbourhood", + "type": "Nvarchar(max)", + "fields": null, + "items": null + }, + { + "name": "Latitude", + "type": "Float", + "fields": null, + "items": null + }, + { + "name": "Longitude", + "type": "Float", + "fields": null, + "items": null + }, + { + "name": "No_Bikes", + "type": "BigInt", + "fields": null, + "items": null + }, + { + "name": "No_Empty_Docks", + "type": "BigInt", + "fields": null, + "items": null + }, + { + "name": "Record_Example", + "type": "Record", + "fields": [ + { + "name": "column1", + "type": "BigInt" + }, + { + "name": "column2", + "type": "Nvarchar(max)" + } + ] + }, + { + "name": "Array_Example", + "type": "Array", + "items": { + "type": "BigInt" + } + } ] - }, - "alias": "indexOf" + } } ] }, - "inputSchemas": [ - { - "name": "DerivedStreamName", - "schema": { - "columns": [ - { - "name": "BikepointID", - "type": "Nvarchar(max)", - "fields": null, - "items": null + { + "name": "JoinerName", + "type": "Join", + "inputNodes": [ + { + "name": "FilterName" + }, + { + "name": "DerivedStreamName" + } + ], + "properties": { + "joinType": "Inner", + "joinOn": [ + { + "left": { + "node": "leftNodeName", + "columnName": "leftColumnName" }, - { - "name": "Street", - "type": "Nvarchar(max)", - "fields": null, - "items": null - }, - { - "name": "Neighbourhood", - "type": "Nvarchar(max)", - "fields": null, - "items": null - }, - { - "name": "Latitude", - "type": "Float", - "fields": null, - "items": null - }, - { - "name": "Longitude", - "type": "Float", - "fields": null, - "items": null - }, - { - "name": "No_Bikes", - "type": "BigInt", - "fields": null, - "items": null - }, - { - "name": "No_Empty_Docks", - "type": "BigInt", - "fields": null, - "items": null + "right": { + "node": "rightNodeName", + "columnName": "rightColumnName" } - ] + } + ], + "duration": { + "value": 1, + "unit": "Minute" } } - ] - }, - { - "name": "AggregatorName", - "type": "Aggregate", - "inputNodes": [ - { - "name": "DerivedStreamName" - } - ], - "properties": { - "aggregations": [ + }, + { + "name": "FieldsManagerName", + "type": "ManageFields", + "inputNodes": [ { - "aggregationFunction": "Average", - "column": { - "node": "aggregationNode", - "columnName": "aggregationColumn" + "name": "DerivedStreamName" + } + ], + "properties": { + "columns": [ + { + "type": "Rename", + "properties": { + "column": { + "node": "renameNode", + "columnName": "renameColumn" + } + }, + "alias": "renameAlias" }, - "alias": "aggregatedAlias", - "partitionBy": [ - { - "node": "partitionByNode", - "columnName": "partitionByColumn" - } - ], - "duration": { - "value": 1, - "unit": "Minute" + { + "type": "Cast", + "properties": { + "targetDataType": "BigInt", + "column": { + "node": "castNode", + "columnName": "castColumn" + } + }, + "alias": "castAlias" + }, + { + "type": "FunctionCall", + "properties": { + "functionName": "CharIndex", + "arguments": [ + "a", + { + "node": "functionCallNode", + "columnName": "functionCallColumn" + }, + 1 + ] + }, + "alias": "indexOf" + } + ] + }, + "inputSchemas": [ + { + "name": "DerivedStreamName", + "schema": { + "columns": [ + { + "name": "BikepointID", + "type": "Nvarchar(max)", + "fields": null, + "items": null + }, + { + "name": "Street", + "type": "Nvarchar(max)", + "fields": null, + "items": null + }, + { + "name": "Neighbourhood", + "type": "Nvarchar(max)", + "fields": null, + "items": null + }, + { + "name": "Latitude", + "type": "Float", + "fields": null, + "items": null + }, + { + "name": "Longitude", + "type": "Float", + "fields": null, + "items": null + }, + { + "name": "No_Bikes", + "type": "BigInt", + "fields": null, + "items": null + }, + { + "name": "No_Empty_Docks", + "type": "BigInt", + "fields": null, + "items": null + } + ] } } ] - } - }, - { - "name": "GroupByName", - "type": "GroupBy", - "inputNodes": [ - { - "name": "DerivedStreamName" + }, + { + "name": "AggregatorName", + "type": "Aggregate", + "inputNodes": [ + { + "name": "DerivedStreamName" + } + ], + "properties": { + "aggregations": [ + { + "aggregationFunction": "Average", + "column": { + "node": "aggregationNode", + "columnName": "aggregationColumn" + }, + "alias": "aggregatedAlias", + "partitionBy": [ + { + "node": "partitionByNode", + "columnName": "partitionByColumn" + } + ], + "duration": { + "value": 1, + "unit": "Minute" + } + } + ] } - ], - "properties": { - "aggregations": [ + }, + { + "name": "GroupByName", + "type": "GroupBy", + "inputNodes": [ { - "aggregationFunction": "Average", - "column": { - "node": "groupByAggregationNode", - "columnName": "groupByAggregationColumn" - }, - "alias": "groupByAggregationAlias" + "name": "DerivedStreamName" } ], - "groupBy": [ - { - "node": "groupByNode", - "columnName": "groupByColumn" - } - ], - "window": { - "type": "Tumbling", - "properties": { - "duration": { - "value": 5, - "unit": "Minute" - }, - "offset": { - "value": 1, - "unit": "Minute" + "properties": { + "aggregations": [ + { + "aggregationFunction": "Average", + "column": { + "node": "groupByAggregationNode", + "columnName": "groupByAggregationColumn" + }, + "alias": "groupByAggregationAlias" + } + ], + "groupBy": [ + { + "node": "groupByNode", + "columnName": "groupByColumn" + } + ], + "window": { + "type": "Tumbling", + "properties": { + "duration": { + "value": 5, + "unit": "Minute" + }, + "offset": { + "value": 1, + "unit": "Minute" + } } } } - } - }, - { - "name": "UnionName", - "type": "Union", - "inputNodes": [ - { - "name": "FilterName" - }, - { - "name": "GroupByName" - } - ], - "properties": {} - }, - { - "name": "ExpansionName", - "type": "Expand", - "inputNodes": [ - { - "name": "MyNode" - } - ], - "properties": { - "column": [ + }, + { + "name": "UnionName", + "type": "Union", + "inputNodes": [ { - "node": "expansionNode", - "columnName": "expansionColumn" + "name": "FilterName" + }, + { + "name": "GroupByName" } ], - "ignoreMissingOrEmpty": true + "properties": {} + }, + { + "name": "ExpansionName", + "type": "Expand", + "inputNodes": [ + { + "name": "MyNode" + } + ], + "properties": { + "column": [ + { + "node": "expansionNode", + "columnName": "expansionColumn" + } + ], + "ignoreMissingOrEmpty": true + } } - } - ] + ] + } } } } \ No newline at end of file diff --git a/eventstream/swagger.json b/eventstream/swagger.json index f8f4fac..1c9701c 100644 --- a/eventstream/swagger.json +++ b/eventstream/swagger.json @@ -720,8 +720,8 @@ }, "/workspaces/{workspaceId}/eventstreams/{eventstreamId}/sources/{sourceId}/connection": { "get": { - "summary": "Returns the connection information of specified source of the eventstream. Only custom endpoints sources are supported.", - "description": "## Permissions\n\n The caller must have *contributor* or higher workspace role. \n\n## Required Delegated Scopes \n\n Eventstream.ReadWrite.All or Item.ReadWrite.All\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", + "summary": "Returns the connection information of specified source of the eventstream.", + "description": "## Permissions\n\n The caller must have *contributor* or higher workspace role. \n\n## Required Delegated Scopes \n\n Eventstream.ReadWrite.All or Item.ReadWrite.All\n\n## Limitations\n\n Only custom endpoints sources are supported.\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Topology" ], @@ -778,8 +778,8 @@ }, "/workspaces/{workspaceId}/eventstreams/{eventstreamId}/destinations/{destinationId}/connection": { "get": { - "summary": "Returns the connection information of a specified destination of the eventstream. Only custom endpoints destinations are supported.", - "description": "## Permissions\n\n The caller must have *contributor* or higher workspace role. \n\n## Required Delegated Scopes \n\n Eventstream.ReadWrite.All or Item.ReadWrite.All\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", + "summary": "Returns the connection information of a specified destination of the eventstream.", + "description": "## Permissions\n\n The caller must have *contributor* or higher workspace role. \n\n## Required Delegated Scopes \n\n Eventstream.ReadWrite.All or Item.ReadWrite.All\n\n## Limitations\n\n Only custom endpoints destinations are supported.\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Topology" ], diff --git a/lakehouse/definitions.json b/lakehouse/definitions.json index bb57a1f..4476823 100644 --- a/lakehouse/definitions.json +++ b/lakehouse/definitions.json @@ -5,518 +5,548 @@ "version": "v1" }, "paths": {}, - "definitions": { - "Lakehouses": { - "description": "A list of lakehouses.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "A list of lakehouses.", - "type": "array", - "items": { - "$ref": "#/definitions/Lakehouse" - } - } - }, - "allOf": [ - { - "$ref": "../common/definitions.json#/definitions/PaginatedResponse" - } - ] - }, - "Lakehouse": { - "description": "A lakehouse item.", - "type": "object", - "required": [ - "type" - ], - "allOf": [ - { - "$ref": "../common/definitions.json#/definitions/Item" - } - ], - "properties": { - "properties": { - "description": "The lakehouse properties.", - "$ref": "#/definitions/LakehouseProperties" - } - } - }, - "LakehouseProperties": { - "required": [ - "oneLakeTablesPath", - "oneLakeFilesPath" - ], - "description": "The lakehouse properties.", - "type": "object", - "properties": { - "oneLakeTablesPath": { - "description": "OneLake path to the Lakehouse tables directory.", - "type": "string" - }, - "oneLakeFilesPath": { - "description": "OneLake path to the Lakehouse files directory.", - "type": "string" - }, - "sqlEndpointProperties": { - "description": "An object containing the properties of the SQL endpoint.", - "$ref": "#/definitions/SqlEndpointProperties" - }, - "defaultSchema": { - "description": "Default schema of the lakehouse. This property is returned only for schema enabled lakehouse.", - "type": "string" - } - } - }, - "SqlEndpointProperties": { - "required": [ - "provisioningStatus" - ], - "description": "An object containing the properties of the SQL endpoint.", - "type": "object", - "properties": { - "id": { - "description": "SQL endpoint ID.", - "type": "string" - }, - "connectionString": { - "description": "SQL endpoint connection string.", - "type": "string" - }, - "provisioningStatus": { - "description": "The SQL endpoint provisioning status.", - "$ref": "#/definitions/SqlEndpointProvisioningStatus" - } - } - }, - "SqlEndpointProvisioningStatus": { - "type": "string", - "description": "The SQL endpoint provisioning status type. Additional `SqlEndpointProvisioningStatus` types may be added over time.", - "enum": [ - "InProgress", - "Success", - "Failed" - ], - "x-ms-enum": { - "name": "SqlEndpointProvisioningStatus", - "modelAsString": true, - "values": [ - { - "value": "InProgress", - "description": "SQL endpoint provisioning is in progress." - }, - { - "value": "Success", - "description": "SQL endpoint provisioning succeeded." - }, - { - "value": "Failed", - "description": "SQL endpoint provisioning failed." - } - ] - } - }, - "CreateLakehouseRequest": { - "description": "Create lakehouse request payload.", - "required": [ - "displayName" - ], - "properties": { - "displayName": { - "description": "The lakehouse display name. The display name must follow naming rules according to item type.", - "type": "string", - "readOnly": false - }, - "description": { - "description": "The lakehouse description. Maximum length is 256 characters.", - "type": "string", - "readOnly": false - }, - "folderId": { - "description": "The folder ID. If not specified or null, the lakehouse is created with the workspace as its folder.", - "type": "string", - "format": "uuid", - "readOnly": false - }, - "creationPayload": { - "description": "The lakehouse creation payload.", - "$ref": "#/definitions/LakehouseCreationPayload", - "readOnly": false - } - } - }, - "UpdateLakehouseDefinitionRequest": { - "description": "Update Lakehouse public definition request payload.", - "required": [ - "definition" - ], - "properties": { - "definition": { - "$ref": "#/definitions/LakehouseDefinition" - } - } - }, - "LakehouseDefinitionResponse": { - "description": "Lakehouse public definition response.", - "required": [ - "definition" - ], - "properties": { - "definition": { - "$ref": "#/definitions/LakehouseDefinition", - "readOnly": true - } - } - }, - "LakehouseDefinition": { - "description": "Lakehouse public definition object.", - "type": "object", - "required": [ - "parts" - ], - "properties": { - "format": { - "description": "The format of the item definition.", - "type": "string", - "readOnly": false - }, - "parts": { - "description": "A list of definition parts.", - "type": "array", - "items": { - "$ref": "#/definitions/LakehouseDefinitionPart" - }, - "readOnly": false - } - } - }, - "LakehouseDefinitionPart": { - "description": "Lakehouse definition part object.", - "type": "object", - "properties": { - "path": { - "description": "The lakehouse part path.", - "type": "string", - "readOnly": false - }, - "payload": { - "description": "The lakehouse part payload.", - "type": "string", - "readOnly": false - }, - "payloadType": { - "description": "The payload type.", - "$ref": "../common/definitions.json#/definitions/PayloadType", - "readOnly": false - } - } - }, - "UpdateLakehouseRequest": { - "description": "Update lakehouse request.", - "properties": { - "displayName": { - "description": "The lakehouse display name. The display name must follow naming rules according to item type.", - "type": "string", - "readOnly": false - }, - "description": { - "description": "The lakehouse description. Maximum length is 256 characters.", - "type": "string", - "readOnly": false - } - } - }, - "LakehouseCreationPayload": { - "description": "**(Preview)** Lakehouse item payload. This property is currently required due to the schema enabled lakehouse being in preview. It might become redundant upon General Availability (GA).", - "type": "object", - "required": [ - "enableSchemas" - ], - "properties": { - "enableSchemas": { - "description": "Create a schema enabled lakehouse when set to true. Only 'true' is allowed.", - "type": "boolean" - } - } - }, - "Tables": { - "required": [ - "data" - ], - "description": "A paginated list of tables.", - "type": "object", - "properties": { - "continuationToken": { - "description": "Token to get the next page of results.", - "type": "string" - }, - "continuationUri": { - "description": "The URI of the next chunk in the result set.", - "type": "string" - }, - "data": { - "description": "List of tables.", - "type": "array", - "items": { - "$ref": "#/definitions/Table" - } - } - } - }, - "Table": { - "required": [ - "type", - "name", - "location", - "format" - ], - "description": "Table information.", - "type": "object", - "properties": { - "type": { - "description": "Table type.", - "$ref": "#/definitions/TableType" - }, - "name": { - "type": "string", - "description": "Table name." - }, - "location": { - "type": "string", - "description": "Table location." - }, - "format": { - "type": "string", - "description": "Table format." - } - } - }, - "TableType": { - "type": "string", - "description": "The table type. Additional `TableType` types may be added over time.", - "enum": [ - "Managed", - "External" - ], - "x-ms-enum": { - "name": "TableType", - "modelAsString": true, - "values": [ - { - "value": "Managed", - "description": "Managed table." - }, - { - "value": "External", - "description": "External table." - } - ] - } - }, - "LoadTableRequest": { - "type": "object", - "description": "Represents a load table operation request.", - "required": [ - "relativePath", - "pathType" - ], - "properties": { - "relativePath": { - "pattern": "^Files(\\/[\\p{L}\\w]{1}([ \\p{L}\\w\\.-]*[\\p{L}\\w\\.-]{1})*)*$", - "type": "string", - "description": "The relative path of the data file or folder." - }, - "pathType": { - "type": "string", - "description": "The type of `relativePath`, either file or folder. Additional `PathType` types may be added over time.", - "enum": [ - "File", - "Folder" - ], - "x-ms-enum": { - "name": "PathType", - "modelAsString": true, - "values": [ - { - "value": "File", - "description": "load table from file." - }, - { - "value": "Folder", - "description": "load table from folder." - } - ] - } - }, - "fileExtension": { - "pattern": "^[a-zA-Z0-9_-]{1,16}$", - "type": "string", - "description": "The file extension of the data file." - }, - "mode": { - "type": "string", - "description": "The load table operation mode, overwrite or append. Additional mode types may be added over time.", - "enum": [ - "Overwrite", - "Append" - ], - "x-ms-enum": { - "name": "ModeType", - "modelAsString": true, - "values": [ - { - "value": "Overwrite", - "description": "load table in overwrite mode." - }, - { - "value": "Append", - "description": "load table in append mode." - } - ] - } - }, - "recursive": { - "type": "boolean", - "description": "Indicates whether to search data files recursively or not, when loading a table from a folder." - }, - "formatOptions": { - "$ref": "#/definitions/FileFormatOptions" - } - } - }, - "FileFormatOptions": { - "type": "object", - "description": "Abstract type of data file format options.", - "discriminator": "format", - "required": [ - "format" - ], - "properties": { - "format": { - "type": "string", - "description": "Data file format name. Additional file format types may be added over time.", - "enum": [ - "Csv", - "Parquet" - ], - "x-ms-enum": { - "name": "FileFormat", - "modelAsString": true, - "values": [ - { - "value": "Csv", - "description": "CSV format name." - }, - { - "value": "Parquet", - "description": "Parquet format name." - } - ] - } - } - } - }, - "Csv": { - "type": "object", - "description": "CSV format options for CSV files.", - "properties": { - "header": { - "type": "boolean", - "description": "This property indicates whether the CSV data file contains a header line or not." - }, - "delimiter": { - "pattern": "^[^\\(\\)\\[\\]\\{\\}'\"\"]{0,8}$", - "type": "string", - "description": "The delimiter of CSV file." - } - }, - "allOf": [ - { - "$ref": "#/definitions/FileFormatOptions" - } - ], - "x-ms-discriminator-value": "Csv" - }, - "Parquet": { - "type": "object", - "description": "Format options for Parquet files.", - "allOf": [ - { - "$ref": "#/definitions/FileFormatOptions" - } - ], - "x-ms-discriminator-value": "Parquet" - }, - "RunOnDemandTableMaintenanceRequest": { - "description": "Run on demand lakehouse table maintenance instance payload", - "type": "object", - "required": [ - "executionData" - ], - "properties": { - "executionData": { - "description": "Execution data to configure the [table maintenance](/fabric/data-engineering/lakehouse-table-maintenance) job.", - "$ref": "#/definitions/TableMaintenanceExecutionData" - } - } - }, - "TableMaintenanceExecutionData": { - "type": "object", - "description": "Run on demand lakehouse table maintenance instance payload", - "required": [ - "tableName" - ], - "properties": { - "tableName": { - "type": "string", - "description": "Name of the table to run maintenance on. Max length of 256 character alphanumeric string with underscores.", - "pattern": "^(?=[0-9]*[a-zA-Z_])[a-zA-Z0-9_]{1,256}$" - }, - "schemaName": { - "type": "string", - "description": "Name of the schema under which the table is created. This property is applicable only for a schema enabled Lakehouse. Max length of 128 character alphanumeric string with underscores.", - "pattern": "^(?=[0-9]*[a-zA-Z_])[a-zA-Z0-9_]{1,128}$" - }, - "optimizeSettings": { - "$ref": "#/definitions/OptimizeSettings", - "description": "Configures the optimization settings of the maintenance job. To skip table optimization, leave this parameter empty." - }, - "vacuumSettings": { - "$ref": "#/definitions/VacuumSettings", - "description": "Configures the [vacuum](https://docs.delta.io/latest/delta-utility.html#-delta-vacuum) settings of the maintenance job. To skip table vacuum, leave this parameter empty." - } - } - }, - "OptimizeSettings": { - "type": "object", - "description": "Table maintenance optimization settings.", - "properties": { - "zOrderBy": { - "type": "array", - "description": "A list of column names to Z-Order the data by. If not provided, Z-Ordering isn't applied.", - "items": { - "type": "string" - } - }, - "vOrder": { - "type": "boolean", - "description": "The [V-Order](/fabric/data-engineering/delta-optimization-and-v-order#what-is-v-order) settings. True - Enabled, False - Disabled." - } - } - }, - "VacuumSettings": { - "type": "object", - "description": "Table maintenance [vacuum](/fabric/data-engineering/lakehouse-table-maintenance#table-maintenance-operations) settings.", - "properties": { - "retentionPeriod": { - "type": "string", - "pattern": "^(\\d+:)?\\d{1,2}:\\d{1,2}:\\d{1,2}$", - "description": "Overrides the default retention period. Unreferenced files or data files associated with delta table versions older than the specified retention period are removed. This value should follow the pattern of `d:hh:mm:ss` where d is the number of days, hh is the number of hours between 00 and 23, mm is the number of minutes between 00 and 59, and ss is the number of seconds between 00 and 59." - } - } + "definitions": { + "Lakehouses": { + "description": "A list of lakehouses.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "A list of lakehouses.", + "type": "array", + "items": { + "$ref": "#/definitions/Lakehouse" + } } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "Lakehouse": { + "description": "A lakehouse item.", + "type": "object", + "required": [ + "type" + ], + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/Item" + } + ], + "properties": { + "properties": { + "description": "The lakehouse properties.", + "$ref": "#/definitions/LakehouseProperties" + } + } + }, + "LakehouseProperties": { + "required": [ + "oneLakeTablesPath", + "oneLakeFilesPath" + ], + "description": "The lakehouse properties.", + "type": "object", + "properties": { + "oneLakeTablesPath": { + "description": "OneLake path to the Lakehouse tables directory.", + "type": "string" + }, + "oneLakeFilesPath": { + "description": "OneLake path to the Lakehouse files directory.", + "type": "string" + }, + "sqlEndpointProperties": { + "description": "An object containing the properties of the SQL endpoint.", + "$ref": "#/definitions/SqlEndpointProperties" + }, + "defaultSchema": { + "description": "Default schema of the lakehouse. This property is returned only for schema enabled lakehouse.", + "type": "string" + } + } + }, + "SqlEndpointProperties": { + "required": [ + "provisioningStatus" + ], + "description": "An object containing the properties of the SQL endpoint.", + "type": "object", + "properties": { + "id": { + "description": "SQL endpoint ID.", + "type": "string" + }, + "connectionString": { + "description": "SQL endpoint connection string.", + "type": "string" + }, + "provisioningStatus": { + "description": "The SQL endpoint provisioning status.", + "$ref": "#/definitions/SqlEndpointProvisioningStatus" + } + } + }, + "SqlEndpointProvisioningStatus": { + "type": "string", + "description": "The SQL endpoint provisioning status type. Additional `SqlEndpointProvisioningStatus` types may be added over time.", + "enum": [ + "InProgress", + "Success", + "Failed" + ], + "x-ms-enum": { + "name": "SqlEndpointProvisioningStatus", + "modelAsString": true, + "values": [ + { + "value": "InProgress", + "description": "SQL endpoint provisioning is in progress." + }, + { + "value": "Success", + "description": "SQL endpoint provisioning succeeded." + }, + { + "value": "Failed", + "description": "SQL endpoint provisioning failed." + } + ] + } + }, + "CreateLakehouseRequest": { + "description": "Create lakehouse request payload.", + "required": [ + "displayName" + ], + "properties": { + "displayName": { + "description": "The lakehouse display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The lakehouse description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + }, + "folderId": { + "description": "The folder ID. If not specified or null, the lakehouse is created with the workspace as its folder.", + "type": "string", + "format": "uuid", + "readOnly": false + }, + "creationPayload": { + "description": "The lakehouse creation payload.", + "$ref": "#/definitions/LakehouseCreationPayload", + "readOnly": false + } + } + }, + "LakehouseRefreshMaterializedLakeViewsSchedule": { + "description": "Lakehouse refresh materialized lake views schedule.", + "type": "object", + "required": [ "id", "enabled" ], + "allOf": [ + { + "$ref": "../platform/definitions/platform.json#/definitions/ItemSchedule" + } + ] + }, + "CreateLakehouseRefreshMaterializedLakeViewsScheduleRequest": { + "description": "Create lakehouse refresh materialized lake views schedule request payload.", + "type": "object", + "required": [ "enabled", "configuration" ], + "allOf": [ + { + "$ref": "../platform/definitions/platform.json#/definitions/CreateScheduleRequest" + } + ] + }, + "UpdateLakehouseRefreshMaterializedLakeViewsScheduleRequest": { + "description": "Update lakehouse refresh materialized lake views schedule request payload.", + "type": "object", + "required": [ "enabled", "configuration" ], + "allOf": [ + { + "$ref": "../platform/definitions/platform.json#/definitions/UpdateScheduleRequest" + } + ] + }, + "UpdateLakehouseDefinitionRequest": { + "description": "Update Lakehouse public definition request payload.", + "required": [ + "definition" + ], + "properties": { + "definition": { + "$ref": "#/definitions/LakehouseDefinition" + } + } + }, + "LakehouseDefinitionResponse": { + "description": "Lakehouse public definition response.", + "required": [ + "definition" + ], + "properties": { + "definition": { + "$ref": "#/definitions/LakehouseDefinition", + "readOnly": true + } + } + }, + "LakehouseDefinition": { + "description": "Lakehouse public definition object.", + "type": "object", + "required": [ + "parts" + ], + "properties": { + "format": { + "description": "The format of the item definition.", + "type": "string", + "readOnly": false + }, + "parts": { + "description": "A list of definition parts.", + "type": "array", + "items": { + "$ref": "#/definitions/LakehouseDefinitionPart" + }, + "readOnly": false + } + } + }, + "LakehouseDefinitionPart": { + "description": "Lakehouse definition part object.", + "type": "object", + "properties": { + "path": { + "description": "The lakehouse part path.", + "type": "string", + "readOnly": false + }, + "payload": { + "description": "The lakehouse part payload.", + "type": "string", + "readOnly": false + }, + "payloadType": { + "description": "The payload type.", + "$ref": "../common/definitions.json#/definitions/PayloadType", + "readOnly": false + } + } + }, + "UpdateLakehouseRequest": { + "description": "Update lakehouse request.", + "properties": { + "displayName": { + "description": "The lakehouse display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The lakehouse description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + } + } + }, + "LakehouseCreationPayload": { + "description": "**(Preview)** Lakehouse item payload. This property is currently required due to the schema enabled lakehouse being in preview. It might become redundant upon General Availability (GA).", + "type": "object", + "required": [ + "enableSchemas" + ], + "properties": { + "enableSchemas": { + "description": "Create a schema enabled lakehouse when set to true. Only 'true' is allowed.", + "type": "boolean" + } + } + }, + "Tables": { + "required": [ + "data" + ], + "description": "A paginated list of tables.", + "type": "object", + "properties": { + "continuationToken": { + "description": "Token to get the next page of results.", + "type": "string" + }, + "continuationUri": { + "description": "The URI of the next chunk in the result set.", + "type": "string" + }, + "data": { + "description": "List of tables.", + "type": "array", + "items": { + "$ref": "#/definitions/Table" + } + } + } + }, + "Table": { + "required": [ + "type", + "name", + "location", + "format" + ], + "description": "Table information.", + "type": "object", + "properties": { + "type": { + "description": "Table type.", + "$ref": "#/definitions/TableType" + }, + "name": { + "type": "string", + "description": "Table name." + }, + "location": { + "type": "string", + "description": "Table location." + }, + "format": { + "type": "string", + "description": "Table format." + } + } + }, + "TableType": { + "type": "string", + "description": "The table type. Additional `TableType` types may be added over time.", + "enum": [ + "Managed", + "External" + ], + "x-ms-enum": { + "name": "TableType", + "modelAsString": true, + "values": [ + { + "value": "Managed", + "description": "Managed table." + }, + { + "value": "External", + "description": "External table." + } + ] + } + }, + "LoadTableRequest": { + "type": "object", + "description": "Represents a load table operation request.", + "required": [ + "relativePath", + "pathType" + ], + "properties": { + "relativePath": { + "pattern": "^Files(\\/[\\p{L}\\w]{1}([ \\p{L}\\w\\.-]*[\\p{L}\\w\\.-]{1})*)*$", + "type": "string", + "description": "The relative path of the data file or folder." + }, + "pathType": { + "type": "string", + "description": "The type of `relativePath`, either file or folder. Additional `PathType` types may be added over time.", + "enum": [ + "File", + "Folder" + ], + "x-ms-enum": { + "name": "PathType", + "modelAsString": true, + "values": [ + { + "value": "File", + "description": "load table from file." + }, + { + "value": "Folder", + "description": "load table from folder." + } + ] + } + }, + "fileExtension": { + "pattern": "^[a-zA-Z0-9_-]{1,16}$", + "type": "string", + "description": "The file extension of the data file." + }, + "mode": { + "type": "string", + "description": "The load table operation mode, overwrite or append. Additional mode types may be added over time.", + "enum": [ + "Overwrite", + "Append" + ], + "x-ms-enum": { + "name": "ModeType", + "modelAsString": true, + "values": [ + { + "value": "Overwrite", + "description": "load table in overwrite mode." + }, + { + "value": "Append", + "description": "load table in append mode." + } + ] + } + }, + "recursive": { + "type": "boolean", + "description": "Indicates whether to search data files recursively or not, when loading a table from a folder." + }, + "formatOptions": { + "$ref": "#/definitions/FileFormatOptions" + } + } + }, + "FileFormatOptions": { + "type": "object", + "description": "Abstract type of data file format options.", + "discriminator": "format", + "required": [ + "format" + ], + "properties": { + "format": { + "type": "string", + "description": "Data file format name. Additional file format types may be added over time.", + "enum": [ + "Csv", + "Parquet" + ], + "x-ms-enum": { + "name": "FileFormat", + "modelAsString": true, + "values": [ + { + "value": "Csv", + "description": "CSV format name." + }, + { + "value": "Parquet", + "description": "Parquet format name." + } + ] + } + } + } + }, + "Csv": { + "type": "object", + "description": "CSV format options for CSV files.", + "properties": { + "header": { + "type": "boolean", + "description": "This property indicates whether the CSV data file contains a header line or not." + }, + "delimiter": { + "pattern": "^[^\\(\\)\\[\\]\\{\\}'\"\"]{0,8}$", + "type": "string", + "description": "The delimiter of CSV file." + } + }, + "allOf": [ + { + "$ref": "#/definitions/FileFormatOptions" + } + ], + "x-ms-discriminator-value": "Csv" + }, + "Parquet": { + "type": "object", + "description": "Format options for Parquet files.", + "allOf": [ + { + "$ref": "#/definitions/FileFormatOptions" + } + ], + "x-ms-discriminator-value": "Parquet" + }, + "RunOnDemandTableMaintenanceRequest": { + "description": "Run on demand lakehouse table maintenance instance payload", + "type": "object", + "required": [ + "executionData" + ], + "properties": { + "executionData": { + "description": "Execution data to configure the [table maintenance](/fabric/data-engineering/lakehouse-table-maintenance) job.", + "$ref": "#/definitions/TableMaintenanceExecutionData" + } + } + }, + "TableMaintenanceExecutionData": { + "type": "object", + "description": "Run on demand lakehouse table maintenance instance payload", + "required": [ + "tableName" + ], + "properties": { + "tableName": { + "type": "string", + "description": "Name of the table to run maintenance on. Max length of 256 character alphanumeric string with underscores.", + "pattern": "^(?=[0-9]*[a-zA-Z_])[a-zA-Z0-9_]{1,256}$" + }, + "schemaName": { + "type": "string", + "description": "Name of the schema under which the table is created. This property is applicable only for a schema enabled Lakehouse. Max length of 128 character alphanumeric string with underscores.", + "pattern": "^(?=[0-9]*[a-zA-Z_])[a-zA-Z0-9_]{1,128}$" + }, + "optimizeSettings": { + "$ref": "#/definitions/OptimizeSettings", + "description": "Configures the optimization settings of the maintenance job. To skip table optimization, leave this parameter empty." + }, + "vacuumSettings": { + "$ref": "#/definitions/VacuumSettings", + "description": "Configures the [vacuum](https://docs.delta.io/latest/delta-utility.html#-delta-vacuum) settings of the maintenance job. To skip table vacuum, leave this parameter empty." + } + } + }, + "OptimizeSettings": { + "type": "object", + "description": "Table maintenance optimization settings.", + "properties": { + "zOrderBy": { + "type": "array", + "description": "A list of column names to Z-Order the data by. If not provided, Z-Ordering isn't applied.", + "items": { + "type": "string" + } + }, + "vOrder": { + "type": "boolean", + "description": "The [V-Order](/fabric/data-engineering/delta-optimization-and-v-order#what-is-v-order) settings. True - Enabled, False - Disabled." + } + } + }, + "VacuumSettings": { + "type": "object", + "description": "Table maintenance [vacuum](/fabric/data-engineering/lakehouse-table-maintenance#table-maintenance-operations) settings.", + "properties": { + "retentionPeriod": { + "type": "string", + "pattern": "^(\\d+:)?\\d{1,2}:\\d{1,2}:\\d{1,2}$", + "description": "Overrides the default retention period. Unreferenced files or data files associated with delta table versions older than the specified retention period are removed. This value should follow the pattern of `d:hh:mm:ss` where d is the number of days, hh is the number of hours between 00 and 23, mm is the number of minutes between 00 and 59, and ss is the number of seconds between 00 and 59." + } + } } -} \ No newline at end of file + } +} diff --git a/lakehouse/examples/CreateLakehouseRefreshMaterializedLakeViewsSchedule.json b/lakehouse/examples/CreateLakehouseRefreshMaterializedLakeViewsSchedule.json new file mode 100644 index 0000000..1b2eb31 --- /dev/null +++ b/lakehouse/examples/CreateLakehouseRefreshMaterializedLakeViewsSchedule.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "lakehouseId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "jobType": "RefreshMaterializedLakeViews", + "createScheduleRequest": { + "enabled": true, + "configuration": { + "startDateTime": "2025-04-28T00:00:00", + "endDateTime": "2025-04-30T23:59:00", + "localTimeZoneId": "Central Standard Time", + "type": "Cron", + "interval": 10 + } + } + }, + "responses": { + "201": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/workspaces/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1/items/dddddddd-9999-0000-1111-eeeeeeeeeeee/jobs/RefreshMaterializedLakeViews/schedules/bbbbbbbb-1111-2222-3333-cccccccccccc" + }, + "body": { + "id": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "enabled": true, + "createdDateTime": "2024-05-28T05:35:20.5366667", + "configuration": { + "startDateTime": "2025-04-28T00:00:00", + "endDateTime": "2025-04-30T23:59:00", + "localTimeZoneId": "Central Standard Time", + "type": "Cron", + "interval": 10 + }, + "owner": { + "id": "33dd33dd-ee44-ff55-aa66-77bb77bb77bb", + "type": "User" + } + } + } + } +} diff --git a/lakehouse/examples/DeleteLakehouseRefreshMaterializedLakeViewsSchedule.json b/lakehouse/examples/DeleteLakehouseRefreshMaterializedLakeViewsSchedule.json new file mode 100644 index 0000000..cd7017e --- /dev/null +++ b/lakehouse/examples/DeleteLakehouseRefreshMaterializedLakeViewsSchedule.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "lakehouseId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "scheduleId": "bbbbbbbb-1111-2222-3333-cccccccccccc" + }, + "responses": { + "200": {} + } +} diff --git a/lakehouse/examples/UpdateLakehouseRefreshMaterializedLakeViewsSchedule.json b/lakehouse/examples/UpdateLakehouseRefreshMaterializedLakeViewsSchedule.json new file mode 100644 index 0000000..513037b --- /dev/null +++ b/lakehouse/examples/UpdateLakehouseRefreshMaterializedLakeViewsSchedule.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "lakehouseId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "scheduleId": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "updateScheduleRequest": { + "enabled": false, + "configuration": { + "startDateTime": "2025-05-01T00:00:00", + "endDateTime": "2025-05-31T23:59:00", + "localTimeZoneId": "Pacific Standard Time", + "type": "Cron", + "interval": 15 + } + } + }, + "responses": { + "200": { + "body": { + "id": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "enabled": false, + "createdDateTime": "2024-05-28T05:35:20.5366667", + "configuration": { + "startDateTime": "2025-05-01T00:00:00", + "endDateTime": "2025-05-31T23:59:00", + "localTimeZoneId": "Pacific Standard Time", + "type": "Cron", + "interval": 15 + }, + "owner": { + "id": "33dd33dd-ee44-ff55-aa66-77bb77bb77bb", + "type": "User" + } + } + } + } +} diff --git a/lakehouse/swagger.json b/lakehouse/swagger.json index 1e6568e..75ddca4 100644 --- a/lakehouse/swagger.json +++ b/lakehouse/swagger.json @@ -528,6 +528,71 @@ } } }, + "/workspaces/{workspaceId}/lakehouses/{lakehouseId}/jobs/RefreshMaterializedLakeViews/schedules": { + "post": { + "summary": "Create a new Refresh MaterializedLakeViews schedule for a lakehouse.", + "description": "> [!NOTE]\n> This API is part of a Preview release and is provided for evaluation and development purposes only. It may change based on feedback and is not recommended for production use.\n\n## Required Delegated Scopes: \n\n(Lakehouse.Execute.All or Item.Execute.All) and (Lakehouse.ReadWrite.All or Item.ReadWrite.All)\n\n## Limitations \n- A lakehouse can create maximum 20 schedulers.\n- Materialized Lake View supports only one active refresh schedule per lineage.\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | No |\n\n## Interface", + "tags": [ + "BackgroundJobs" + ], + "operationId": "BackgroundJobs_CreateRefreshMaterializedLakeViewsSchedule", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "lakehouseId", + "description": "The lakehouse ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "createScheduleRequest", + "description": "A lakehouse refresh materialized lake views schedule create request.", + "schema": { + "$ref": "./definitions.json#/definitions/CreateLakehouseRefreshMaterializedLakeViewsScheduleRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully create the schedule.", + "headers": { + "Location": { + "description": "The URL of the newly created schedule.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/LakehouseRefreshMaterializedLakeViewsSchedule" + } + }, + "default": { + "description": "Common error codes:\n\n* InsufficientPrivileges - The caller does not have sufficient permissions to access the item\n\n* ItemNotFound - Requested item id not found\n\n* ScheduleExceedsLimit - The number of created schedules for the item exceeds the limit", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create lakehouse Refresh MaterializedLakeViews schedule example": { + "$ref": "./examples/CreateLakehouseRefreshMaterializedLakeViewsSchedule.json" + } + } + } + }, "/workspaces/{workspaceId}/lakehouses/{lakehouseId}/livySessions": { "get": { "tags": [ @@ -694,7 +759,7 @@ } }, "default": { - "description": "Common error codes:\n\n* MissingMinimalPermisisons - The caller does not have sufficient permissions to run job instance. n\n* InvalidJobType - The requested job type is invalid. \n\n* TooManyRequestsForJobs - The caller is making to many run on-demand job requests. \n\n* ItemNotFound - Requested item id not found.", + "description": "Common error codes:\n\n* MissingMinimalPermissions - The caller does not have sufficient permissions to run job instance. n\n* InvalidJobType - The requested job type is invalid. \n\n* TooManyRequestsForJobs - The caller is making too many run on-demand job requests. \n\n* ItemNotFound - Requested item id not found.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } @@ -706,6 +771,129 @@ } } } + }, + "/workspaces/{workspaceId}/lakehouses/{lakehouseId}/jobs/RefreshMaterializedLakeViews/schedules/{scheduleId}": { + "patch": { + "summary": "Update an existing Refresh MaterializedLakeViews schedule for a lakehouse.", + "description": "> [!NOTE]\n> This API is part of a Preview release and is provided for evaluation and development purposes only. It may change based on feedback and is not recommended for production use.\n\n## Required Delegated Scopes: \n\n(Lakehouse.Execute.All or Item.Execute.All) and (Lakehouse.ReadWrite.All or Item.ReadWrite.All)\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | No |\n\n## Interface", + "tags": [ + "BackgroundJobs" + ], + "operationId": "BackgroundJobs_UpdateRefreshMaterializedLakeViewsSchedule", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "lakehouseId", + "description": "The lakehouse ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "scheduleId", + "description": "The lakehouse schedule ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateScheduleRequest", + "description": "A lakehouse refresh materialized lake views schedule update request.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateLakehouseRefreshMaterializedLakeViewsScheduleRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/LakehouseRefreshMaterializedLakeViewsSchedule" + } + }, + "default": { + "description": "Common error codes:\n\n* InsufficientPrivileges - The caller does not have sufficient permissions to access the item\n\n* ItemNotFound - Requested item id not found", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update lakehouse Refresh MaterializedLakeViews schedule example": { + "$ref": "./examples/UpdateLakehouseRefreshMaterializedLakeViewsSchedule.json" + } + } + }, + "delete": { + "summary": "Delete an existing Refresh MaterializedLakeViews schedule for a lakehouse.", + "description": "> [!NOTE]\n> This API is part of a Preview release and is provided for evaluation and development purposes only. It may change based on feedback and is not recommended for production use.\n\n## Required Delegated Scopes\n\nLakehouse.ReadWrite.All or Item.ReadWrite.All\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | No |\n\n## Interface", + "tags": [ + "BackgroundJobs" + ], + "operationId": "BackgroundJobs_DeleteRefreshMaterializedLakeViewsSchedule", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "lakehouseId", + "description": "The lakehouse ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "scheduleId", + "description": "The lakehouse schedule ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* InsufficientPrivileges - The caller does not have sufficient permissions to access the item\n\n* ItemNotFound - Requested item ID not found", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete lakehouse Refresh MaterializedLakeViews schedule example": { + "$ref": "./examples/DeleteLakehouseRefreshMaterializedLakeViewsSchedule.json" + } + } + } } }, "responses": {}, diff --git a/platform/definitions/platform.json b/platform/definitions/platform.json index 891da08..c1df576 100644 --- a/platform/definitions/platform.json +++ b/platform/definitions/platform.json @@ -1949,6 +1949,7 @@ }, "UpdateScheduleRequest": { "description": "Update item schedule plan request payload.", + "type": "object", "required": [ "enabled", "configuration" ], "properties": { "enabled": { diff --git a/platform/examples/tags/ListTags.json b/platform/examples/tags/ListTags.json index 61d8622..516db9f 100644 --- a/platform/examples/tags/ListTags.json +++ b/platform/examples/tags/ListTags.json @@ -6,31 +6,55 @@ "value": [ { "id": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff", - "displayName": "Finance" + "displayName": "Finance", + "scope": { + "type": "Tenant" + } }, { "id": "b0bca781-003c-4041-b1c4-f94d34ba76d4", - "displayName": "Human resources" + "displayName": "Human resources", + "scope": { + "type": "Tenant" + } }, { "id": "6af5a1b6-bc4c-4c0a-b60d-30c68e6e3034", - "displayName": "Engineering P1" + "displayName": "Engineering P1", + "scope": { + "type": "Tenant" + } }, { "id": "6c00e8eb-51d4-46f7-8b90-7e98520ea7a0", - "displayName": "Marketing Q1" + "displayName": "Marketing Q1", + "scope": { + "type": "Tenant" + } }, { "id": "17df435d-9efd-48c1-a937-7d6fd70ab26a", - "displayName": "HR Sales Q1" + "displayName": "HR Sales Q1", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "fb765fe3-d404-4f24-9d67-5916449c4c50", - "displayName": "Root" + "displayName": "Root", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "bda31be4-7efe-4272-8b85-e1b2ff0f0592", - "displayName": "Legal EMEA" + "displayName": "Legal EMEA", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } } ] } diff --git a/platform/examples/tags/ListTagsWithContinuation.json b/platform/examples/tags/ListTagsWithContinuation.json index 5374883..c51345d 100644 --- a/platform/examples/tags/ListTagsWithContinuation.json +++ b/platform/examples/tags/ListTagsWithContinuation.json @@ -6,31 +6,55 @@ "value": [ { "id": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff", - "displayName": "Finance" + "displayName": "Finance", + "scope": { + "type": "Tenant" + } }, { "id": "b0bca781-003c-4041-b1c4-f94d34ba76d4", - "displayName": "Human resources" + "displayName": "Human resources", + "scope": { + "type": "Tenant" + } }, { "id": "6af5a1b6-bc4c-4c0a-b60d-30c68e6e3034", - "displayName": "Engineering P1" + "displayName": "Engineering P1", + "scope": { + "type": "Tenant" + } }, { "id": "6c00e8eb-51d4-46f7-8b90-7e98520ea7a0", - "displayName": "Marketing Q1" + "displayName": "Marketing Q1", + "scope": { + "type": "Tenant" + } }, { "id": "17df435d-9efd-48c1-a937-7d6fd70ab26a", - "displayName": "HR Sales Q1" + "displayName": "HR Sales Q1", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "fb765fe3-d404-4f24-9d67-5916449c4c50", - "displayName": "Root" + "displayName": "Root", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "bda31be4-7efe-4272-8b85-e1b2ff0f0592", - "displayName": "Legal EMEA" + "displayName": "Legal EMEA", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } } ], "continuationToken": "LDEsMTAwMDAwLDA%3D",