diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/CreateExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/CreateExtension.json new file mode 100644 index 000000000000..71656b38521a --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/CreateExtension.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2024-11-02-preview", + "clusterName": "clusterName1", + "extension": { + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "configurationProtectedSettings": { + "omsagent.secret.key": "secretKeyValue01" + } + } + } + }, + "responses": { + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId?api-version=2024-11-02-preview" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Creating", + "currentVersion": null, + "statuses": [], + "isSystemExtension": false + } + } + }, + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Succeeded", + "currentVersion": "0.1.4", + "statuses": [], + "isSystemExtension": false + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/CreateExtensionWithPlan.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/CreateExtensionWithPlan.json new file mode 100644 index 000000000000..986a8b3911fd --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/CreateExtensionWithPlan.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "azureVote", + "api-version": "2024-11-02-preview", + "clusterName": "clusterName1", + "extension": { + "properties": { + "extensionType": "azure-vote", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview" + }, + "plan": { + "name": "azure-vote-standard", + "publisher": "Microsoft", + "product": "azure-vote-standard-offer-id" + } + } + }, + "responses": { + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/azureVote/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/azureVote/operations/operationId?api-version=2024-11-02-preview" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/azureVote", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "azureVote", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "plan": { + "name": "azure-vote-standard", + "publisher": "Microsoft", + "product": "azure-vote-standard-offer-id" + }, + "properties": { + "extensionType": "azure-vote", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "provisioningState": "Creating", + "statuses": [], + "currentVersion": null, + "isSystemExtension": false + } + } + }, + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/azureVote/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/azureVote", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "azureVote", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "plan": { + "name": "azure-vote-standard", + "publisher": "Microsoft", + "product": "azure-vote-standard-offer-id" + }, + "properties": { + "extensionType": "azure-vote", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "provisioningState": "Creating", + "statuses": [], + "currentVersion": "0.1.4", + "isSystemExtension": false + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/DeleteExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/DeleteExtension.json new file mode 100644 index 000000000000..5506ff382853 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/DeleteExtension.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2024-11-02-preview", + "clusterName": "clusterName1" + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId?api-version=2024-11-02-preview", + "x-ms-async-operation-timeout": "PT1H" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtension.json new file mode 100644 index 000000000000..1aa32c14a473 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtension.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2024-11-02-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Succeeded", + "currentVersion": "0.1.4", + "statuses": [], + "isSystemExtension": false + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionAsyncOperationStatus.json new file mode 100644 index 000000000000..48ac56590ac6 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionAsyncOperationStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2024-11-02-preview", + "clusterName": "clusterName1", + "operationId": "99999999-9999-9999-9999-999999999999" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Succeeded", + "properties": {}, + "error": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionType.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionType.json new file mode 100644 index 000000000000..869f3ab0a740 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionType.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "clusterName": "my-cluster", + "extensionTypeName": "my-extension-type", + "api-version": "2024-11-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the extension type", + "body": { + "id": "aaaa", + "name": "bbbb", + "type": "cccc", + "properties": { + "isSystemExtension": false, + "isManagedIdentityRequired": true, + "description": "My extension type!", + "publisher": "Microsoft", + "planInfo": { + "publisherId": "111111", + "planId": "222222", + "offerId": "3333333" + }, + "supportedClusterTypes": [ + "connectedClusters" + ], + "supportedScopes": { + "defaultScope": "cluster", + "clusterScopeSettings": { + "properties": { + "allowMultipleInstances": true, + "defaultReleaseNamespace": "kube-system" + }, + "id": "aaaaaaaaaaaaaaaaaa", + "name": "bbbbbbbbbbbbb", + "type": "ccccccccccccccccccccccccc" + } + } + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionTypeByLocation.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionTypeByLocation.json new file mode 100644 index 000000000000..5ab7762f05e0 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionTypeByLocation.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "location": "westus2", + "extensionTypeName": "extensionType1", + "api-version": "2024-11-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the extension type", + "body": { + "id": "aaaa", + "name": "bbbb", + "type": "cccc", + "properties": { + "isSystemExtension": false, + "isManagedIdentityRequired": true, + "description": "My extension type!", + "publisher": "Microsoft", + "planInfo": { + "publisherId": "myPublisherId", + "planId": "myPlanId", + "offerId": "myOfferId" + }, + "supportedClusterTypes": [ + "connectedClusters" + ], + "supportedScopes": { + "defaultScope": "cluster", + "clusterScopeSettings": { + "properties": { + "allowMultipleInstances": true, + "defaultReleaseNamespace": "kube-system" + }, + "id": "aaaaaaaaaaaaaaaaaa", + "name": "bbbbbbbbbbbbb", + "type": "ccccccccccccccccccccccccc" + } + } + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionTypeVersion.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionTypeVersion.json new file mode 100644 index 000000000000..18086cbc31f7 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionTypeVersion.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "clusterName": "my-cluster", + "extensionTypeName": "my-extension-type", + "versionNumber": "v1.3.2", + "api-version": "2024-11-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "description": "Versions for the Extension Type", + "body": { + "id": "aaaa", + "name": "bbbb", + "type": "cccc", + "properties": { + "version": "1.1.0", + "unsupportedKubernetesVersions": { + "connectedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + }, + { + "distributions": [ + "GKE" + ], + "unsupportedVersions": [ + ">1.22" + ] + } + ], + "appliances": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [ + "1.18..1.21" + ] + } + ], + "provisionedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + } + ], + "managedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + } + ] + }, + "supportedClusterTypes": [ + "connectedCluster" + ] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionTypeVersionByLocation.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionTypeVersionByLocation.json new file mode 100644 index 000000000000..b8e7de478721 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionTypeVersionByLocation.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "location": "westus", + "extensionTypeName": "extensionType1", + "versionNumber": "1.20.0", + "api-version": "2024-11-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "description": "Versions for the Extension Type", + "body": { + "id": "aaaa", + "name": "bbbb", + "type": "cccc", + "properties": { + "version": "1.1.0", + "unsupportedKubernetesVersions": { + "connectedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + }, + { + "distributions": [ + "GKE" + ], + "unsupportedVersions": [ + ">1.22" + ] + } + ], + "appliances": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [ + "1.18..1.21" + ] + } + ], + "provisionedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + } + ], + "managedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + } + ] + }, + "supportedClusterTypes": [ + "connectedCluster" + ] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionWithPlan.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionWithPlan.json new file mode 100644 index 000000000000..6a9b2e5edd80 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/GetExtensionWithPlan.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "azureVote", + "api-version": "2024-11-02-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/azureVote", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "azureVote", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "plan": { + "name": "azure-vote-standard", + "publisher": "Microsoft", + "product": "azure-vote-standard-offer-id" + }, + "properties": { + "extensionType": "azure-vote", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Succeeded", + "currentVersion": "0.1.4", + "statuses": [], + "isSystemExtension": false + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListAsyncOperationStatus.json new file mode 100644 index 000000000000..7ec8bdbe4ef6 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListAsyncOperationStatus.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2024-11-02-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Deleting", + "properties": {}, + "error": null + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/cassandraExtension1/operations/88888888-8888-8888-8888-888888888888", + "name": "88888888-8888-8888-8888-888888888888", + "status": "Creating", + "properties": {}, + "error": null + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListExtensionTypeVersions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListExtensionTypeVersions.json new file mode 100644 index 000000000000..60d213be9650 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListExtensionTypeVersions.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "clusterName": "my-cluster", + "extensionTypeName": "my-extension-type", + "releaseTrain": "stable", + "majorVersion": "2", + "showLatest": true, + "api-version": "2024-11-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "description": "Versions for the Extension Type", + "body": { + "value": [ + { + "id": "aaaa", + "name": "bbbb", + "type": "cccc", + "properties": { + "version": "1.1.0", + "unsupportedKubernetesVersions": { + "connectedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + }, + { + "distributions": [ + "GKE" + ], + "unsupportedVersions": [ + ">1.22" + ] + } + ], + "appliances": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [ + "1.18..1.21" + ] + } + ], + "provisionedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + } + ], + "managedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + } + ] + }, + "supportedClusterTypes": [ + "connectedCluster" + ] + } + }, + { + "id": "aaaa", + "name": "bbbb", + "type": "cccc", + "properties": { + "version": "1.2.0", + "unsupportedKubernetesVersions": { + "connectedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + }, + { + "distributions": [ + "GKE" + ], + "unsupportedVersions": [ + ">1.22" + ] + } + ], + "appliances": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [ + "1.18..1.21" + ] + } + ], + "provisionedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + } + ], + "managedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + } + ] + }, + "supportedClusterTypes": [ + "connectedCluster" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListExtensionTypeVersionsByLocation.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListExtensionTypeVersionsByLocation.json new file mode 100644 index 000000000000..0bb41decae44 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListExtensionTypeVersionsByLocation.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "location": "westus", + "extensionTypeName": "extensionType1", + "releaseTrain": "stable", + "clusterType": "connectedCluster", + "majorVersion": "2", + "showLatest": true, + "api-version": "2024-11-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "description": "Versions for the Extension Type", + "body": { + "value": [ + { + "id": "aaaa", + "name": "bbbb", + "type": "cccc", + "properties": { + "version": "1.1.0", + "unsupportedKubernetesVersions": { + "connectedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + }, + { + "distributions": [ + "GKE" + ], + "unsupportedVersions": [ + ">1.22" + ] + } + ], + "appliances": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [ + "1.18..1.21" + ] + } + ], + "provisionedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + } + ], + "managedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + } + ] + }, + "supportedClusterTypes": [ + "connectedCluster" + ] + } + }, + { + "id": "aaaa", + "name": "bbbb", + "type": "cccc", + "properties": { + "version": "1.2.0", + "unsupportedKubernetesVersions": { + "connectedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + }, + { + "distributions": [ + "GKE" + ], + "unsupportedVersions": [ + ">1.22" + ] + } + ], + "appliances": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [ + "1.18..1.21" + ] + } + ], + "provisionedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + } + ], + "managedCluster": [ + { + "distributions": [ + "AKS" + ], + "unsupportedVersions": [] + } + ] + }, + "supportedClusterTypes": [ + "connectedCluster" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListExtensionTypes.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListExtensionTypes.json new file mode 100644 index 000000000000..6759959954af --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListExtensionTypes.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "clusterName": "my-cluster", + "publisherId": "myPublisherId", + "offerId": "myOfferId", + "planId": "myPlanId", + "releaseTrain": "stable", + "api-version": "2024-11-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the extension types registered for the given region", + "body": { + "value": [ + { + "id": "aaaa", + "name": "bbbb", + "type": "cccc", + "properties": { + "isSystemExtension": false, + "isManagedIdentityRequired": true, + "description": "My extension type!", + "publisher": "Microsoft", + "planInfo": { + "publisherId": "myPublisherId", + "planId": "myPlanId", + "offerId": "myOfferId" + }, + "supportedClusterTypes": [ + "connectedClusters" + ], + "supportedScopes": { + "defaultScope": "cluster", + "clusterScopeSettings": { + "properties": { + "allowMultipleInstances": true, + "defaultReleaseNamespace": "kube-system" + }, + "id": "aaaaaaaaaaaaaaaaaa", + "name": "bbbbbbbbbbbbb", + "type": "ccccccccccccccccccccccccc" + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListExtensionTypesByLocation.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListExtensionTypesByLocation.json new file mode 100644 index 000000000000..735fbca72563 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListExtensionTypesByLocation.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "location": "westus2", + "publisherId": "myPublisherId", + "offerId": "myOfferId", + "planId": "myPlanId", + "clusterType": "connectedCluster", + "releaseTrain": "stable", + "api-version": "2024-11-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the extension types registered for the given region", + "body": { + "value": [ + { + "id": "aaaa", + "name": "bbbb", + "type": "cccc", + "properties": { + "isSystemExtension": false, + "isManagedIdentityRequired": true, + "description": "My extension type!", + "publisher": "Microsoft", + "planInfo": { + "publisherId": "myPublisherId", + "planId": "myPlanId", + "offerId": "myOfferId" + }, + "supportedClusterTypes": [ + "connectedClusters" + ], + "supportedScopes": { + "defaultScope": "cluster", + "clusterScopeSettings": { + "properties": { + "allowMultipleInstances": true, + "defaultReleaseNamespace": "kube-system" + }, + "id": "aaaaaaaaaaaaaaaaaa", + "name": "bbbbbbbbbbbbb", + "type": "ccccccccccccccccccccccccc" + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListExtensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListExtensions.json new file mode 100644 index 000000000000..2096726eaa1b --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/ListExtensions.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2024-11-02-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Succeeded", + "currentVersion": "0.1.4", + "statuses": [], + "isSystemExtension": false + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/BackupVault01", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "App1Monitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T04:09:23.011Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T04:09:23.011Z" + }, + "properties": { + "extensionType": "Microsoft.RecoveryServices/recoveryVault", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Stable", + "version": null, + "scope": { + "cluster": { + "releaseNamespace": "myKVNamespace" + } + }, + "configurationSettings": {}, + "provisioningState": "Succeeded", + "currentVersion": "1.0.1", + "statuses": [], + "isSystemExtension": false + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/azureVote", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "azureVote", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "plan": { + "name": "azure-vote-standard", + "publisher": "Microsoft", + "product": "azure-vote-standard-offer-id" + }, + "properties": { + "extensionType": "azure-vote", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Succeeded", + "currentVersion": "0.1.4", + "statuses": [], + "isSystemExtension": false + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/PatchExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/PatchExtension.json new file mode 100644 index 000000000000..fba4d4c8964a --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/examples/PatchExtension.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2024-11-02-preview", + "clusterName": "clusterName1", + "patchExtension": { + "properties": { + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "configurationProtectedSettings": { + "omsagent.secret.key": "secretKeyValue01" + } + } + } + }, + "responses": { + "200": { + "description": "Extension properties from not updating any property values.", + "body": { + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Succeeded", + "statuses": [] + } + } + }, + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId?api-version=2023-05-01" + }, + "description": "Extension properties and details of the Patch operation, including AsyncOperation url.", + "body": { + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Updating", + "statuses": [] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/extensionTypes.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/extensionTypes.json new file mode 100644 index 000000000000..fb22a440c1bf --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/extensionTypes.json @@ -0,0 +1,769 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-11-02-preview", + "title": "ExtensionTypesClient", + "description": "Use these APIs to view extension type resources through ARM, for Kubernetes Clusters." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes": { + "get": { + "tags": [ + "ExtensionTypes", + "ClusterExtensionTypes" + ], + "description": "List all Extension Types for the location.", + "operationId": "ExtensionTypes_LocationList", + "x-ms-examples": { + "List Extension Types": { + "$ref": "./examples/ListExtensionTypesByLocation.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "name": "publisherId", + "in": "query", + "description": "Filter results by Publisher ID of a marketplace extension type", + "required": false, + "type": "string" + }, + { + "name": "offerId", + "in": "query", + "description": "Filter results by Offer or Product ID of a marketplace extension type", + "required": false, + "type": "string" + }, + { + "name": "planId", + "in": "query", + "description": "Filter results by Plan ID of a marketplace extension type", + "required": false, + "type": "string" + }, + { + "name": "releaseTrain", + "in": "query", + "description": "Filter results by release train (default value is stable)", + "required": false, + "type": "string" + }, + { + "name": "clusterType", + "in": "query", + "description": "Filter results by the cluster type for extension types", + "required": false, + "type": "string" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionTypesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}": { + "get": { + "tags": [ + "ExtensionTypes", + "ClusterExtensionTypes" + ], + "description": "Get an extension type for the location.", + "operationId": "ExtensionTypes_LocationGet", + "x-ms-examples": { + "Get Extension Type": { + "$ref": "./examples/GetExtensionTypeByLocation.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ExtensionTypeNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions": { + "get": { + "tags": [ + "ExtensionTypes", + "ClusterExtensionTypes" + ], + "description": "List the versions for an extension type and location.", + "operationId": "ExtensionTypes_ListVersions", + "x-ms-examples": { + "List Extension Type Versions": { + "$ref": "./examples/ListExtensionTypeVersionsByLocation.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ExtensionTypeNameParameter" + }, + { + "name": "releaseTrain", + "in": "query", + "description": "Filter results by release train (default value is stable)", + "required": false, + "type": "string" + }, + { + "name": "clusterType", + "in": "query", + "description": "Filter results by the cluster type for extension types", + "required": false, + "type": "string" + }, + { + "name": "majorVersion", + "in": "query", + "description": "Filter results by the major version of an extension type", + "required": false, + "type": "string" + }, + { + "name": "showLatest", + "in": "query", + "description": "Filter results by only the latest version (based on other query parameters)", + "required": false, + "type": "boolean" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionTypeVersionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions/{versionNumber}": { + "get": { + "tags": [ + "ExtensionTypes", + "ClusterExtensionTypes" + ], + "description": "Get details of a version for an extension type and location", + "operationId": "ExtensionTypes_GetVersion", + "x-ms-examples": { + "List Extension Type Versions": { + "$ref": "./examples/GetExtensionTypeVersionByLocation.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ExtensionTypeNameParameter" + }, + { + "$ref": "#/parameters/VersionNumberParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionTypeVersionForReleaseTrain" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes": { + "get": { + "tags": [ + "ExtensionTypes", + "ClusterExtensionTypes" + ], + "description": "List installable Extension Types for the cluster based region and type for the cluster.", + "operationId": "ExtensionTypes_List", + "x-ms-examples": { + "Get Extension Types": { + "$ref": "./examples/ListExtensionTypes.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2023-05-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2023-05-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2023-05-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "name": "publisherId", + "in": "query", + "description": "Filter results by Publisher ID of a marketplace extension type", + "required": false, + "type": "string" + }, + { + "name": "offerId", + "in": "query", + "description": "Filter results by Offer or Product ID of a marketplace extension type", + "required": false, + "type": "string" + }, + { + "name": "planId", + "in": "query", + "description": "Filter results by Plan ID of a marketplace extension type", + "required": false, + "type": "string" + }, + { + "name": "releaseTrain", + "in": "query", + "description": "Filter results by release train (default value is stable)", + "required": false, + "type": "string" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionTypesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}": { + "get": { + "tags": [ + "ExtensionTypes", + "ClusterExtensionTypes" + ], + "description": "Get an Extension Type installable to the cluster based region and type for the cluster.", + "operationId": "ExtensionTypes_Get", + "x-ms-examples": { + "Get Extension Types": { + "$ref": "./examples/GetExtensionType.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2023-05-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2023-05-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2023-05-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionTypeNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}/versions": { + "get": { + "tags": [ + "ExtensionTypes", + "ClusterExtensionTypes" + ], + "description": "List the version for an Extension Type installable to the cluster.", + "operationId": "ExtensionTypes_ClusterListVersions", + "x-ms-examples": { + "List Extension Type Versions": { + "$ref": "./examples/ListExtensionTypeVersions.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2023-05-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2023-05-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2023-05-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionTypeNameParameter" + }, + { + "name": "releaseTrain", + "in": "query", + "description": "Filter results by release train (default value is stable)", + "required": false, + "type": "string" + }, + { + "name": "majorVersion", + "in": "query", + "description": "Filter results by the major version of an extension type", + "required": false, + "type": "string" + }, + { + "name": "showLatest", + "in": "query", + "description": "Filter results by only the latest version (based on other query parameters)", + "required": false, + "type": "boolean" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionTypeVersionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}/versions/{versionNumber}": { + "get": { + "tags": [ + "ExtensionTypes", + "ClusterExtensionTypes" + ], + "description": "Get details of a version for an Extension Type installable to the cluster.", + "operationId": "ExtensionTypes_ClusterGetVersion", + "x-ms-examples": { + "List Extension Type Versions": { + "$ref": "./examples/GetExtensionTypeVersion.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2023-05-01-preview/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2023-05-01-preview/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2023-05-01-preview/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionTypeNameParameter" + }, + { + "$ref": "#/parameters/VersionNumberParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionTypeVersionForReleaseTrain" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ExtensionType": { + "description": "The Extension Type object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "isSystemExtension": { + "type": "boolean", + "description": "Is this Extension Type a system extension." + }, + "isManagedIdentityRequired": { + "type": "boolean", + "description": "Should an identity for this cluster resource be created" + }, + "description": { + "type": "string", + "description": "Description of the extension type" + }, + "publisher": { + "type": "string", + "description": "Name of the publisher for the Extension Type" + }, + "planInfo": { + "description": "Plan information only for the Marketplace Extension Type.", + "type": "object", + "properties": { + "publisherId": { + "type": "string", + "description": "Publisher ID of the Marketplace Extension Type." + }, + "planId": { + "type": "string", + "description": "Plan ID of the Marketplace Extension Type." + }, + "offerId": { + "type": "string", + "description": "Offer or Product ID of the Marketplace Extension Type." + } + } + }, + "supportedClusterTypes": { + "description": "Cluster Types supported for this Extension Type.", + "type": "array", + "items": { + "type": "string" + } + }, + "supportedScopes": { + "description": "Supported Kubernetes Scopes for this Extension Type.", + "type": "object", + "properties": { + "defaultScope": { + "description": "The default scope of the extension type. This scope will be used if the user does not provide a scope while creating an extension.", + "type": "string" + }, + "clusterScopeSettings": { + "$ref": "#/definitions/ClusterScopeSettings" + } + } + } + } + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ClusterScopeSettings": { + "type": "object", + "description": "Extension scope settings", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Extension scope settings", + "properties": { + "allowMultipleInstances": { + "type": "boolean", + "description": "Describes if multiple instances of the extension are allowed" + }, + "defaultReleaseNamespace": { + "type": "string", + "description": "Default extension release namespace" + } + } + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ExtensionTypeVersionForReleaseTrain": { + "description": "The Extension Type Version object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "The version number for the extension type" + }, + "unsupportedKubernetesVersions": { + "description": "The list of supported Kubernetes cluster versions for this extension type", + "type": "object", + "properties": { + "connectedCluster": { + "$ref": "#/definitions/ExtensionTypeVersionUnsupportedKubernetesMatrix" + }, + "appliances": { + "$ref": "#/definitions/ExtensionTypeVersionUnsupportedKubernetesMatrix" + }, + "provisionedCluster": { + "$ref": "#/definitions/ExtensionTypeVersionUnsupportedKubernetesMatrix" + }, + "managedCluster": { + "$ref": "#/definitions/ExtensionTypeVersionUnsupportedKubernetesMatrix" + } + } + }, + "supportedClusterTypes": { + "type": "array", + "description": "A list of supported cluster types for this version of the Extension Type", + "items": { + "description": "The individual cluster type that is supported by this extension", + "type": "string" + } + } + } + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ExtensionTypesList": { + "description": "List Extension Types. It contains a list of ExtensionType objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ExtensionType" + }, + "description": "List of Extension Types." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of extension type objects, if any." + } + } + }, + "ExtensionTypeVersionsList": { + "description": "List Extension Type Versions. It contains a list of ExtensionTypeVersionForReleaseTrain objects.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ExtensionTypeVersionForReleaseTrain" + }, + "description": "List of Extension Type Versions for an Extension Type in a Release Train." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of extension objects, if any." + } + } + }, + "ExtensionTypeVersionUnsupportedKubernetesMatrix": { + "type": "array", + "items": { + "type": "object", + "description": "The list of Kubernetes Distribution and Versions that are not supported by this version of this Extension Type", + "properties": { + "distributions": { + "type": "array", + "description": "The list of Kubernetes Cluster Distribution Names not supported", + "items": { + "description": "A single Kubernetes Cluster Distribution Name", + "type": "string" + } + }, + "unsupportedVersions": { + "type": "array", + "description": "The list of Kubernetes Versions not supported by the list of Kubernetes Cluster Distribution names in this object", + "items": { + "type": "string", + "description": "A Kubernetes Version not supported by the list of Kubernetes Cluster Distribution names" + } + } + } + }, + "x-ms-identifiers": [] + } + }, + "parameters": { + "ExtensionTypeNameParameter": { + "name": "extensionTypeName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9-_]*$", + "description": "Name of the Extension Type.", + "x-ms-parameter-location": "method" + }, + "VersionNumberParameter": { + "name": "versionNumber", + "in": "path", + "required": true, + "type": "string", + "description": "Version number of the Extension Type.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/extensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/extensions.json new file mode 100644 index 000000000000..7ea8d2b3d985 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/preview/2024-11-02-preview/extensions.json @@ -0,0 +1,707 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-11-02-preview", + "title": "ExtensionsClient", + "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}": { + "put": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Create a new Kubernetes Cluster Extension.", + "operationId": "Extensions_Create", + "x-ms-examples": { + "Create Extension": { + "$ref": "./examples/CreateExtension.json" + }, + "Create Extension with Plan": { + "$ref": "./examples/CreateExtensionWithPlan.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "extension", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Extension" + }, + "description": "Properties necessary to Create an Extension." + } + ], + "responses": { + "201": { + "description": "Request received successfully.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "200": { + "description": "Request received successfully for an existing resource.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Gets Kubernetes Cluster Extension.", + "operationId": "Extensions_Get", + "x-ms-examples": { + "Get Extension": { + "$ref": "./examples/GetExtension.json" + }, + "Get Extension with Plan": { + "$ref": "./examples/GetExtensionWithPlan.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.", + "operationId": "Extensions_Delete", + "x-ms-examples": { + "Delete Extension": { + "$ref": "./examples/DeleteExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "forceDelete", + "in": "query", + "description": "Delete the extension resource in Azure - not the normal asynchronous delete.", + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The request has been accepted for processing." + }, + "204": { + "description": "No Content. The request has been accepted but the extension was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Patch an existing Kubernetes Cluster Extension.", + "operationId": "Extensions_Update", + "x-ms-examples": { + "Update Extension": { + "$ref": "./examples/PatchExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "patchExtension", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/patchExtension" + }, + "description": "Properties to Patch in an existing Extension." + } + ], + "responses": { + "202": { + "description": "Request received successfully, and the resource will be updated asynchronously.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "200": { + "description": "No update is done to extension so return OK.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions": { + "get": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "List all Extensions in the cluster.", + "operationId": "Extensions_List", + "x-ms-examples": { + "List Extensions": { + "$ref": "./examples/ListExtensions.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}": { + "get": { + "tags": [ + "Extension Operation Status" + ], + "operationId": "OperationStatus_Get", + "description": "Get Async Operation status", + "x-ms-examples": { + "ExtensionAsyncOperationStatus Get": { + "$ref": "./examples/GetExtensionAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "operationId", + "in": "path", + "description": "operation Id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Extension Operation Status", + "schema": { + "$ref": "../../../common/2022-03-01/definitions.json#/definitions/OperationStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ScopeCluster": { + "description": "Specifies that the scope of the extension is Cluster", + "type": "object", + "properties": { + "releaseNamespace": { + "description": "Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created", + "type": "string" + } + } + }, + "ScopeNamespace": { + "description": "Specifies that the scope of the extension is Namespace", + "type": "object", + "properties": { + "targetNamespace": { + "description": "Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created", + "type": "string" + } + } + }, + "Scope": { + "description": "Scope of the extension. It can be either Cluster or Namespace; but not both.", + "type": "object", + "properties": { + "cluster": { + "type": "object", + "x-nullable": true, + "description": "Specifies that the scope of the extension is Cluster", + "$ref": "#/definitions/ScopeCluster" + }, + "namespace": { + "type": "object", + "x-nullable": true, + "description": "Specifies that the scope of the extension is Namespace", + "$ref": "#/definitions/ScopeNamespace" + } + } + }, + "ExtensionStatus": { + "description": "Status from the extension.", + "type": "object", + "readOnly": true, + "properties": { + "code": { + "type": "string", + "description": "Status code provided by the Extension" + }, + "displayStatus": { + "type": "string", + "description": "Short description of status of the extension." + }, + "level": { + "type": "string", + "description": "Level of the status.", + "enum": [ + "Error", + "Warning", + "Information" + ], + "default": "Information", + "x-ms-enum": { + "name": "LevelType", + "modelAsString": true + } + }, + "message": { + "type": "string", + "description": "Detailed message of the status from the Extension." + }, + "time": { + "type": "string", + "description": "DateLiteral (per ISO8601) noting the time of installation status." + } + } + }, + "Extension": { + "description": "The Extension object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Properties of an Extension resource", + "properties": { + "extensionType": { + "description": "Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher.", + "type": "string" + }, + "autoUpgradeMinorVersion": { + "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.", + "type": "boolean", + "default": true + }, + "releaseTrain": { + "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.", + "type": "string", + "default": "Stable" + }, + "version": { + "description": "User-specified version of the extension for this extension to 'pin'. To use 'version', autoUpgradeMinorVersion must be 'false'.", + "type": "string", + "x-nullable": true + }, + "scope": { + "description": "Scope at which the extension is installed.", + "$ref": "#/definitions/Scope" + }, + "configurationSettings": { + "description": "Configuration settings, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "configurationProtectedSettings": { + "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + }, + "currentVersion": { + "description": "Currently installed version of the extension.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "provisioningState": { + "description": "Status of installation of this extension.", + "type": "string", + "readOnly": true, + "$ref": "../../../common/2022-03-01/definitions.json#/definitions/ProvisioningStateDefinition" + }, + "statuses": { + "description": "Status from this extension.", + "type": "array", + "x-nullable": true, + "items": { + "$ref": "#/definitions/ExtensionStatus" + }, + "x-ms-identifiers": [] + }, + "errorInfo": { + "description": "Error information from the Agent - e.g. errors during installation.", + "type": "object", + "readOnly": true, + "x-nullable": true, + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail" + }, + "customLocationSettings": { + "description": "Custom Location settings properties.", + "type": "object", + "readOnly": true, + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "packageUri": { + "description": "Uri of the Helm package", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "aksAssignedIdentity": { + "description": "Identity of the Extension resource in an AKS cluster", + "x-nullable": true, + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "UserAssigned" + ], + "x-ms-enum": { + "name": "AKSIdentityType", + "modelAsString": false + } + } + } + }, + "isSystemExtension": { + "readOnly": true, + "description": "Flag to note if this extension is a system extension", + "type": "boolean", + "default": false + } + } + }, + "identity": { + "description": "Identity of the Extension resource", + "x-nullable": true, + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Identity" + }, + "systemData": { + "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + }, + "plan": { + "description": "The plan information.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Plan" + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ExtensionsList": { + "description": "Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Extension" + }, + "description": "List of Extensions within a Kubernetes cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of extension objects, if any." + } + } + }, + "patchExtension": { + "description": "The Extension Patch Request object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Updatable properties of an Extension Patch Request", + "properties": { + "autoUpgradeMinorVersion": { + "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.", + "type": "boolean", + "default": true + }, + "releaseTrain": { + "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.", + "type": "string", + "default": "Stable" + }, + "version": { + "description": "Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'.", + "type": "string", + "x-nullable": true + }, + "configurationSettings": { + "description": "Configuration settings, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "configurationProtectedSettings": { + "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + } + } + } + } + } + }, + "parameters": { + "ExtensionNameParameter": { + "name": "extensionName", + "in": "path", + "description": "Name of the Extension.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.csharp.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.csharp.md new file mode 100644 index 000000000000..732f987aaafe --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Azure.Management.KubernetesConfiguration.Extensions + output-folder: $(csharp-sdks-folder)/kubernetesconfiguration/Microsoft.Azure.Management.KubernetesConfiguration/src/Generated +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.go.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.go.md new file mode 100644 index 000000000000..a95dfc11e724 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.go.md @@ -0,0 +1,38 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) && !$(track2) +go: + license-header: MICROSOFT_MIT_NO_VERSION + namespace: kubernetesconfiguration + clear-output-folder: true +``` + +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/kubernetesconfiguration/armkubernetesconfiguration/extensions +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + +### Tag: package-preview-2024-11-02 and go + +These settings apply only when `--tag=package-preview-2024-11-02 --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-preview-2024-11-02' && $(go) +namespace: kubernetesconfiguration +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2024-11-02-preview/extensions +``` + +### Tag: package-2024-11 and go + +These settings apply only when `--tag=package-2024-11 --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2024-11' && $(go) +namespace: kubernetesconfiguration +output-folder: $(go-sdk-folder)/services/stable/$(namespace)/mgmt/2024-11-01/extensions +``` \ No newline at end of file diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.java.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.java.md new file mode 100644 index 000000000000..f539f32a6df1 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.java.md @@ -0,0 +1,30 @@ +## Java + +These settings apply only when `--java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +### Tag: package-preview-2024-11-02 and java + +These settings apply only when `--tag=package-preview-2024-11-02 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-preview-2024-11-02' && $(java) +java: + namespace: com.microsoft.azure.management.kubernetesconfiguration.extensions.v2024_11_02_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2024_11_02_preview + regenerate-manager: true + generate-interface: true +``` + +### Tag: package-2024-11 and java + +These settings apply only when `--tag=package-2024-11 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2024-11' && $(java) +java: + namespace: com.microsoft.azure.management.kubernetesconfiguration.extensions.v2024_11_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2024_11_01 + regenerate-manager: true + generate-interface: true +``` \ No newline at end of file diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.md new file mode 100644 index 000000000000..9c52c708c908 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.md @@ -0,0 +1,95 @@ +# kubernetesconfiguration + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for KubernetesConfiguration Extensions. + +## Getting Started + +To build the SDKs for KubernetesConfiguration extensions, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the KubernetesConfiguration. + +``` yaml +title: ExtensionsClient +description: KubernetesConfiguration Extensions Client +openapi-type: arm +tag: package-preview-2024-11-02 +``` + +--- + +### Tag: package-preview-2024-11-02 + +These settings apply only when `--tag=package-preview-2024-11-02` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2024-11-02' +input-file: + - preview/2024-11-02-preview/extensions.json + - preview/2024-11-02-preview/extensionTypes.json +``` + +### Tag: package-2024-11 + +These settings apply only when `--tag=package-2024-11` is specified on the command line. + +``` yaml $(tag) == 'package-2024-11' +input-file: + - stable/2024-11-01/extensions.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_kubernetesconfiguration'] + - repo: azure-resource-manager-schemas + - repo: azure-powershell +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.python.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.python.md new file mode 100644 index 000000000000..47fc8dee1f0b --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.python.md @@ -0,0 +1,33 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. +Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.kubernetesconfiguration.extensions +package-name: azure-mgmt-kubernetesconfiguration-extensions +no-namespace-folders: true +package-version: 1.1.0 +clear-output-folder: true +``` + +### Tag: package-preview-2024-11-02 and python + +These settings apply only when `--tag=package-preview-2024-11-02 --python` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2024-11-02' +namespace: azure.mgmt.kubernetesconfiguration.extensions.v2024_11_02_preview +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/extensions/v2024_11_02_preview +``` + +### Tag: package-2024-11 and python + +These settings apply only when `--tag=package-2024-11 --python` is specified on the command line. + +``` yaml $(tag) == 'package-2024-11' +namespace: azure.mgmt.kubernetesconfiguration.extensions.v2024_11_01 +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/extensions/v2024_11_01 +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.ruby.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.ruby.md new file mode 100644 index 000000000000..6360788216eb --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.ruby.md @@ -0,0 +1,29 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: azure_mgmt_kubernetesconfiguration_extensions +package-version: "0.1.1" +azure-arm: true +``` + +### Tag: package-preview-2024-11 and ruby + +These settings apply only when `--tag=package-preview-2024-11 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-preview-2024-11' && $(ruby) +namespace: "Azure::KubernetesConfiguration::Extension::Mgmt::V2024_11_02_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib +``` + +### Tag: package-2024-11 and ruby + +These settings apply only when `--tag=package-2024-11 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2024-11' && $(ruby) +namespace: "Azure::KubernetesConfiguration::Extensions::Mgmt::V2024_11_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.typescript.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.typescript.md new file mode 100644 index 000000000000..e158be5de41d --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/readme.typescript.md @@ -0,0 +1,13 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-kubernetesconfiguration-extensions" + output-folder: "$(typescript-sdks-folder)/sdk/kubernetesconfiguration/arm-kubernetesconfiguration" + override-client-name: ExtensionsClient + generate-metadata: true +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/CreateExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/CreateExtension.json new file mode 100644 index 000000000000..86ca5e8ab086 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/CreateExtension.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2024-11-01", + "clusterName": "clusterName1", + "extension": { + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "configurationProtectedSettings": { + "omsagent.secret.key": "secretKeyValue01" + } + } + } + }, + "responses": { + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId?api-version=2024-11-01" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Creating", + "currentVersion": null, + "statuses": [], + "isSystemExtension": false + } + } + }, + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Succeeded", + "currentVersion": "0.1.4", + "statuses": [], + "isSystemExtension": false + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/CreateExtensionWithPlan.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/CreateExtensionWithPlan.json new file mode 100644 index 000000000000..25405f30da36 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/CreateExtensionWithPlan.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "azureVote", + "api-version": "2024-11-01", + "clusterName": "clusterName1", + "extension": { + "properties": { + "extensionType": "azure-vote", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview" + }, + "plan": { + "name": "azure-vote-standard", + "publisher": "Microsoft", + "product": "azure-vote-standard-offer-id" + } + } + }, + "responses": { + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/azureVote/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/azureVote/operations/operationId?api-version=2024-11-01" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/azureVote", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "azureVote", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "plan": { + "name": "azure-vote-standard", + "publisher": "Microsoft", + "product": "azure-vote-standard-offer-id" + }, + "properties": { + "extensionType": "azure-vote", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "provisioningState": "Creating", + "statuses": [], + "currentVersion": null, + "isSystemExtension": false + } + } + }, + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/azureVote/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/azureVote", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "azureVote", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "plan": { + "name": "azure-vote-standard", + "publisher": "Microsoft", + "product": "azure-vote-standard-offer-id" + }, + "properties": { + "extensionType": "azure-vote", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "provisioningState": "Creating", + "statuses": [], + "currentVersion": "0.1.4", + "isSystemExtension": false + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/DeleteExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/DeleteExtension.json new file mode 100644 index 000000000000..9b294adb4fd4 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/DeleteExtension.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2024-11-01", + "clusterName": "clusterName1" + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId?api-version=2024-11-01", + "x-ms-async-operation-timeout": "PT1H" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/GetExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/GetExtension.json new file mode 100644 index 000000000000..499ca6b52236 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/GetExtension.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2024-11-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Succeeded", + "currentVersion": "0.1.4", + "statuses": [], + "isSystemExtension": false + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/GetExtensionAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/GetExtensionAsyncOperationStatus.json new file mode 100644 index 000000000000..99452f9b8a87 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/GetExtensionAsyncOperationStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2024-11-01", + "clusterName": "clusterName1", + "operationId": "99999999-9999-9999-9999-999999999999" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Succeeded", + "properties": {}, + "error": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/GetExtensionWithPlan.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/GetExtensionWithPlan.json new file mode 100644 index 000000000000..3f1a78625597 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/GetExtensionWithPlan.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "azureVote", + "api-version": "2024-11-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/azureVote", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "azureVote", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "plan": { + "name": "azure-vote-standard", + "publisher": "Microsoft", + "product": "azure-vote-standard-offer-id" + }, + "properties": { + "extensionType": "azure-vote", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Succeeded", + "currentVersion": "0.1.4", + "statuses": [], + "isSystemExtension": false + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/ListExtensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/ListExtensions.json new file mode 100644 index 000000000000..c8ba347519ba --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/ListExtensions.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2024-11-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Succeeded", + "currentVersion": "0.1.4", + "statuses": [], + "isSystemExtension": false + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/BackupVault01", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "App1Monitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T04:09:23.011Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T04:09:23.011Z" + }, + "properties": { + "extensionType": "Microsoft.RecoveryServices/recoveryVault", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Stable", + "version": null, + "scope": { + "cluster": { + "releaseNamespace": "myKVNamespace" + } + }, + "configurationSettings": {}, + "provisioningState": "Succeeded", + "currentVersion": "1.0.1", + "statuses": [], + "isSystemExtension": false + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/azureVote", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "azureVote", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "plan": { + "name": "azure-vote-standard", + "publisher": "Microsoft", + "product": "azure-vote-standard-offer-id" + }, + "properties": { + "extensionType": "azure-vote", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Succeeded", + "currentVersion": "0.1.4", + "statuses": [], + "isSystemExtension": false + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/PatchExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/PatchExtension.json new file mode 100644 index 000000000000..fe36f9429e84 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/examples/PatchExtension.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2024-11-01", + "clusterName": "clusterName1", + "patchExtension": { + "properties": { + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "configurationProtectedSettings": { + "omsagent.secret.key": "secretKeyValue01" + } + } + } + }, + "responses": { + "200": { + "description": "Extension properties from not updating any property values.", + "body": { + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Succeeded", + "statuses": [] + } + } + }, + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId?api-version=2024-11-01" + }, + "description": "Extension properties and details of the Patch operation, including AsyncOperation url.", + "body": { + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "fakeTokenPlaceholder", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Updating", + "statuses": [] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/extensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/extensions.json new file mode 100644 index 000000000000..825449ce493e --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/extensions.json @@ -0,0 +1,707 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-11-01", + "title": "ExtensionsClient", + "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}": { + "put": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Create a new Kubernetes Cluster Extension.", + "operationId": "Extensions_Create", + "x-ms-examples": { + "Create Extension": { + "$ref": "./examples/CreateExtension.json" + }, + "Create Extension with Plan": { + "$ref": "./examples/CreateExtensionWithPlan.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "extension", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Extension" + }, + "description": "Properties necessary to Create an Extension." + } + ], + "responses": { + "201": { + "description": "Request received successfully.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "200": { + "description": "Request received successfully for an existing resource.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Gets Kubernetes Cluster Extension.", + "operationId": "Extensions_Get", + "x-ms-examples": { + "Get Extension": { + "$ref": "./examples/GetExtension.json" + }, + "Get Extension with Plan": { + "$ref": "./examples/GetExtensionWithPlan.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.", + "operationId": "Extensions_Delete", + "x-ms-examples": { + "Delete Extension": { + "$ref": "./examples/DeleteExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "forceDelete", + "in": "query", + "description": "Delete the extension resource in Azure - not the normal asynchronous delete.", + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The request has been accepted for processing." + }, + "204": { + "description": "No Content. The request has been accepted but the extension was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Patch an existing Kubernetes Cluster Extension.", + "operationId": "Extensions_Update", + "x-ms-examples": { + "Update Extension": { + "$ref": "./examples/PatchExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "patchExtension", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/patchExtension" + }, + "description": "Properties to Patch in an existing Extension." + } + ], + "responses": { + "202": { + "description": "Request received successfully, and the resource will be updated asynchronously.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "200": { + "description": "No update is done to extension so return OK.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions": { + "get": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "List all Extensions in the cluster.", + "operationId": "Extensions_List", + "x-ms-examples": { + "List Extensions": { + "$ref": "./examples/ListExtensions.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}": { + "get": { + "tags": [ + "Extension Operation Status" + ], + "operationId": "OperationStatus_Get", + "description": "Get Async Operation status", + "x-ms-examples": { + "ExtensionAsyncOperationStatus Get": { + "$ref": "./examples/GetExtensionAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "operationId", + "in": "path", + "description": "operation Id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Extension Operation Status", + "schema": { + "$ref": "../../../common/2022-03-01/definitions.json#/definitions/OperationStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ScopeCluster": { + "description": "Specifies that the scope of the extension is Cluster", + "type": "object", + "properties": { + "releaseNamespace": { + "description": "Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created", + "type": "string" + } + } + }, + "ScopeNamespace": { + "description": "Specifies that the scope of the extension is Namespace", + "type": "object", + "properties": { + "targetNamespace": { + "description": "Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created", + "type": "string" + } + } + }, + "Scope": { + "description": "Scope of the extension. It can be either Cluster or Namespace; but not both.", + "type": "object", + "properties": { + "cluster": { + "type": "object", + "x-nullable": true, + "description": "Specifies that the scope of the extension is Cluster", + "$ref": "#/definitions/ScopeCluster" + }, + "namespace": { + "type": "object", + "x-nullable": true, + "description": "Specifies that the scope of the extension is Namespace", + "$ref": "#/definitions/ScopeNamespace" + } + } + }, + "ExtensionStatus": { + "description": "Status from the extension.", + "type": "object", + "readOnly": true, + "properties": { + "code": { + "type": "string", + "description": "Status code provided by the Extension" + }, + "displayStatus": { + "type": "string", + "description": "Short description of status of the extension." + }, + "level": { + "type": "string", + "description": "Level of the status.", + "enum": [ + "Error", + "Warning", + "Information" + ], + "default": "Information", + "x-ms-enum": { + "name": "LevelType", + "modelAsString": true + } + }, + "message": { + "type": "string", + "description": "Detailed message of the status from the Extension." + }, + "time": { + "type": "string", + "description": "DateLiteral (per ISO8601) noting the time of installation status." + } + } + }, + "Extension": { + "description": "The Extension object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Properties of an Extension resource", + "properties": { + "extensionType": { + "description": "Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher.", + "type": "string" + }, + "autoUpgradeMinorVersion": { + "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.", + "type": "boolean", + "default": true + }, + "releaseTrain": { + "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.", + "type": "string", + "default": "Stable" + }, + "version": { + "description": "User-specified version of the extension for this extension to 'pin'. To use 'version', autoUpgradeMinorVersion must be 'false'.", + "type": "string", + "x-nullable": true + }, + "scope": { + "description": "Scope at which the extension is installed.", + "$ref": "#/definitions/Scope" + }, + "configurationSettings": { + "description": "Configuration settings, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "configurationProtectedSettings": { + "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + }, + "currentVersion": { + "description": "Currently installed version of the extension.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "provisioningState": { + "description": "Status of installation of this extension.", + "type": "string", + "readOnly": true, + "$ref": "../../../common/2022-03-01/definitions.json#/definitions/ProvisioningStateDefinition" + }, + "statuses": { + "description": "Status from this extension.", + "type": "array", + "x-nullable": true, + "items": { + "$ref": "#/definitions/ExtensionStatus" + }, + "x-ms-identifiers": [] + }, + "errorInfo": { + "description": "Error information from the Agent - e.g. errors during installation.", + "type": "object", + "readOnly": true, + "x-nullable": true, + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail" + }, + "customLocationSettings": { + "description": "Custom Location settings properties.", + "type": "object", + "readOnly": true, + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "packageUri": { + "description": "Uri of the Helm package", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "aksAssignedIdentity": { + "description": "Identity of the Extension resource in an AKS cluster", + "x-nullable": true, + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "UserAssigned" + ], + "x-ms-enum": { + "name": "AKSIdentityType", + "modelAsString": false + } + } + } + }, + "isSystemExtension": { + "readOnly": true, + "description": "Flag to note if this extension is a system extension", + "type": "boolean", + "default": false + } + } + }, + "identity": { + "description": "Identity of the Extension resource", + "x-nullable": true, + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Identity" + }, + "systemData": { + "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + }, + "plan": { + "description": "The plan information.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Plan" + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ExtensionsList": { + "description": "Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Extension" + }, + "description": "List of Extensions within a Kubernetes cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of extension objects, if any." + } + } + }, + "patchExtension": { + "description": "The Extension Patch Request object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Updatable properties of an Extension Patch Request", + "properties": { + "autoUpgradeMinorVersion": { + "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.", + "type": "boolean", + "default": true + }, + "releaseTrain": { + "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.", + "type": "string", + "default": "Stable" + }, + "version": { + "description": "Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'.", + "type": "string", + "x-nullable": true + }, + "configurationSettings": { + "description": "Configuration settings, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "configurationProtectedSettings": { + "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + } + } + } + } + } + }, + "parameters": { + "ExtensionNameParameter": { + "name": "extensionName", + "in": "path", + "description": "Name of the Extension.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.csharp.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.csharp.md new file mode 100644 index 000000000000..07c09c65c257 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Azure.Management.KubernetesConfiguration.Flux + output-folder: $(csharp-sdks-folder)/kubernetesconfiguration/Microsoft.Azure.Management.KubernetesConfiguration/src/Generated +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.go.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.go.md new file mode 100644 index 000000000000..bb563af5534c --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.go.md @@ -0,0 +1,28 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) && !$(track2) +go: + license-header: MICROSOFT_MIT_NO_VERSION + namespace: kubernetesconfiguration + clear-output-folder: true +``` + +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/kubernetesconfiguration/armkubernetesconfiguration/flux +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + +### Tag: package-2024-11 and go + +These settings apply only when `--tag=package-2024-11 --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2024-11' && $(go) +namespace: kubernetesconfiguration +output-folder: $(go-sdk-folder)/services/stable/$(namespace)/mgmt/2024-11-01/flux +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.java.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.java.md new file mode 100644 index 000000000000..bdfe642600d2 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.java.md @@ -0,0 +1,29 @@ +## Java + +These settings apply only when `--java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(java) +directive: + - from: fluxconfiguration.json + where: $.definitions.KustomizationDefinition.properties.wait + transform: > + $["x-ms-client-name"] = "enableWait" + - from: fluxconfiguration.json + where: $.definitions.KustomizationPatchDefinition.properties.wait + transform: > + $["x-ms-client-name"] = "enableWait" +``` + +### Tag: package-2024-11 and java + +These settings apply only when `--tag=package-2024-11 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2024-11' && $(java) +java: + namespace: com.microsoft.azure.management.kubernetesconfiguration.fluxconfiguration.v2024_11_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2024_11_01 + regenerate-manager: true + generate-interface: true +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.md new file mode 100644 index 000000000000..57c5e97e600b --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.md @@ -0,0 +1,83 @@ +# kubernetesconfiguration + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Flux KubernetesConfiguration. + +## Getting Started + +To build the SDKs for Flux KubernetesConfiguration, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the KubernetesConfiguration. + +``` yaml +title: FluxConfigurationClient +description: KubernetesConfiguration Flux Client +openapi-type: arm +tag: package-2024-11 +``` + +--- + +### Tag: package-2024-11 + +These settings apply only when `--tag=package-2024-11` is specified on the command line. + +``` yaml $(tag) == 'package-2023-05' +input-file: + - stable/2024-11-01/fluxconfiguration.json +``` + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_kubernetesconfiguration'] + - repo: azure-resource-manager-schemas + - repo: azure-powershell +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.python.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.python.md new file mode 100644 index 000000000000..1d433e05db48 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.python.md @@ -0,0 +1,24 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. +Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.kubernetesconfiguration.flux +package-name: azure-mgmt-kubernetesconfiguration-flux +no-namespace-folders: true +package-version: 1.1.0 +clear-output-folder: true +``` + +### Tag: package-2024-11 and python + +These settings apply only when `--tag=package-2024-11 --python` is specified on the command line. + +``` yaml $(tag) == 'package-2024-11' +namespace: azure.mgmt.kubernetesconfiguration.flux.v2024_11_01 +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/flux/v2024_11_01 +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.ruby.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.ruby.md new file mode 100644 index 000000000000..9184796e288c --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.ruby.md @@ -0,0 +1,19 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: azure_mgmt_kubernetesconfiguration_flux +package-version: "0.1.1" +azure-arm: true +``` + +### Tag: package-2024-11 and ruby + +These settings apply only when `--tag=package-2024-11 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2024-11' && $(ruby) +namespace: "Azure::KubernetesConfiguration::Flux::Mgmt::V2024_11_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib +``` \ No newline at end of file diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.typescript.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.typescript.md new file mode 100644 index 000000000000..0817ba517f73 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/readme.typescript.md @@ -0,0 +1,13 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-kubernetesconfiguration-flux" + output-folder: "$(typescript-sdks-folder)/sdk/kubernetesconfiguration/arm-kubernetesconfiguration" + override-client-name: FluxConfigurationClient + generate-metadata: true +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/CreateFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/CreateFluxConfiguration.json new file mode 100644 index 000000000000..ce9e5acdba27 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/CreateFluxConfiguration.json @@ -0,0 +1,403 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2024-11-01", + "clusterName": "clusterName1", + "fluxConfiguration": { + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master" + }, + "httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl" + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "wait": true, + "postBuild": { + "substitute": { + "cluster_env": "prod", + "replica_count": "2" + }, + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-test", + "optional": true + } + ] + } + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false, + "wait": false, + "postBuild": { + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-values", + "optional": true + }, + { + "kind": "Secret", + "name": "secret-name", + "optional": false + } + ] + } + } + }, + "waitForReconciliation": true, + "reconciliationWaitDuration": "PT30M" + } + } + }, + "responses": { + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + }, + "httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl" + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-kustomization1", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "wait": true, + "postBuild": { + "substitute": { + "cluster_env": "prod", + "replica_count": "2" + }, + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-test", + "optional": true + } + ] + } + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false, + "wait": false, + "postBuild": { + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-values", + "optional": true + }, + { + "kind": "Secret", + "name": "secret-name", + "optional": false + } + ] + } + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + }, + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/operationId?api-version=2024-11-01" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + }, + "httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl" + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "wait": true, + "postBuild": { + "substitute": { + "cluster_env": "prod", + "replica_count": "2" + }, + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-test", + "optional": true + } + ] + } + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false, + "wait": false, + "postBuild": { + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-values", + "optional": true + }, + { + "kind": "Secret", + "name": "secret-name", + "optional": false + } + ] + } + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/CreateFluxConfigurationWithBucket.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/CreateFluxConfigurationWithBucket.json new file mode 100644 index 000000000000..cf48aefb91f6 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/CreateFluxConfigurationWithBucket.json @@ -0,0 +1,303 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2024-11-01", + "clusterName": "clusterName1", + "fluxConfiguration": { + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "Bucket", + "suspend": false, + "bucket": { + "url": "https://fluxminiotest.az.minio.io", + "bucketName": "flux", + "syncIntervalInSeconds": 1000, + "timeoutInSeconds": 1000, + "accessKey": "fluxminiotest" + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "Bucket", + "suspend": false, + "gitRepository": null, + "bucket": { + "url": "https://fluxminiotest.az.minio.io", + "bucketName": "flux", + "syncIntervalInSeconds": 1000, + "timeoutInSeconds": 1000, + "accessKey": "fluxminiotest" + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-kustomization1", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "Bucket", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2022-05-04T07:17:30+00:00", + "message": "stored artifact for revision '55396be14f18fa2b977c1f22becef26a94d1d9a7ccb1e19d12f9cac52d757a84'", + "reason": "Succeeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "", + "sourceSyncedCommitId": "0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + }, + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "Bucket", + "suspend": false, + "gitRepository": null, + "bucket": { + "url": "https://fluxminiotest.az.minio.io", + "bucketName": "flux", + "syncIntervalInSeconds": 1000, + "timeoutInSeconds": 1000, + "accessKey": "fluxminiotest" + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-kustomization1", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "Bucket", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": [ + { + "lastTransitionTime": "2022-05-04T07:17:30+00:00", + "message": "stored artifact for revision '55396be14f18fa2b977c1f22becef26a94d1d9a7ccb1e19d12f9cac52d757a84'", + "reason": "Succeeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "", + "sourceSyncedCommitId": "0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/CreateFluxConfigurationWithOCIRepository.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/CreateFluxConfigurationWithOCIRepository.json new file mode 100644 index 000000000000..ce3aee7b0c8e --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/CreateFluxConfigurationWithOCIRepository.json @@ -0,0 +1,304 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2024-11-01", + "clusterName": "clusterName1", + "fluxConfiguration": { + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "OCIRepository", + "suspend": false, + "ociRepository": { + "url": "oci://ghcr.io/stefanprodan/manifests/podinfo", + "syncIntervalInSeconds": 1000, + "timeoutInSeconds": 1000, + "serviceAccountName": "testserviceaccount" + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "OCIRepository", + "suspend": false, + "gitRepository": null, + "bucket": null, + "azureBlob": null, + "ociRepository": { + "url": "oci://ghcr.io/stefanprodan/manifests/podinfo", + "syncIntervalInSeconds": 1000, + "timeoutInSeconds": 1000, + "serviceAccountName": "testserviceaccount" + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-kustomization1", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "OCIRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2022-05-04T07:17:30+00:00", + "message": "stored artifact for revision '55396be14f18fa2b977c1f22becef26a94d1d9a7ccb1e19d12f9cac52d757a84'", + "reason": "Succeeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "", + "sourceSyncedCommitId": "0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + }, + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "OCIRepository", + "suspend": false, + "gitRepository": null, + "bucket": null, + "azureBlob": null, + "ociRepository": { + "url": "oci://ghcr.io/stefanprodan/manifests/podinfo", + "syncIntervalInSeconds": 1000, + "timeoutInSeconds": 1000, + "serviceAccountName": "testserviceaccount" + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-kustomization1", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "OCIRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": [ + { + "lastTransitionTime": "2022-05-04T07:17:30+00:00", + "message": "stored artifact for revision '55396be14f18fa2b977c1f22becef26a94d1d9a7ccb1e19d12f9cac52d757a84'", + "reason": "Succeeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "", + "sourceSyncedCommitId": "0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/CreateFluxConfigurationWithProvider.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/CreateFluxConfigurationWithProvider.json new file mode 100644 index 000000000000..e3d95d4a43fb --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/CreateFluxConfigurationWithProvider.json @@ -0,0 +1,404 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2024-11-01", + "clusterName": "clusterName1", + "fluxConfiguration": { + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://dev.azure.com/org/proj/_git/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "provider": "Azure", + "repositoryRef": { + "branch": "master" + }, + "httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl" + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "wait": true, + "postBuild": { + "substitute": { + "cluster_env": "prod", + "replica_count": "2" + }, + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-test", + "optional": true + } + ] + } + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false, + "wait": false, + "postBuild": { + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-values", + "optional": true + }, + { + "kind": "Secret", + "name": "secret-name", + "optional": false + } + ] + } + } + }, + "waitForReconciliation": true, + "reconciliationWaitDuration": "PT30M" + } + } + }, + "responses": { + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + }, + "httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl" + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-kustomization1", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "wait": true, + "postBuild": { + "substitute": { + "cluster_env": "prod", + "replica_count": "2" + }, + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-test", + "optional": true + } + ] + } + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false, + "wait": false, + "postBuild": { + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-values", + "optional": true + }, + { + "kind": "Secret", + "name": "secret-name", + "optional": false + } + ] + } + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + }, + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/operationId?api-version=2024-11-01" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + }, + "httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl" + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "wait": true, + "postBuild": { + "substitute": { + "cluster_env": "prod", + "replica_count": "2" + }, + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-test", + "optional": true + } + ] + } + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false, + "wait": false, + "postBuild": { + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-values", + "optional": true + }, + { + "kind": "Secret", + "name": "secret-name", + "optional": false + } + ] + } + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/DeleteFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/DeleteFluxConfiguration.json new file mode 100644 index 000000000000..ba2333a56ba7 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/DeleteFluxConfiguration.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2024-11-01", + "clusterName": "clusterName1" + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/{operationId}", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId?api-version=2024-11-01", + "x-ms-async-operation-timeout": "PT1H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status." + }, + "200": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/GetFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/GetFluxConfiguration.json new file mode 100644 index 000000000000..88f18e50ad83 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/GetFluxConfiguration.json @@ -0,0 +1,174 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2024-11-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-kustomization1", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "wait": true, + "postBuild": { + "substitute": { + "cluster_env": "prod", + "replica_count": "2" + }, + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-test", + "optional": true + } + ] + } + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false, + "wait": false, + "postBuild": { + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-values", + "optional": true + }, + { + "kind": "Secret", + "name": "secret-name", + "optional": false + } + ] + } + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": { + "name": "my-name", + "namespace": "my-namespace" + }, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/GetFluxConfigurationAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/GetFluxConfigurationAsyncOperationStatus.json new file mode 100644 index 000000000000..5c4cf95bff78 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/GetFluxConfigurationAsyncOperationStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2024-11-01", + "clusterName": "clusterName1", + "operationId": "99999999-9999-9999-9999-999999999999" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Succeeded", + "properties": {}, + "error": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/ListFluxConfigurations.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/ListFluxConfigurations.json new file mode 100644 index 000000000000..5c0e1c1ad2ae --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/ListFluxConfigurations.json @@ -0,0 +1,214 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2024-11-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-kustomization1", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "wait": true, + "postBuild": { + "substitute": { + "cluster_env": "prod", + "replica_count": "2" + }, + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-test", + "optional": true + } + ] + } + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false, + "wait": false, + "postBuild": { + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-values", + "optional": true + }, + { + "kind": "Secret", + "name": "secret-name", + "optional": false + } + ] + } + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-kustomization1", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/PatchFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/PatchFluxConfiguration.json new file mode 100644 index 000000000000..ea918a0b87bd --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/examples/PatchFluxConfiguration.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2024-11-01", + "clusterName": "clusterName1", + "fluxConfigurationPatch": { + "properties": { + "suspend": true, + "gitRepository": { + "url": "https://github.com/jonathan-innis/flux2-kustomize-helm-example.git" + }, + "kustomizations": { + "srs-kustomization1": null, + "srs-kustomization2": { + "path": "./test/alt-path", + "syncIntervalInSeconds": 300, + "dependsOn": null + }, + "srs-kustomization3": { + "path": "./test/another-path", + "syncIntervalInSeconds": 300 + } + } + } + } + }, + "responses": { + "200": { + "description": "FluxConfiguration properties from not updating any property values.", + "body": { + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/jonathan-innis/flux2-kustomize-helm-example.git", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization2": { + "path": "./test/alt-path", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 300, + "retryIntervalInSeconds": 600, + "prune": false + }, + "srs-kustomization3": { + "path": "./test/another-path", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 300, + "retryIntervalInSeconds": null, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + }, + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/operationId", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/operationId?api-version=2024-11-01" + }, + "description": "FluxConfiguration properties and details of the Patch operation, including AsyncOperation url.", + "body": { + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/jonathan-innis/flux2-kustomize-helm-example.git", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization2": { + "path": "./test/alt-path", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 300, + "retryIntervalInSeconds": 600, + "prune": false + }, + "srs-kustomization3": { + "path": "./test/another-path", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 300, + "retryIntervalInSeconds": null, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/fluxconfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/fluxconfiguration.json new file mode 100644 index 000000000000..f0da9570c96b --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/fluxconfiguration.json @@ -0,0 +1,1892 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-11-01", + "title": "FluxConfigurationClient", + "description": "Use these APIs to create Flux Configuration resources through ARM, for Kubernetes Clusters." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}": { + "get": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "Gets details of the Flux Configuration.", + "operationId": "FluxConfigurations_Get", + "x-ms-examples": { + "Get Flux Configuration": { + "$ref": "./examples/GetFluxConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "Create a new Kubernetes Flux Configuration.", + "operationId": "FluxConfigurations_CreateOrUpdate", + "x-ms-examples": { + "Create Flux Configuration": { + "$ref": "./examples/CreateFluxConfiguration.json" + }, + "Create Flux Configuration with Bucket Source Kind": { + "$ref": "./examples/CreateFluxConfigurationWithBucket.json" + }, + "Create Flux Configuration with OCIRepository Source Kind": { + "$ref": "./examples/CreateFluxConfigurationWithOCIRepository.json" + }, + "Create Flux Configuration with Git Repository Provider": { + "$ref": "./examples/CreateFluxConfigurationWithProvider.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "fluxConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FluxConfiguration" + }, + "description": "Properties necessary to Create a FluxConfiguration." + } + ], + "responses": { + "200": { + "description": "Request received successfully for an existing resource.", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "201": { + "description": "Request received successfully.", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "Update an existing Kubernetes Flux Configuration.", + "operationId": "FluxConfigurations_Update", + "x-ms-examples": { + "Patch Flux Configuration": { + "$ref": "./examples/PatchFluxConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "fluxConfigurationPatch", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FluxConfigurationPatch" + }, + "description": "Properties to Patch in an existing Flux Configuration." + } + ], + "responses": { + "202": { + "description": "Request received successfully, and the resource will be updated asynchronously.", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "200": { + "description": "No update is done to fluxConfiguration so return OK.", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync from the source repo.", + "operationId": "FluxConfigurations_Delete", + "x-ms-examples": { + "Delete Flux Configuration": { + "$ref": "./examples/DeleteFluxConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "forceDelete", + "in": "query", + "description": "Delete the extension resource in Azure - not the normal asynchronous delete.", + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK. The request has been completed successfully." + }, + "202": { + "description": "Accepted. The request has been accepted for processing." + }, + "204": { + "description": "No Content. The request has been accepted but the configuration was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations": { + "get": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "List all Flux Configurations.", + "operationId": "FluxConfigurations_List", + "x-ms-examples": { + "List Flux Configuration": { + "$ref": "./examples/ListFluxConfigurations.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FluxConfigurationsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}": { + "get": { + "tags": [ + "FluxConfiguration Operation Status" + ], + "operationId": "FluxConfigOperationStatus_Get", + "description": "Get Async Operation status", + "x-ms-examples": { + "FluxConfigurationAsyncOperationStatus Get": { + "$ref": "./examples/GetFluxConfigurationAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "operationId", + "in": "path", + "description": "operation Id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "FluxConfiguration Operation Status", + "schema": { + "$ref": "../../../common/2022-03-01/definitions.json#/definitions/OperationStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ScopeDefinition": { + "description": "Scope at which the configuration will be installed.", + "type": "string", + "enum": [ + "cluster", + "namespace" + ], + "default": "cluster", + "x-ms-enum": { + "name": "ScopeType", + "modelAsString": true + } + }, + "SourceKindDefinition": { + "description": "Source Kind to pull the configuration data from.", + "type": "string", + "enum": [ + "GitRepository", + "Bucket", + "AzureBlob", + "OCIRepository" + ], + "x-ms-enum": { + "name": "SourceKindType", + "modelAsString": true + } + }, + "GitRepositoryDefinition": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration git repository.", + "type": "string", + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "repositoryRef": { + "description": "The source reference for the GitRepository object.", + "$ref": "#/definitions/RepositoryRefDefinition" + }, + "sshKnownHosts": { + "description": "Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH", + "type": "string", + "x-nullable": true + }, + "httpsUser": { + "description": "Plaintext HTTPS username used to access private git repositories over HTTPS", + "type": "string", + "x-nullable": true + }, + "httpsCACert": { + "description": "Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS", + "type": "string", + "x-nullable": true + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + }, + "provider": { + "description": "Name of the provider used for authentication.", + "type": "string", + "x-nullable": true, + "enum": [ + "Azure", + "Generic" + ], + "x-ms-enum": { + "name": "ProviderType", + "modelAsString": true, + "values": [ + { + "name": "Azure", + "value": "Azure", + "description": "Azure provider can be used to authenticate to Azure DevOps repositories using Managed Identity." + }, + { + "name": "Generic", + "value": "Generic", + "description": "Generic is the default provider that indicates secret-based authentication mechanism." + } + ] + } + } + } + }, + "GitRepositoryPatchDefinition": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration git repository.", + "type": "string", + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "repositoryRef": { + "description": "The source reference for the GitRepository object.", + "$ref": "#/definitions/RepositoryRefDefinition" + }, + "sshKnownHosts": { + "description": "Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH", + "type": "string", + "x-nullable": true + }, + "httpsUser": { + "description": "Plaintext HTTPS username used to access private git repositories over HTTPS", + "type": "string", + "x-nullable": true + }, + "httpsCACert": { + "description": "Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS", + "type": "string", + "x-nullable": true + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + }, + "provider": { + "description": "Name of the provider used for authentication.", + "type": "string", + "x-nullable": true, + "enum": [ + "Azure", + "Generic" + ], + "x-ms-enum": { + "name": "ProviderType", + "modelAsString": true, + "values": [ + { + "name": "Azure", + "value": "Azure", + "description": "Azure provider can be used to authenticate to Azure DevOps repositories using Managed Identity." + }, + { + "name": "Generic", + "value": "Generic", + "description": "Generic is the default provider that indicates secret-based authentication mechanism." + } + ] + } + } + } + }, + "RepositoryRefDefinition": { + "description": "The source reference for the GitRepository object.", + "type": "object", + "x-nullable": true, + "properties": { + "branch": { + "description": "The git repository branch name to checkout.", + "type": "string", + "x-nullable": true + }, + "tag": { + "description": "The git repository tag name to checkout. This takes precedence over branch.", + "type": "string", + "x-nullable": true + }, + "semver": { + "description": "The semver range used to match against git repository tags. This takes precedence over tag.", + "type": "string", + "x-nullable": true + }, + "commit": { + "description": "The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence over semver.", + "type": "string", + "x-nullable": true + } + } + }, + "BucketDefinition": { + "description": "Parameters to reconcile to the Bucket source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration S3 bucket.", + "type": "string" + }, + "bucketName": { + "description": "The bucket name to sync from the url endpoint for the flux configuration.", + "type": "string" + }, + "insecure": { + "description": "Specify whether to use insecure communication when puling data from the S3 bucket.", + "type": "boolean", + "default": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster bucket source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster bucket source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "accessKey": { + "description": "Plaintext access key used to securely access the S3 bucket", + "type": "string", + "x-nullable": true + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + } + } + }, + "BucketPatchDefinition": { + "description": "Parameters to reconcile to the Bucket source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration S3 bucket.", + "type": "string", + "x-nullable": true + }, + "bucketName": { + "description": "The bucket name to sync from the url endpoint for the flux configuration.", + "type": "string", + "x-nullable": true + }, + "insecure": { + "description": "Specify whether to use insecure communication when puling data from the S3 bucket.", + "type": "boolean", + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster bucket source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster bucket source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "accessKey": { + "description": "Plaintext access key used to securely access the S3 bucket", + "type": "string", + "x-nullable": true + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + } + } + }, + "AzureBlobDefinition": { + "description": "Parameters to reconcile to the AzureBlob source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration Azure Blob storage account.", + "type": "string", + "x-nullable": true + }, + "containerName": { + "description": "The Azure Blob container name to sync from the url endpoint for the flux configuration.", + "type": "string", + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster Azure Blob source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "servicePrincipal": { + "description": "Parameters to authenticate using Service Principal.", + "type": "object", + "$ref": "#/definitions/ServicePrincipalDefinition" + }, + "accountKey": { + "description": "The account key (shared key) to access the storage account", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + }, + "sasToken": { + "description": "The Shared Access token to access the storage container", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + }, + "managedIdentity": { + "description": "Parameters to authenticate using a Managed Identity.", + "type": "object", + "$ref": "#/definitions/ManagedIdentityDefinition" + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + } + } + }, + "AzureBlobPatchDefinition": { + "description": "Parameters to reconcile to the AzureBlob source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration Azure Blob storage account.", + "type": "string", + "x-nullable": true + }, + "containerName": { + "description": "The Azure Blob container name to sync from the url endpoint for the flux configuration.", + "type": "string", + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster Azure Blob source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "servicePrincipal": { + "description": "Parameters to authenticate using Service Principal.", + "type": "object", + "$ref": "#/definitions/ServicePrincipalPatchDefinition" + }, + "accountKey": { + "description": "The account key (shared key) to access the storage account", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + }, + "sasToken": { + "description": "The Shared Access token to access the storage container", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + }, + "managedIdentity": { + "description": "Parameters to authenticate using a Managed Identity.", + "type": "object", + "$ref": "#/definitions/ManagedIdentityPatchDefinition" + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + } + } + }, + "ServicePrincipalDefinition": { + "description": "Parameters to authenticate using Service Principal.", + "type": "object", + "x-nullable": true, + "properties": { + "clientId": { + "description": "The client Id for authenticating a Service Principal.", + "type": "string", + "x-nullable": true + }, + "tenantId": { + "description": "The tenant Id for authenticating a Service Principal", + "type": "string", + "x-nullable": true + }, + "clientSecret": { + "description": "The client secret for authenticating a Service Principal", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + }, + "clientCertificate": { + "description": "Base64-encoded certificate used to authenticate a Service Principal ", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + }, + "clientCertificatePassword": { + "description": "The password for the certificate used to authenticate a Service Principal ", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + }, + "clientCertificateSendChain": { + "description": "Specifies whether to include x5c header in client claims when acquiring a token to enable subject name / issuer based authentication for the Client Certificate", + "type": "boolean", + "default": false + } + } + }, + "ServicePrincipalPatchDefinition": { + "description": "Parameters to authenticate using Service Principal.", + "type": "object", + "x-nullable": true, + "properties": { + "clientId": { + "description": "The client Id for authenticating a Service Principal.", + "type": "string", + "x-nullable": true + }, + "tenantId": { + "description": "The tenant Id for authenticating a Service Principal", + "type": "string", + "x-nullable": true + }, + "clientSecret": { + "description": "The client secret for authenticating a Service Principal", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + }, + "clientCertificate": { + "description": "Base64-encoded certificate used to authenticate a Service Principal ", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + }, + "clientCertificatePassword": { + "description": "The password for the certificate used to authenticate a Service Principal ", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + }, + "clientCertificateSendChain": { + "description": "Specifies whether to include x5c header in client claims when acquiring a token to enable subject name / issuer based authentication for the Client Certificate", + "type": "boolean" + } + } + }, + "ManagedIdentityDefinition": { + "description": "Parameters to authenticate using a Managed Identity.", + "type": "object", + "x-nullable": true, + "properties": { + "clientId": { + "description": "The client Id for authenticating a Managed Identity.", + "type": "string", + "x-nullable": true + } + } + }, + "ManagedIdentityPatchDefinition": { + "description": "Parameters to authenticate using a Managed Identity.", + "type": "object", + "x-nullable": true, + "properties": { + "clientId": { + "description": "The client Id for authenticating a Managed Identity.", + "type": "string", + "x-nullable": true + } + } + }, + "OCIRepositoryDefinition": { + "description": "Parameters to reconcile to the OCIRepository source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration OCI repository.", + "type": "string", + "format": "uri", + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster OCI repository source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster OCI repository source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "repositoryRef": { + "description": "The source reference for the OCIRepository object.", + "$ref": "#/definitions/OCIRepositoryRefDefinition" + }, + "layerSelector": { + "description": "The layer to be pulled from the OCI artifact.", + "$ref": "#/definitions/LayerSelectorDefinition" + }, + "verify": { + "description": "Verification of the authenticity of an OCI Artifact.", + "$ref": "#/definitions/VerifyDefinition" + }, + "insecure": { + "description": "Specify whether to allow connecting to a non-TLS HTTP container registry.", + "type": "boolean", + "default": false + }, + "useWorkloadIdentity": { + "description": "Specifies whether to use Workload Identity to authenticate with the OCI repository.", + "type": "boolean", + "default": false + }, + "serviceAccountName": { + "description": "The service account name to authenticate with the OCI repository.", + "type": "string", + "x-nullable": true + }, + "tlsConfig": { + "description": "Parameters to authenticate using TLS config for OCI repository.", + "type": "object", + "$ref": "#/definitions/TlsConfigDefinition" + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + } + } + }, + "OCIRepositoryPatchDefinition": { + "description": "Parameters to reconcile to the OCIRepository source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration OCI repository.", + "type": "string", + "format": "uri", + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster OCI repository source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster OCI repository source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "repositoryRef": { + "description": "The source reference for the OCIRepository object.", + "$ref": "#/definitions/OCIRepositoryRefPatchDefinition" + }, + "layerSelector": { + "description": "The layer to be pulled from the OCI artifact.", + "$ref": "#/definitions/LayerSelectorPatchDefinition" + }, + "verify": { + "description": "Verification of the authenticity of an OCI Artifact.", + "$ref": "#/definitions/VerifyPatchDefinition" + }, + "insecure": { + "description": "Specify whether to allow connecting to a non-TLS HTTP container registry.", + "type": "boolean", + "default": false + }, + "useWorkloadIdentity": { + "description": "Specifies whether to use Workload Identity to authenticate with the OCI repository.", + "type": "boolean", + "default": false + }, + "serviceAccountName": { + "description": "The service account name to authenticate with the OCI repository.", + "type": "string", + "x-nullable": true + }, + "tlsConfig": { + "description": "Parameters to authenticate using TLS config for OCI repository.", + "type": "object", + "$ref": "#/definitions/TlsConfigPatchDefinition" + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + } + } + }, + "TlsConfigDefinition": { + "description": "Parameters to authenticate using TLS config for OCI repository.", + "type": "object", + "x-nullable": true, + "properties": { + "clientCertificate": { + "description": "Base64-encoded certificate used to authenticate a client with the OCI repository.", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + }, + "privateKey": { + "description": "Base64-encoded private key used to authenticate a client with the OCI repository.", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + }, + "caCertificate": { + "description": "Base64-encoded CA certificate used to verify the server.", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + } + } + }, + "TlsConfigPatchDefinition": { + "description": "Parameters to authenticate using TLS config for OCI repository.", + "type": "object", + "x-nullable": true, + "properties": { + "clientCertificate": { + "description": "Base64-encoded certificate used to authenticate a client with the OCI repository.", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + }, + "privateKey": { + "description": "Base64-encoded private key used to authenticate a client with the OCI repository.", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + }, + "caCertificate": { + "description": "Base64-encoded CA certificate used to verify the server.", + "type": "string", + "x-nullable": true, + "x-ms-secret": true + } + } + }, + "OCIRepositoryRefDefinition": { + "description": "The source reference for the OCIRepository object.", + "type": "object", + "x-nullable": true, + "properties": { + "tag": { + "description": "The OCI repository image tag name to pull. This defaults to 'latest'.", + "type": "string", + "x-nullable": true + }, + "semver": { + "description": "The semver range used to match against OCI repository tags. This takes precedence over tag.", + "type": "string", + "x-nullable": true + }, + "digest": { + "description": "The image digest to pull from OCI repository, the value should be in the format ‘sha256:’. This takes precedence over semver.", + "type": "string", + "x-nullable": true + } + } + }, + "OCIRepositoryRefPatchDefinition": { + "description": "The source reference for the OCIRepository object.", + "type": "object", + "x-nullable": true, + "properties": { + "tag": { + "description": "The OCI repository image tag name to pull. This defaults to 'latest'.", + "type": "string", + "x-nullable": true + }, + "semver": { + "description": "The semver range used to match against OCI repository tags. This takes precedence over tag.", + "type": "string", + "x-nullable": true + }, + "digest": { + "description": "The image digest to pull from OCI repository, the value should be in the format ‘sha256:’. This takes precedence over semver.", + "type": "string", + "x-nullable": true + } + } + }, + "LayerSelectorDefinition": { + "description": "Parameters to specify which layer to pull from the OCI artifact. By default, the first layer in the artifact is pulled.", + "type": "object", + "x-nullable": true, + "properties": { + "mediaType": { + "description": "The first layer matching the specified media type will be used.", + "type": "string", + "x-nullable": true + }, + "operation": { + "description": "The operation to be performed on the selected layer. The default value is 'extract', but it can be set to 'copy'.", + "$ref": "#/definitions/OperationDefinition", + "x-nullable": true + } + } + }, + "LayerSelectorPatchDefinition": { + "description": "Parameters to specify which layer to pull from the OCI artifact. By default, the first layer in the artifact is pulled.", + "type": "object", + "x-nullable": true, + "properties": { + "mediaType": { + "description": "The first layer matching the specified media type will be used.", + "type": "string", + "x-nullable": true + }, + "operation": { + "description": "The operation to be performed on the selected layer. The default value is 'extract', but it can be set to 'copy'.", + "$ref": "#/definitions/OperationDefinition", + "x-nullable": true + } + } + }, + "OperationDefinition": { + "description": "The operation to be performed on the selected layer. The default value is 'extract', but it can be set to 'copy'.", + "type": "string", + "enum": [ + "extract", + "copy" + ], + "x-ms-enum": { + "name": "OperationType", + "modelAsString": true + } + }, + "VerifyDefinition": { + "description": "Parameters to verify the authenticity of an OCI Artifact.", + "type": "object", + "x-nullable": true, + "properties": { + "provider": { + "description": "Verification provider name.", + "type": "string" + }, + "verificationConfig": { + "description": "An object containing trusted public keys of trusted authors.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "matchOidcIdentity": { + "description": "Array defining the criteria for matching the identity while verifying an OCI artifact.", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/MatchOidcIdentityDefinition" + }, + "x-ms-identifiers": [], + "x-nullable": true + } + } + }, + "VerifyPatchDefinition": { + "description": "Parameters to verify the authenticity of an OCI Artifact.", + "type": "object", + "x-nullable": true, + "properties": { + "provider": { + "description": "Verification provider name.", + "type": "string" + }, + "verificationConfig": { + "description": "An object containing trusted public keys of trusted authors.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "matchOidcIdentity": { + "description": "Array defining the criteria for matching the OIDC identity while verifying an OCI artifact.", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/MatchOidcIdentityPatchDefinition" + }, + "x-ms-identifiers": [], + "x-nullable": true + } + } + }, + "MatchOidcIdentityDefinition": { + "description": "MatchOIDCIdentity defines the criteria for matching the identity while verifying an OCI artifact.", + "type": "object", + "x-nullable": true, + "properties": { + "issuer": { + "description": "The regex pattern to match against to verify the OIDC issuer.", + "type": "string" + }, + "subject": { + "description": "The regex pattern to match against to verify the identity subject.", + "type": "string" + } + } + }, + "MatchOidcIdentityPatchDefinition": { + "description": "MatchOIDCIdentity defines the criteria for matching the identity while verifying an OCI artifact.", + "type": "object", + "x-nullable": true, + "properties": { + "issuer": { + "description": "The regex pattern to match against to verify the OIDC issuer.", + "type": "string" + }, + "subject": { + "description": "The regex pattern to match against to verify the identity subject.", + "type": "string" + } + } + }, + "PostBuildDefinition": { + "description": "The postBuild definitions defining variable substitutions for this Kustomization after kustomize build.", + "type": "object", + "x-nullable": true, + "properties": { + "substitute": { + "description": "Key/value pairs holding the variables to be substituted in this Kustomization.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "substituteFrom": { + "description": "Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/SubstituteFromDefinition" + }, + "x-ms-identifiers": [], + "x-nullable": true + } + } + }, + "PostBuildPatchDefinition": { + "description": "The postBuild definitions defining variable substitutions for this Kustomization after kustomize build.", + "type": "object", + "x-nullable": true, + "properties": { + "substitute": { + "description": "Key/value pairs holding the variables to be substituted in this Kustomization.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "substituteFrom": { + "description": "Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/SubstituteFromPatchDefinition" + }, + "x-ms-identifiers": [], + "x-nullable": true + } + } + }, + "SubstituteFromDefinition": { + "description": "Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.", + "type": "object", + "x-nullable": true, + "properties": { + "kind": { + "description": "Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.", + "type": "string" + }, + "name": { + "description": "Name of the ConfigMap/Secret that holds the variables to be used in substitution.", + "type": "string" + }, + "optional": { + "description": "Set to True to proceed without ConfigMap/Secret, if it is not present.", + "type": "boolean", + "default": false + } + } + }, + "SubstituteFromPatchDefinition": { + "description": "Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.", + "type": "object", + "x-nullable": true, + "properties": { + "kind": { + "description": "Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.", + "type": "string" + }, + "name": { + "description": "Name of the ConfigMap/Secret that holds the variables to be used in substitution.", + "type": "string" + }, + "optional": { + "description": "Set to True to proceed without ConfigMap/Secret, if it is not present.", + "type": "boolean", + "default": false + } + } + }, + "KustomizationDefinition": { + "description": "The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.", + "type": "object", + "x-nullable": true, + "properties": { + "name": { + "description": "Name of the Kustomization, matching the key in the Kustomizations object map.", + "type": "string", + "readOnly": true + }, + "path": { + "description": "The path in the source reference to reconcile on the cluster.", + "type": "string", + "default": "" + }, + "dependsOn": { + "description": "Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation.", + "type": "array", + "items": { + "description": "Kustomization name of dependency.", + "type": "string" + }, + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the Kustomization on the cluster.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the Kustomization on the cluster.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "retryIntervalInSeconds": { + "description": "The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "prune": { + "description": "Enable/disable garbage collections of Kubernetes objects created by this Kustomization.", + "type": "boolean", + "default": false + }, + "force": { + "description": "Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change.", + "type": "boolean", + "default": false + }, + "wait": { + "description": "Enable/disable health check for all Kubernetes objects created by this Kustomization.", + "type": "boolean", + "default": true + }, + "postBuild": { + "description": "Used for variable substitution for this Kustomization after kustomize build.", + "type": "object", + "$ref": "#/definitions/PostBuildDefinition", + "x-nullable": true + } + } + }, + "KustomizationPatchDefinition": { + "description": "The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.", + "type": "object", + "x-nullable": true, + "properties": { + "path": { + "description": "The path in the source reference to reconcile on the cluster.", + "type": "string", + "x-nullable": true + }, + "dependsOn": { + "description": "Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation.", + "type": "array", + "items": { + "description": "Kustomization name of dependency.", + "type": "string" + }, + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the Kustomization on the cluster.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the Kustomization on the cluster.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "retryIntervalInSeconds": { + "description": "The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "prune": { + "description": "Enable/disable garbage collections of Kubernetes objects created by this Kustomization.", + "type": "boolean", + "x-nullable": true + }, + "force": { + "description": "Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change.", + "type": "boolean", + "x-nullable": true + }, + "wait": { + "description": "Enable/disable health check for all Kubernetes objects created by this Kustomization.", + "type": "boolean", + "x-nullable": true + }, + "postBuild": { + "description": "Used for variable substitution for this Kustomization after kustomize build.", + "type": "object", + "$ref": "#/definitions/PostBuildPatchDefinition", + "x-nullable": true + } + } + }, + "KustomizationValidationDefinition": { + "description": "Specify whether to validate the Kubernetes objects referenced in the Kustomization before applying them to the cluster.", + "type": "string", + "enum": [ + "none", + "client", + "server" + ], + "default": "none", + "x-ms-enum": { + "name": "KustomizationValidationType", + "modelAsString": true + } + }, + "ObjectStatusDefinition": { + "description": "Statuses of objects deployed by the user-specified kustomizations from the git repository.", + "type": "object", + "x-nullable": true, + "properties": { + "name": { + "description": "Name of the applied object", + "type": "string" + }, + "namespace": { + "description": "Namespace of the applied object", + "type": "string" + }, + "kind": { + "description": "Kind of the applied object", + "type": "string" + }, + "complianceState": { + "description": "Compliance state of the applied object showing whether the applied object has come into a ready state on the cluster.", + "type": "string", + "$ref": "#/definitions/FluxComplianceStateDefinition" + }, + "appliedBy": { + "description": "Object reference to the Kustomization that applied this object", + "type": "object", + "$ref": "#/definitions/ObjectReferenceDefinition", + "x-nullable": true + }, + "statusConditions": { + "description": "List of Kubernetes object status conditions present on the cluster", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/ObjectStatusConditionDefinition" + }, + "x-nullable": true, + "x-ms-identifiers": [ + "type" + ] + }, + "helmReleaseProperties": { + "description": "Additional properties that are provided from objects of the HelmRelease kind", + "type": "object", + "$ref": "#/definitions/HelmReleasePropertiesDefinition", + "x-nullable": true + } + } + }, + "ObjectReferenceDefinition": { + "description": "Object reference to a Kubernetes object on a cluster", + "type": "object", + "x-nullable": true, + "properties": { + "name": { + "description": "Name of the object", + "type": "string" + }, + "namespace": { + "description": "Namespace of the object", + "type": "string" + } + } + }, + "ObjectStatusConditionDefinition": { + "description": "Status condition of Kubernetes object", + "type": "object", + "properties": { + "lastTransitionTime": { + "description": "Last time this status condition has changed", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "A more verbose description of the object status condition", + "type": "string" + }, + "reason": { + "description": "Reason for the specified status condition type status", + "type": "string" + }, + "status": { + "description": "Status of the Kubernetes object condition type", + "type": "string" + }, + "type": { + "description": "Object status condition type for this object", + "type": "string" + } + } + }, + "HelmReleasePropertiesDefinition": { + "description": "Properties for HelmRelease objects", + "type": "object", + "x-nullable": true, + "properties": { + "lastRevisionApplied": { + "description": "The revision number of the last released object change", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "helmChartRef": { + "description": "The reference to the HelmChart object used as the source to this HelmRelease", + "type": "object", + "$ref": "#/definitions/ObjectReferenceDefinition" + }, + "failureCount": { + "description": "Total number of times that the HelmRelease failed to install or upgrade", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "installFailureCount": { + "description": "Number of times that the HelmRelease failed to install", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "upgradeFailureCount": { + "description": "Number of times that the HelmRelease failed to upgrade", + "type": "integer", + "format": "int64", + "x-nullable": true + } + } + }, + "FluxComplianceStateDefinition": { + "description": "Compliance state of the cluster object.", + "type": "string", + "enum": [ + "Compliant", + "Non-Compliant", + "Pending", + "Suspended", + "Unknown" + ], + "default": "Unknown", + "x-ms-enum": { + "name": "FluxComplianceState", + "modelAsString": true + } + }, + "FluxConfiguration": { + "type": "object", + "description": "The Flux Configuration object returned in Get & Put response.", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Properties to create a Flux Configuration resource", + "properties": { + "scope": { + "description": "Scope at which the operator will be installed.", + "$ref": "#/definitions/ScopeDefinition", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "namespace": { + "description": "The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only.", + "type": "string", + "default": "default", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "sourceKind": { + "description": "Source Kind to pull the configuration data from.", + "$ref": "#/definitions/SourceKindDefinition", + "default": "GitRepository" + }, + "suspend": { + "description": "Whether this configuration should suspend its reconciliation of its kustomizations and sources.", + "type": "boolean", + "default": false + }, + "gitRepository": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "$ref": "#/definitions/GitRepositoryDefinition" + }, + "bucket": { + "description": "Parameters to reconcile to the Bucket source kind type.", + "type": "object", + "$ref": "#/definitions/BucketDefinition" + }, + "azureBlob": { + "description": "Parameters to reconcile to the AzureBlob source kind type.", + "type": "object", + "$ref": "#/definitions/AzureBlobDefinition" + }, + "ociRepository": { + "description": "Parameters to reconcile to the OCIRepository source kind type.", + "type": "object", + "$ref": "#/definitions/OCIRepositoryDefinition" + }, + "kustomizations": { + "description": "Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/KustomizationDefinition" + } + }, + "configurationProtectedSettings": { + "description": "Key-value pairs of protected configuration settings for the configuration", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + }, + "statuses": { + "description": "Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects provisioned by the fluxConfiguration.", + "type": "array", + "readOnly": true, + "x-nullable": true, + "items": { + "type": "object", + "$ref": "#/definitions/ObjectStatusDefinition" + }, + "x-ms-identifiers": [ + "name", + "namespace", + "kind" + ] + }, + "repositoryPublicKey": { + "description": "Public Key associated with this fluxConfiguration (either generated within the cluster or provided by the user).", + "type": "string", + "x-nullable": true, + "readOnly": true + }, + "sourceSyncedCommitId": { + "description": "Branch and/or SHA of the source commit synced with the cluster.", + "type": "string", + "x-nullable": true, + "readOnly": true + }, + "sourceUpdatedAt": { + "description": "Datetime the fluxConfiguration synced its source on the cluster.", + "type": "string", + "format": "date-time", + "x-nullable": true, + "readOnly": true + }, + "statusUpdatedAt": { + "description": "Datetime the fluxConfiguration synced its status on the cluster with Azure.", + "type": "string", + "format": "date-time", + "x-nullable": true, + "readOnly": true + }, + "waitForReconciliation": { + "description": "Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.", + "type": "boolean", + "x-nullable": true + }, + "reconciliationWaitDuration": { + "description": "Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D", + "type": "string", + "x-nullable": true + }, + "complianceState": { + "description": "Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects.", + "type": "string", + "readOnly": true, + "$ref": "#/definitions/FluxComplianceStateDefinition" + }, + "provisioningState": { + "description": "Status of the creation of the fluxConfiguration.", + "type": "string", + "readOnly": true, + "$ref": "../../../common/2022-03-01/definitions.json#/definitions/ProvisioningStateDefinition" + }, + "errorMessage": { + "description": "Error message returned to the user in the case of provisioning failure.", + "type": "string", + "x-nullable": true, + "readOnly": true + } + } + }, + "systemData": { + "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "FluxConfigurationPatch": { + "description": "The Flux Configuration Patch Request object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Updatable properties of an Flux Configuration Patch Request", + "properties": { + "sourceKind": { + "description": "Source Kind to pull the configuration data from.", + "$ref": "#/definitions/SourceKindDefinition", + "x-nullable": true + }, + "suspend": { + "description": "Whether this configuration should suspend its reconciliation of its kustomizations and sources.", + "type": "boolean", + "x-nullable": true + }, + "gitRepository": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "$ref": "#/definitions/GitRepositoryPatchDefinition" + }, + "bucket": { + "description": "Parameters to reconcile to the Bucket source kind type.", + "type": "object", + "$ref": "#/definitions/BucketPatchDefinition" + }, + "azureBlob": { + "description": "Parameters to reconcile to the AzureBlob source kind type.", + "type": "object", + "$ref": "#/definitions/AzureBlobPatchDefinition" + }, + "ociRepository": { + "description": "Parameters to reconcile to the OCIRepository source kind type.", + "type": "object", + "$ref": "#/definitions/OCIRepositoryPatchDefinition" + }, + "kustomizations": { + "description": "Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/KustomizationPatchDefinition" + } + }, + "configurationProtectedSettings": { + "description": "Key-value pairs of protected configuration settings for the configuration", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + } + } + } + } + }, + "FluxConfigurationsList": { + "description": "Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/FluxConfiguration" + }, + "description": "List of Flux Configurations within a Kubernetes cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of configuration objects, if any." + } + } + } + }, + "parameters": { + "FluxConfigurationNameParameter": { + "name": "fluxConfigurationName", + "in": "path", + "description": "Name of the Flux Configuration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.csharp.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.csharp.md new file mode 100644 index 000000000000..d4c0c5dbe88c --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Azure.Management.KubernetesConfiguration.Operations + output-folder: $(csharp-sdks-folder)/kubernetesconfiguration/Microsoft.Azure.Management.KubernetesConfiguration/src/Generated +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.go.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.go.md new file mode 100644 index 000000000000..20f9faa49790 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.go.md @@ -0,0 +1,28 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) && !$(track2) +go: + license-header: MICROSOFT_MIT_NO_VERSION + namespace: kubernetesconfiguration + clear-output-folder: true +``` + +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/kubernetesconfiguration/armkubernetesconfiguration/operations +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + +### Tag: package-2024-11 and go + +These settings apply only when `--tag=package-2024-11 --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2024-11' && $(go) +namespace: kubernetesconfiguration +output-folder: $(go-sdk-folder)/services/stable/$(namespace)/mgmt/2024-11-01/operations +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.java.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.java.md new file mode 100644 index 000000000000..3fb1ccac1286 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.java.md @@ -0,0 +1,17 @@ +## Java + +These settings apply only when `--java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +### Tag: package-2024-11 and java + +These settings apply only when `--tag=package-2024-11 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2024-11' && $(java) +java: + namespace: com.microsoft.azure.management.kubernetesconfiguration.operations.v2024_11_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2024_11_01 + regenerate-manager: true + generate-interface: true +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.md new file mode 100644 index 000000000000..59d3a6b559c0 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.md @@ -0,0 +1,85 @@ +# kubernetesconfiguration + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for KubernetesConfiguration. + +## Getting Started + +To build the SDKs for Operations in KubernetesConfiguration, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the operations in KubernetesConfiguration. + +``` yaml +title: OperationsClient +description: Operations Client +openapi-type: arm +tag: package-2024-11 +``` + +--- + +### Tag: package-2024-11 + +These settings apply only when `--tag=package-2024-11` is specified on the command line. + +``` yaml $(tag) == 'package-2024-11' +input-file: + - stable/2024-11-01/operations.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_kubernetesconfiguration'] + - repo: azure-resource-manager-schemas + - repo: azure-powershell +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.python.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.python.md new file mode 100644 index 000000000000..90b60c27f536 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.python.md @@ -0,0 +1,24 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. +Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.kubernetesconfiguration.operations +package-name: azure-mgmt-kubernetesconfiguration-operations +no-namespace-folders: true +package-version: 1.1.0 +clear-output-folder: true +``` + +### Tag: package-2024-11 and python + +These settings apply only when `--tag=package-2024-11 --python` is specified on the command line. + +``` yaml $(tag) == 'package-2023-11' +namespace: azure.mgmt.kubernetesconfiguration.operations.v2024_11_01 +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/operations/v2024_11_01 +``` \ No newline at end of file diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.ruby.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.ruby.md new file mode 100644 index 000000000000..9515d6c6992f --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.ruby.md @@ -0,0 +1,20 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: azure_mgmt_kubernetesconfiguration_operations +package-version: "0.1.1" +azure-arm: true +``` + + +### Tag: package-2024-11 and ruby + +These settings apply only when `--tag=package-2024-11 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2024-11' && $(ruby) +namespace: "Azure::KubernetesConfiguration::Operations::Mgmt::V2024_11_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.typescript.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.typescript.md new file mode 100644 index 000000000000..ca5d13e5b7ce --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/readme.typescript.md @@ -0,0 +1,13 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-kubernetesconfiguration/operations" + output-folder: "$(typescript-sdks-folder)/sdk/kubernetesconfiguration/arm-kubernetesconfiguration" + override-client-name: OperationsClient + generate-metadata: true +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/stable/2024-11-01/examples/ListAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/stable/2024-11-01/examples/ListAsyncOperationStatus.json new file mode 100644 index 000000000000..5c966ff40a9c --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/stable/2024-11-01/examples/ListAsyncOperationStatus.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2024-11-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Deleting", + "properties": {}, + "error": null + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/cassandraExtension1/operations/88888888-8888-8888-8888-888888888888", + "name": "88888888-8888-8888-8888-888888888888", + "status": "Creating", + "properties": {}, + "error": null + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/stable/2024-11-01/examples/OperationsList.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/stable/2024-11-01/examples/OperationsList.json new file mode 100644 index 000000000000..99910504bbd1 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/stable/2024-11-01/examples/OperationsList.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "api-version": "2024-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/write", + "display": { + "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/write", + "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "description": "Creates or updates source control configuration.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/read", + "display": { + "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/read", + "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "description": "Gets source control configuration.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/delete", + "display": { + "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/delete", + "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "description": "Deletes source control configuration.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Get extension", + "description": "Get the specified Extension." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/write", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Create a Extension", + "description": "Create the Extension specified." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/delete", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Delete Extension", + "description": "Delete the specified Extension." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/operations/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Get Extension Async Operation Status", + "description": "Get the Status of the Extension Async Operation." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Get fluxConfiguration", + "description": "Get the specified Flux Configuration." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/write", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Create a fluxConfiguration", + "description": "Create the Flux Configuration specified." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/delete", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Delete Flux Configuration", + "description": "Delete the specified Flux Configuration." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/operations/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Get Flux Configuration Async Operation Status", + "description": "Get the Status of the Flux Configuration Async Operation." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/register/action", + "display": { + "operation": "Microsoft.KubernetesConfiguration/register/action", + "resource": "Register", + "description": "Registers subscription to Microsoft.KubernetesConfiguration resource provider.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensionTypes/read", + "display": { + "operation": "Microsoft.KubernetesConfiguration/extensionTypes/read", + "resource": "extensionTypes", + "description": "Get Kubernetes Configuration Available Extensions", + "provider": "Microsoft KubernetesConfiguration" + }, + "isDataAction": false, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/stable/2024-11-01/operations.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/stable/2024-11-01/operations.json new file mode 100644 index 000000000000..25ab8d748c70 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/operations/stable/2024-11-01/operations.json @@ -0,0 +1,127 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-11-01", + "title": "OperationsClient", + "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations": { + "get": { + "tags": [ + "Operations in a Cluster" + ], + "operationId": "OperationStatus_List", + "description": "List Async Operations, currently in progress, in a cluster", + "x-ms-examples": { + "AsyncOperationStatus List": { + "$ref": "./examples/ListAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operations in a cluster", + "schema": { + "$ref": "../../../common/2022-03-01/definitions.json#/definitions/OperationStatusList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.KubernetesConfiguration/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "BatchAccountDelete": { + "$ref": "./examples/OperationsList.json" + } + }, + "description": "List all the available operations the KubernetesConfiguration resource provider supports.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "../../../common/2022-03-01/definitions.json#/definitions/ResourceProviderOperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateEndpointConnectionDelete.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..b5e83b4a695d --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateEndpointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "privateEndpointConnectionName": "private-endpoint-connection-name", + "api-version": "2024-11-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateEndpointConnectionGet.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..484bacfde9a3 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateEndpointConnectionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "privateEndpointConnectionName": "private-endpoint-connection-name", + "api-version": "2024-11-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers//privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateEndpointConnectionList.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateEndpointConnectionList.json new file mode 100644 index 000000000000..c82661c91821 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateEndpointConnectionList.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "api-version": "2024-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name-2", + "name": "private-endpoint-connection-name", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name-2", + "name": "private-endpoint-connection-name-2", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name-2" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my connection.", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateEndpointConnectionUpdate.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..4a593ada75cc --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateEndpointConnectionUpdate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "privateEndpointConnectionName": "private-endpoint-connection-name", + "api-version": "2024-11-01-preview", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + }, + "202": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopePrivateLinkResourceGet.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopePrivateLinkResourceGet.json new file mode 100644 index 000000000000..86e291200784 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopePrivateLinkResourceGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "api-version": "2024-11-01-preview", + "groupName": "KubernetesConfiguration" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/myPrivateLinkScope/privateLinkResources/KubernetesConfiguration", + "name": "KubernetesConfiguration", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes/privateLinkResources", + "properties": { + "groupId": "KubernetesConfiguration", + "requiredMembers": [ + "KubernetesConfiguration.Server", + "KubernetesConfiguration.K8sConfiguration", + "GuestConfig.DP" + ], + "requiredZoneNames": [ + "privatelink.his.arc.azure.com", + "privatelink.kubernetesconfiguration.azure.com", + "privatelink.Guestconfiguration.azure.com" + ] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopePrivateLinkResourceListGet.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopePrivateLinkResourceListGet.json new file mode 100644 index 000000000000..b49117446bff --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopePrivateLinkResourceListGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "api-version": "2024-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/myPrivateLinkScope/privateLinkResources/KubernetesConfiguration", + "name": "KubernetesConfiguration", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes/privateLinkResources", + "properties": { + "groupId": "KubernetesConfiguration", + "requiredMembers": [ + "KubernetesConfiguration.ServerDP", + "KubernetesConfiguration.K8sConfigurationDP", + "KubernetesConfiguration.GuestConfigDP" + ], + "requiredZoneNames": [ + "privatelink.his.arc.azure.com", + "privatelink.kubernetesconfiguration.azure.com", + "privatelink.Guestconfiguration.azure.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesCreate.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesCreate.json new file mode 100644 index 000000000000..532b8e9505a3 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesCreate.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2024-11-01-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "scopeName": "my-privatelinkscope", + "parameters": { + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "privateLinkScopeId": "e5dc51d3-92ed-4d7e-947a-775ea79b4919", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled", + "clusterResourceId": "/subscriptions/e9c17b5c-b7ef-4c29-aae7-9338ed5dcb43/resourceGroups/my-resource-group/providers/Microsoft.Kubernetes/ConnectedClusters/my-clusterName", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "privateLinkScopeId": "e5dc51d3-92ed-4d7e-947a-775ea79b4919", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled", + "clusterResourceId": "/subscriptions/e9c17b5c-b7ef-4c29-aae7-9338ed5dcb43/resourceGroups/my-resource-group/providers/Microsoft.Kubernetes/ConnectedClusters/my-clusterName", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesDelete.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesDelete.json new file mode 100644 index 000000000000..c701bb963579 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-11-01-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "scopeName": "my-privatelinkscope" + }, + "responses": { + "200": {}, + "204": {}, + "202": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesGet.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesGet.json new file mode 100644 index 000000000000..34a7c1dde97b --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-11-01-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "scopeName": "my-privatelinkscope" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "privateLinkScopeId": "f5dc51d3-92ed-4d7e-947a-775ea79b4919", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled", + "clusterResourceId": "/subscriptions/e9c17b5c-b7ef-4c29-aae7-9338ed5dcb43/resourceGroups/my-resource-group/providers/Microsoft.Kubernetes/ConnectedClusters/my-clusterName", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesList.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesList.json new file mode 100644 index 000000000000..51b0a6a0d309 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesList.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2024-11-01-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "privateLinkScopeId": "e5dc51d3-92ed-4d7e-947a-775ea79b4919", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled", + "clusterResourceId": "/subscriptions/e9c17b5c-b7ef-4c29-aae7-9338ed5dcb43/resourceGroups/my-resource-group/providers/Microsoft.Kubernetes/ConnectedClusters/my-clusterName" + } + }, + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/my-other-privatelinkscope", + "name": "my-other-privatelinkscope", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "privateLinkScopeId": "f5dc51d3-92ed-4d7e-947a-775ea79b4919", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled", + "clusterResourceId": "/subscriptions/e9c17b5c-b7ef-4c29-aae7-9338ed5dcb43/resourceGroups/my-resource-group/providers/Microsoft.Kubernetes/ConnectedClusters/my-clusterName", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesListByResourceGroup.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesListByResourceGroup.json new file mode 100644 index 000000000000..97621ce31da7 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesListByResourceGroup.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2024-11-01-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "privateLinkScopeId": "f5dc51d3-92ed-4d7e-947a-775ea79b4919", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled", + "clusterResourceId": "/subscriptions/e9c17b5c-b7ef-4c29-aae7-9338ed5dcb43/resourceGroups/my-resource-group/providers/Microsoft.Kubernetes/ConnectedClusters/my-clusterName", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + }, + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/my-other-privatelinkscope", + "name": "my-other-privatelinkscope", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "privateLinkScopeId": "a5dc51d3-92ed-4d7e-947a-775ea79b4919", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled", + "clusterResourceId": "/subscriptions/e9c17b5c-b7ef-4c29-aae7-9338ed5dcb43/resourceGroups/my-resource-group/providers/Microsoft.Kubernetes/ConnectedClusters/my-clusterName", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesUpdate.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesUpdate.json new file mode 100644 index 000000000000..92f98ec70add --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesUpdate.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2024-11-01-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "scopeName": "my-privatelinkscope", + "parameters": { + "location": "westus", + "tags": { + "Tag1": "Value1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes", + "location": "westus", + "tags": { + "Tag1": "Value1" + }, + "properties": { + "privateLinkScopeId": "e5dc51d3-92ed-4d7e-947a-775ea79b4919", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled", + "clusterResourceId": "/subscriptions/e9c17b5c-b7ef-4c29-aae7-9338ed5dcb43/resourceGroups/my-resource-group/providers/Microsoft.Kubernetes/ConnectedClusters/my-clusterName", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes", + "location": "westus", + "tags": { + "Tag1": "Value1" + }, + "properties": { + "privateLinkScopeId": "e5dc51d3-92ed-4d7e-947a-775ea79b4919", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled", + "clusterResourceId": "/subscriptions/e9c17b5c-b7ef-4c29-aae7-9338ed5dcb43/resourceGroups/my-resource-group/providers/Microsoft.Kubernetes/ConnectedClusters/my-clusterName", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesUpdateTagsOnly.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesUpdateTagsOnly.json new file mode 100644 index 000000000000..9c1a927631bc --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/examples/PrivateLinkScopesUpdateTagsOnly.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2024-11-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "my-resource-group", + "scopeName": "my-privatelinkscope", + "PrivateLinkScopeTags": { + "tags": { + "Tag1": "Value1", + "Tag2": "Value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes", + "location": "westus", + "tags": { + "Tag1": "Value1", + "Tag2": "Value2" + }, + "properties": { + "privateLinkScopeId": "e5dc51d3-92ed-4d7e-947a-775ea79b4919", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled", + "clusterResourceId": "/subscriptions/e9c17b5c-b7ef-4c29-aae7-9338ed5dcb43/resourceGroups/my-resource-group/providers/Microsoft.Kubernetes/ConnectedClusters/my-clusterName", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.KubernetesConfiguration/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/privateLinkScopes.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/privateLinkScopes.json new file mode 100644 index 000000000000..0f04a9cb32c0 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/preview/2024-11-01-preview/privateLinkScopes.json @@ -0,0 +1,701 @@ +{ + "swagger": "2.0", + "info": { + "title": "MicrosoftKubernetesConfigurationClient", + "x-ms-code-generation-settings": { + "name": "MicrosoftKubernetesConfigurationClient" + }, + "description": "Azure Arc K8s Clusters API reference for Private Link's Scopes management.", + "version": "2024-11-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/privateLinkScopes": { + "get": { + "description": "Gets a list of all Azure Arc PrivateLinkScopes within a subscription.", + "operationId": "PrivateLinkScopes_List", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A list containing 0 or more Azure Arc PrivateLinkScope definitions.", + "schema": { + "$ref": "#/definitions/KubernetesConfigurationPrivateLinkScopeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateLinkScopesList.json": { + "$ref": "./examples/PrivateLinkScopesList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KubernetesConfiguration/privateLinkScopes": { + "get": { + "description": "Gets a list of Azure Arc PrivateLinkScopes within a resource group.", + "operationId": "PrivateLinkScopes_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A list containing 0 or more Azure Arc PrivateLinkScope definitions.", + "schema": { + "$ref": "#/definitions/KubernetesConfigurationPrivateLinkScopeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateLinkScopeListByResourceGroup": { + "$ref": "./examples/PrivateLinkScopesListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/{scopeName}": { + "delete": { + "description": "Deletes a Azure Arc PrivateLinkScope.", + "operationId": "PrivateLinkScopes_Delete", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + } + ], + "responses": { + "200": { + "description": "Successful request when deleting an Azure Arc PrivateLinkScope." + }, + "202": { + "description": "Accepted." + }, + "204": { + "description": "The specified PrivateLinkScope does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "PrivateLinkScopesDelete": { + "$ref": "./examples/PrivateLinkScopesDelete.json" + } + } + }, + "get": { + "description": "Returns a Azure Arc PrivateLinkScope.", + "operationId": "PrivateLinkScopes_Get", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + } + ], + "responses": { + "200": { + "description": "Azure Arc PrivateLinkScope definition.", + "schema": { + "$ref": "#/definitions/KubernetesConfigurationPrivateLinkScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateLinkScopeGet": { + "$ref": "./examples/PrivateLinkScopesGet.json" + } + } + }, + "put": { + "description": "Creates (or updates) a Azure Arc PrivateLinkScope. Note: You cannot specify a different value for InstrumentationKey nor AppId in the Put operation.", + "operationId": "PrivateLinkScopes_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "parameters", + "description": "Properties that need to be specified to create or update a Azure Arc for Servers and Clusters PrivateLinkScope.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/KubernetesConfigurationPrivateLinkScope" + } + } + ], + "responses": { + "200": { + "description": "Successful request when creating or updating a Azure Arc PrivateLinkScope. The updated PrivateLinkScope is returned.", + "schema": { + "$ref": "#/definitions/KubernetesConfigurationPrivateLinkScope" + } + }, + "201": { + "description": "Successful request when creating or updating a Azure Arc PrivateLinkScope. The updated PrivateLinkScope was created and is returned.", + "schema": { + "$ref": "#/definitions/KubernetesConfigurationPrivateLinkScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateLinkScopeCreate": { + "$ref": "./examples/PrivateLinkScopesCreate.json" + }, + "PrivateLinkScopeUpdate": { + "$ref": "./examples/PrivateLinkScopesUpdate.json" + } + } + }, + "patch": { + "description": "Updates an existing PrivateLinkScope's tags. To update other fields use the CreateOrUpdate method.", + "operationId": "PrivateLinkScopes_UpdateTags", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "PrivateLinkScopeTags", + "description": "Updated tag information to set into the PrivateLinkScope instance.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsResource" + } + } + ], + "responses": { + "200": { + "description": "Updating the Azure Arc PrivateLinkScope's tags was successful. PrivateLinkScope tags are updated and returned with the rest of the PrivateLinkScope's object properties.", + "schema": { + "$ref": "#/definitions/KubernetesConfigurationPrivateLinkScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateLinkScopeUpdateTagsOnly": { + "$ref": "./examples/PrivateLinkScopesUpdateTagsOnly.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/{scopeName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope.", + "operationId": "PrivateLinkResources_ListByPrivateLinkScope", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/PrivateLinkScopePrivateLinkResourceListGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/{scopeName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope.", + "operationId": "PrivateLinkResources_Get", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "$ref": "#/parameters/GroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private link resource.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/PrivateLinkScopePrivateLinkResourceGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Gets a private endpoint connection.", + "operationId": "PrivateEndpointConnections_Get", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private endpoint connection.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/PrivateEndpointConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Approve or reject a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "Successfully approved or rejected private endpoint connection.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Approve or reject a private endpoint connection with a given name.": { + "$ref": "./examples/PrivateEndpointConnectionUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "Successfully deleted private endpoint connection." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "Private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a private endpoint connection with a given name.": { + "$ref": "./examples/PrivateEndpointConnectionDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KubernetesConfiguration/privateLinkScopes/{scopeName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Gets all private endpoint connections on a private link scope.", + "operationId": "PrivateEndpointConnections_ListByPrivateLinkScope", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets list of private endpoint connections on a private link scope.": { + "$ref": "./examples/PrivateEndpointConnectionList.json" + } + } + } + } + }, + "definitions": { + "TagsResource": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "A container holding only the Tags for a resource, allowing the user to update the tags on a PrivateLinkScope instance." + }, + "KubernetesConfigurationPrivateLinkScope": { + "type": "object", + "properties": { + "properties": { + "description": "Properties that define a Azure Arc PrivateLinkScope resource.", + "$ref": "#/definitions/KubernetesConfigurationPrivateLinkScopeProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "description": "An Azure Arc PrivateLinkScope definition." + }, + "KubernetesConfigurationPrivateLinkScopeProperties": { + "type": "object", + "description": "Properties that define a Azure Arc PrivateLinkScope resource.", + "required": [ + "clusterResourceId" + ], + "properties": { + "publicNetworkAccess": { + "description": "Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "provisioningState": { + "description": "Current state of this PrivateLinkScope: whether or not is has been provisioned within the resource group it is defined. Users cannot change this value but are able to read from it. Values will include Provisioning ,Succeeded, Canceled and Failed.", + "type": "string", + "readOnly": true, + "$ref": "../../../common/2022-03-01/definitions.json#/definitions/ProvisioningStateDefinition" + }, + "clusterResourceId": { + "type": "string", + "description": "Managed Cluster ARM ID for the private link scope (Required)" + }, + "privateLinkScopeId": { + "readOnly": true, + "description": "The Guid id of the private link scope.", + "type": "string" + }, + "privateEndpointConnections": { + "readOnly": true, + "description": "The collection of associated Private Endpoint Connections.", + "type": "array", + "items": { + "$ref": "../../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnection" + } + } + } + }, + "KubernetesConfigurationPrivateLinkScopeListResult": { + "type": "object", + "description": "Describes the list of Azure Arc PrivateLinkScope resources.", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of Azure Arc PrivateLinkScope definitions.", + "items": { + "$ref": "#/definitions/KubernetesConfigurationPrivateLinkScope" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to get the next set of Azure Arc PrivateLinkScope definitions if too many PrivateLinkScopes where returned in the result set." + } + } + }, + "PublicNetworkAccessType": { + "type": "string", + "description": "The network access policy to determine if Azure Arc agents can use public Azure Arc service endpoints. Defaults to disabled (access to Azure Arc services only via private link).", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccessType", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Allows Azure Arc agents to communicate with Azure Arc services over both public (internet) and private endpoints." + }, + { + "value": "Disabled", + "description": "Does not allow Azure Arc agents to communicate with Azure Arc services over public (internet) endpoints. The agents must use the private link." + } + ] + } + } + }, + "parameters": { + "PrivateLinkScopeName": { + "name": "scopeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Arc PrivateLinkScope resource.", + "x-ms-parameter-location": "method" + }, + "GroupNameParameter": { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.csharp.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.csharp.md new file mode 100644 index 000000000000..040565a27dfe --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Azure.Management.KubernetesConfiguration.PrivateLinkScopes + output-folder: $(csharp-sdks-folder)/kubernetesconfiguration/Microsoft.Azure.Management.KubernetesConfiguration/src/Generated +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.go.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.go.md new file mode 100644 index 000000000000..0e5cfbb2dcc5 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.go.md @@ -0,0 +1,28 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) && !$(track2) +go: + license-header: MICROSOFT_MIT_NO_VERSION + namespace: kubernetesconfiguration + clear-output-folder: true +``` + +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/kubernetesconfiguration/armkubernetesconfiguration/privatelinkscopes +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + +### Tag: package-preview-2024-11 and go + +These settings apply only when `--tag=package-preview-2024-11 --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-preview-2024-11' && $(go) +namespace: kubernetesconfiguration +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2024-11-01-preview/privatelinkscopes +``` \ No newline at end of file diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.java.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.java.md new file mode 100644 index 000000000000..8ce29704c171 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.java.md @@ -0,0 +1,17 @@ +## Java + +These settings apply only when `--java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +### Tag: package-preview-2024-11 and java + +These settings apply only when `--tag=package-preview-2024-11 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-preview-2024-11' && $(java) +java: + namespace: com.microsoft.azure.management.kubernetesconfiguration.privatelinkscopes.v2024_11_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2024_04_01_preview + regenerate-manager: true + generate-interface: true +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.md new file mode 100644 index 000000000000..190d2976c849 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.md @@ -0,0 +1,83 @@ +# privatelinkscopes + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for PrivateLinkScopes. + +## Getting Started + +To build the SDKs for PrivateLinkScopes, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the PrivateLinkScopes. + +``` yaml +title: PrivateLinkScopesClient +description: PrivateLinkScopes Client +openapi-type: arm +tag: package-2024-11 +``` + +--- + +### Tag: package-preview-2024-11 + +These settings apply only when `--tag=package-preview-2024-11` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2024-11' +input-file: + - preview/2024-11-01-preview/privateLinkScopes.json +``` + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_kubernetesconfiguration'] + - repo: azure-resource-manager-schemas + - repo: azure-powershell +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.python.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.python.md new file mode 100644 index 000000000000..66757e6efb98 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.python.md @@ -0,0 +1,25 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. +Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.kubernetesconfiguration.privatelinkscopes +package-name: azure-mgmt-kubernetesconfiguration-privatelinkscopes +no-namespace-folders: true +package-version: 1.1.0 +clear-output-folder: true +``` + +### Tag: package-preview-2024-11-only and python + +These settings apply only when `--tag=package-preview-2024-11-only --python` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2024-11-only' +namespace: azure.mgmt.kubernetesconfiguration.privatelinkscopes.v2024_11_01_preview +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/privatelinkscopes/v2024_04_01_preview +``` + diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.ruby.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.ruby.md new file mode 100644 index 000000000000..ed22249fc83d --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.ruby.md @@ -0,0 +1,19 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: azure_mgmt_kubernetesconfiguration_privatelinkscopes +package-version: "0.1.1" +azure-arm: true +``` + +### Tag: package-preview-2024-11 and ruby + +These settings apply only when `--tag=package-preview-2024-11 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-preview-2024-11' && $(ruby) +namespace: "Azure::KubernetesConfiguration::PrivateLinkScopes::Mgmt::V2024_04_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.typescript.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.typescript.md new file mode 100644 index 000000000000..7f4ef4655a18 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.typescript.md @@ -0,0 +1,13 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-kubernetesconfiguration/privatelinkscopes" + output-folder: "$(typescript-sdks-folder)/sdk/kubernetesconfiguration/arm-kubernetesconfiguration" + override-client-name: PrivateLinkScopesClient + generate-metadata: true +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.csharp.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.csharp.md new file mode 100644 index 000000000000..cd0661012a42 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Azure.Management.KubernetesConfiguration.SourceControlConfiguration + output-folder: $(csharp-sdks-folder)/kubernetesconfiguration/Microsoft.Azure.Management.KubernetesConfiguration/src/Generated +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.go.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.go.md new file mode 100644 index 000000000000..5ba5da87a82c --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.go.md @@ -0,0 +1,28 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) && !$(track2) +go: + license-header: MICROSOFT_MIT_NO_VERSION + namespace: kubernetesconfiguration + clear-output-folder: true +``` + +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/kubernetesconfiguration/sourcecontrolconfiguration +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + +### Tag: package-2024-11 and go + +These settings apply only when `--tag=package-2024-11 --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2024-11' && $(go) +namespace: kubernetesconfiguration +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2024-11-01/sourcecontrolconfiguration +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.java.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.java.md new file mode 100644 index 000000000000..bf606c120b32 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.java.md @@ -0,0 +1,17 @@ +## Java + +These settings apply only when `--java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +### Tag: package-2024-11 and java + +These settings apply only when `--tag=package-2024-11 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2024-11' && $(java) +java: + namespace: com.microsoft.azure.management.kubernetesconfiguration.sourcecontrolconfiguration.v2024_11_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/sourcecontrolconfiguration/mgmt-v2024_11_01 + regenerate-manager: true + generate-interface: true +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.md new file mode 100644 index 000000000000..07e6ae34625c --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.md @@ -0,0 +1,95 @@ +# sourcecontrolconfiguration + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for SourceControlConfiguration. + +## Getting Started + +To build the SDKs for SourceControlConfiguration, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the KubernetesConfiguration. + +``` yaml +title: SourceControlConfigurationClient +description: SourceControlConfiguration Client +openapi-type: arm +tag: package-2024-11 +``` + +--- + +### Tag: package-2024-11 + +These settings apply only when `--tag=package-2024-11` is specified on the command line. + +``` yaml $(tag) == 'package-2024-11' +input-file: + - stable/2024-11-01/kubernetesconfiguration.json +``` + + +## Suppression + +``` yaml +directive: + - suppress: TopLevelResourcesListBySubscription + reason: 'Microsoft.KubernetesConfiguration is a proxy resource provider under Microsoft.Kubernetes' + from: kubernetesconfiguration.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_kubernetesconfiguration'] + - repo: azure-resource-manager-schemas + - repo: azure-powershell +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.python.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.python.md new file mode 100644 index 000000000000..6848e58062a6 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.python.md @@ -0,0 +1,27 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. +Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.kubernetesconfiguration.sourcecontrolconfiguration +package-name: azure-mgmt-kubernetesconfiguration-sourcecontrolconfiguration +no-namespace-folders: true +package-version: 1.1.0 +clear-output-folder: true +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/sourcecontrolconfiguration/ +perform-load: false +``` + +### Tag: package-2024-11 and python + +These settings apply only when `--tag=package-2024-11 --python` is specified on the command line. + +``` yaml $(tag) == 'package-2024-11' +namespace: azure.mgmt.kubernetesconfiguration.sourcecontrolconfiguration.v2024_11_01 +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/sourcecontrolconfiguration/v2024_11_01 +``` + diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.ruby.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.ruby.md new file mode 100644 index 000000000000..0c14f467f175 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.ruby.md @@ -0,0 +1,19 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: azure_mgmt_kubernetesconfiguration_sourcecontrolconfiguration +package-version: "0.1.1" +azure-arm: true +``` + +### Tag: package-2024-11 and ruby + +These settings apply only when `--tag=package-2024-11 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2024-11' && $(ruby) +namespace: "Azure::KubernetesConfiguration::SourceControlConfiguration::Mgmt::V2024_11_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib +``` \ No newline at end of file diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.typescript.md b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.typescript.md new file mode 100644 index 000000000000..f2ce67b6be8c --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/readme.typescript.md @@ -0,0 +1,13 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-kubernetesconfiguration/sourcecontrolconfiguration" + output-folder: "$(typescript-sdks-folder)/sdk/kubernetesconfiguration/arm-kubernetesconfiguration" + override-client-name: SourceControlConfigurationClient + generate-metadata: true +``` diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/stable/2024-11-01/examples/CreateSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/stable/2024-11-01/examples/CreateSourceControlConfiguration.json new file mode 100644 index 000000000000..76c5e498627d --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/stable/2024-11-01/examples/CreateSourceControlConfiguration.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "sourceControlConfigurationName": "SRS_GitHubConfig", + "api-version": "2024-11-01", + "clusterName": "clusterName1", + "sourceControlConfiguration": { + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "configurationProtectedSettings": { + "protectedSetting1Key": "protectedSetting1Value" + }, + "enableHelmOperator": true, + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "description": "Details of the Kubernetes Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "enableHelmOperator": true, + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + }, + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Pending", + "lastConfigApplied": "2020-09-08T05:25:32.122Z", + "message": "Configuration successfully created", + "messageLevel": "Info" + } + } + } + }, + "200": { + "headers": {}, + "description": "Details of the Kubernetes Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "enableHelmOperator": true, + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + }, + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Pending", + "lastConfigApplied": "2020-09-08T05:25:32.122Z", + "message": "Configuration successfully created", + "messageLevel": "Info" + } + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/stable/2024-11-01/examples/DeleteSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/stable/2024-11-01/examples/DeleteSourceControlConfiguration.json new file mode 100644 index 000000000000..c7448a45d916 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/stable/2024-11-01/examples/DeleteSourceControlConfiguration.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "sourceControlConfigurationName": "SRS_GitHubConfig", + "api-version": "2024-11-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/stable/2024-11-01/examples/GetSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/stable/2024-11-01/examples/GetSourceControlConfiguration.json new file mode 100644 index 000000000000..b53446bba4b5 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/stable/2024-11-01/examples/GetSourceControlConfiguration.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "sourceControlConfigurationName": "SRS_GitHubConfig", + "api-version": "2024-11-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Source Control Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + }, + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Pending", + "lastConfigApplied": "2020-09-08T05:25:32.122Z", + "message": "Configuration successfully created", + "messageLevel": "Info" + } + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/stable/2024-11-01/examples/ListSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/stable/2024-11-01/examples/ListSourceControlConfiguration.json new file mode 100644 index 000000000000..5ea5d54d344f --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/stable/2024-11-01/examples/ListSourceControlConfiguration.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2024-11-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/SRSClusterconfigs", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Compliant" + } + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SCRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SCRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/SCRSClusterconfigs", + "operatorNamespace": "SCRS_Namespace", + "operatorInstanceName": "SCRSGitHubFluxOp-02", + "operatorType": "Flux", + "operatorScope": "cluster", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Compliant" + } + } + } + ] + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/stable/2024-11-01/kubernetesconfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/stable/2024-11-01/kubernetesconfiguration.json new file mode 100644 index 000000000000..4571eb4fd54c --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/sourceControlConfigurations/stable/2024-11-01/kubernetesconfiguration.json @@ -0,0 +1,475 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-11-01", + "title": "SourceControlConfigurationClient", + "description": "Use these APIs to create Source Control Configuration resources through ARM, for Kubernetes Clusters." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}": { + "get": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "Gets details of the Source Control Configuration.", + "operationId": "SourceControlConfigurations_Get", + "x-ms-examples": { + "Get Source Control Configuration": { + "$ref": "./examples/GetSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SourceControlConfigurationNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "Create a new Kubernetes Source Control Configuration.", + "operationId": "SourceControlConfigurations_CreateOrUpdate", + "x-ms-examples": { + "Create Source Control Configuration": { + "$ref": "./examples/CreateSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SourceControlConfigurationNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "sourceControlConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + }, + "description": "Properties necessary to Create KubernetesConfiguration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + } + }, + "201": { + "description": "Created.", + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from the source repo.", + "operationId": "SourceControlConfigurations_Delete", + "x-ms-examples": { + "Delete Source Control Configuration": { + "$ref": "./examples/DeleteSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SourceControlConfigurationNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has been completed successfully." + }, + "204": { + "description": "No Content. The request has been accepted but the configuration was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations": { + "get": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "List all Source Control Configurations.", + "operationId": "SourceControlConfigurations_List", + "x-ms-examples": { + "List Source Control Configuration": { + "$ref": "./examples/ListSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlConfigurationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ComplianceStatus": { + "description": "Compliance Status details", + "type": "object", + "readOnly": true, + "properties": { + "complianceState": { + "description": "The compliance state of the configuration.", + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ComplianceStateType", + "modelAsString": true + }, + "enum": [ + "Pending", + "Compliant", + "Noncompliant", + "Installed", + "Failed" + ] + }, + "lastConfigApplied": { + "description": "Datetime the configuration was last applied.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "Message from when the configuration was applied.", + "type": "string" + }, + "messageLevel": { + "description": "Level of the message.", + "type": "string", + "enum": [ + "Error", + "Warning", + "Information" + ], + "x-ms-enum": { + "name": "MessageLevelType", + "modelAsString": true + } + } + } + }, + "ChartVersion": { + "description": "Version of the operator Helm chart.", + "type": "string" + }, + "ChartValues": { + "description": "Values override for the operator Helm chart.", + "type": "string" + }, + "HelmOperatorProperties": { + "description": "Properties for Helm operator.", + "type": "object", + "properties": { + "chartVersion": { + "description": "Version of the operator Helm chart.", + "$ref": "#/definitions/ChartVersion" + }, + "chartValues": { + "description": "Values override for the operator Helm chart.", + "$ref": "#/definitions/ChartValues" + } + } + }, + "ConfigurationProtectedSettings": { + "description": "Name-value pairs of protected configuration settings for the configuration", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "OperatorTypeDefinition": { + "description": "Type of the operator", + "type": "string", + "enum": [ + "Flux" + ], + "x-ms-enum": { + "name": "OperatorType", + "modelAsString": true + } + }, + "OperatorScopeDefinition": { + "description": "Scope at which the operator will be installed.", + "type": "string", + "enum": [ + "cluster", + "namespace" + ], + "default": "cluster", + "x-ms-enum": { + "name": "OperatorScopeType", + "modelAsString": true + } + }, + "SourceControlConfiguration": { + "description": "The SourceControl Configuration object returned in Get & Put response.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Properties to create a Source Control Configuration resource", + "properties": { + "repositoryUrl": { + "type": "string", + "description": "Url of the SourceControl Repository." + }, + "operatorNamespace": { + "description": "The namespace to which this operator is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only.", + "type": "string", + "default": "default" + }, + "operatorInstanceName": { + "description": "Instance name of the operator - identifying the specific configuration.", + "type": "string" + }, + "operatorType": { + "description": "Type of the operator", + "$ref": "#/definitions/OperatorTypeDefinition" + }, + "operatorParams": { + "description": "Any Parameters for the Operator instance in string format.", + "type": "string" + }, + "configurationProtectedSettings": { + "description": "Name-value pairs of protected configuration settings for the configuration", + "type": "object", + "$ref": "#/definitions/ConfigurationProtectedSettings" + }, + "operatorScope": { + "description": "Scope at which the operator will be installed.", + "$ref": "#/definitions/OperatorScopeDefinition" + }, + "repositoryPublicKey": { + "description": "Public Key associated with this SourceControl configuration (either generated within the cluster or provided by the user).", + "type": "string", + "readOnly": true + }, + "sshKnownHostsContents": { + "description": "Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances", + "type": "string" + }, + "enableHelmOperator": { + "description": "Option to enable Helm Operator for this git configuration.", + "type": "boolean" + }, + "helmOperatorProperties": { + "description": "Properties for Helm operator.", + "type": "object", + "$ref": "#/definitions/HelmOperatorProperties" + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the resource provider.", + "readOnly": true, + "x-ms-enum": { + "modelAsString": true, + "name": "ProvisioningStateType" + }, + "enum": [ + "Accepted", + "Deleting", + "Running", + "Succeeded", + "Failed" + ] + }, + "complianceStatus": { + "type": "object", + "description": "Compliance Status of the Configuration", + "readOnly": true, + "$ref": "#/definitions/ComplianceStatus" + } + } + }, + "systemData": { + "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "SourceControlConfigurationList": { + "description": "Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SourceControlConfiguration" + }, + "description": "List of Source Control Configurations within a Kubernetes cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of configuration objects, if any." + } + } + } + }, + "parameters": { + "SourceControlConfigurationNameParameter": { + "name": "sourceControlConfigurationName", + "in": "path", + "description": "Name of the Source Control Configuration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +}