Skip to content

Commit 0b1f7d9

Browse files
authored
[Fleet] Managed Identity upgrade (#24643)
* Upgrade Fleet managed Identity design Add example and test * Fix update description
1 parent 361a813 commit 0b1f7d9

16 files changed

+1855
-1232
lines changed

src/Fleet/Fleet.Autorest/README.md

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,12 @@ require:
3333
# readme.azure.noprofile.md is the common configuration file
3434
- $(this-folder)/../../readme.azure.noprofile.md
3535
- $(repo)/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/readme.md
36-
36+
3737
title: Fleet
3838
module-version: 0.1.0
3939
subject-prefix: $(service-name)
40-
disable-transform-identity-type: true
41-
flatten-userassignedidentity: false
4240

4341
directive:
44-
# # # Following is two common directive which are normally required in all the RPs
45-
# # # 1. Remove the unexpanded parameter set
46-
# # # 2. For New-* cmdlets, ViaIdentity is not required, so CreateViaIdentityExpanded is removed as well
47-
- where:
48-
variant: ^(Create|Update)(?!.*?(Expanded|JsonFilePath|JsonString))
49-
remove: true
5042
# Fix required parameter missing
5143
- from: swagger-document
5244
where: $.definitions.FleetMember
@@ -74,15 +66,17 @@ directive:
7466
- from: swagger-document
7567
where: $.definitions.NodeImageSelection.properties.type
7668
transform: $['x-ms-mutability'] = ["read", "update", "create"]
69+
# # # Following is two common directive which are normally required in all the RPs
70+
# # # 1. Remove the unexpanded parameter set
71+
# # # 2. For New-* cmdlets, ViaIdentity is not required, so CreateViaIdentityExpanded is removed as well
72+
- where:
73+
variant: ^(Create|Update)(?!.*?(Expanded|JsonFilePath|JsonString))
74+
remove: true
7775
# Hide set cmdlet
7876
- where:
7977
verb: Set
8078
remove: true
81-
# Rename IdentityUserAssignedIdentity, UpdateStrategyName
82-
- where:
83-
parameter-name: IdentityUserAssignedIdentity
84-
set:
85-
parameter-name: UserAssignedIdentity
79+
# Rename UpdateStrategyName
8680
- where:
8781
parameter-name: UpdateStrategyName
8882
subject: FleetUpdateStrategy

src/Fleet/Fleet.Autorest/docs/Az.Fleet.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,14 @@ Starts an UpdateRun.
6363
Stops an UpdateRun.
6464

6565
### [Update-AzFleet](Update-AzFleet.md)
66-
Update a Fleet
66+
Update a Fleet.
6767

6868
### [Update-AzFleetMember](Update-AzFleetMember.md)
6969
Update a FleetMember
7070

7171
### [Update-AzFleetUpdateRun](Update-AzFleetUpdateRun.md)
72-
Create a UpdateRun
72+
Update a UpdateRun
7373

7474
### [Update-AzFleetUpdateStrategy](Update-AzFleetUpdateStrategy.md)
75-
Create a FleetUpdateStrategy
75+
Update a FleetUpdateStrategy
7676

src/Fleet/Fleet.Autorest/docs/New-AzFleet.md

Lines changed: 78 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,16 @@ Create a Fleet.
1515
### CreateExpanded (Default)
1616
```
1717
New-AzFleet -Name <String> -ResourceGroupName <String> -Location <String> [-SubscriptionId <String>]
18-
[-IfMatch <String>] [-IfNoneMatch <String>] [-IdentityType <String>] [-Tag <Hashtable>]
19-
[-UserAssignedIdentity <Hashtable>] [-DefaultProfile <PSObject>] [-AsJob] [-NoWait] [-Confirm] [-WhatIf]
18+
[-IfMatch <String>] [-IfNoneMatch <String>] [-EnableSystemAssignedIdentity] [-Tag <Hashtable>]
19+
[-UserAssignedIdentity <String[]>] [-DefaultProfile <PSObject>] [-AsJob] [-NoWait] [-Confirm] [-WhatIf]
2020
[<CommonParameters>]
2121
```
2222

2323
### CreateViaIdentityExpanded
2424
```
2525
New-AzFleet -InputObject <IFleetIdentity> -Location <String> [-IfMatch <String>] [-IfNoneMatch <String>]
26-
[-IdentityType <String>] [-Tag <Hashtable>] [-UserAssignedIdentity <Hashtable>] [-DefaultProfile <PSObject>]
27-
[-AsJob] [-NoWait] [-Confirm] [-WhatIf] [<CommonParameters>]
26+
[-EnableSystemAssignedIdentity] [-Tag <Hashtable>] [-UserAssignedIdentity <String[]>]
27+
[-DefaultProfile <PSObject>] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] [<CommonParameters>]
2828
```
2929

3030
### CreateViaJsonFilePath
@@ -46,7 +46,7 @@ Create a Fleet.
4646

4747
## EXAMPLES
4848

49-
### Example 1: Creates a Fleet resource
49+
### Example 1: Creates a Fleet resource with none identity type
5050
```powershell
5151
New-AzFleet -Name sss -ResourceGroupName ps1-test -Location eastus
5252
```
@@ -74,6 +74,73 @@ Tag : {
7474
Type : Microsoft.ContainerService/fleets
7575
```
7676

77+
This command creates a Fleet resource with none identity type.
78+
79+
### Example 2: Creates a Fleet resource with EnableSystemAssignedIdentity
80+
```powershell
81+
New-AzFleet -Name testfleet02 -ResourceGroupName joyer-test -Location eastus -Tag @{"456"="asd"} -EnableSystemAssignedIdentity
82+
```
83+
84+
```output
85+
ETag : "0a006dc9-0000-0100-0000-661cd4f70000"
86+
Id : /subscriptions/9e223dbe-3399-4e19-88eb-0975f02ac87f/resourceGroups/joyer-test/providers/Microsoft.ContainerService/fleets/testfleet02
87+
IdentityPrincipalId : 978528a9-fa0f-4cdb-8282-95b3b30bb883
88+
IdentityTenantId : 72f988bf-86f1-41af-91ab-2d7cd011db47
89+
IdentityType : SystemAssigned
90+
IdentityUserAssignedIdentity : {
91+
}
92+
Location : eastus
93+
Name : testfleet02
94+
ProvisioningState : Succeeded
95+
ResourceGroupName : joyer-test
96+
SystemDataCreatedAt : 4/15/2024 7:19:15 AM
97+
SystemDataCreatedBy : [email protected]
98+
SystemDataCreatedByType : User
99+
SystemDataLastModifiedAt : 4/15/2024 7:19:15 AM
100+
SystemDataLastModifiedBy : [email protected]
101+
SystemDataLastModifiedByType : User
102+
Tag : {
103+
"456": "asd"
104+
}
105+
Type : Microsoft.ContainerService/fleets
106+
```
107+
108+
This command creates a Fleet resource with system assigned identity type.
109+
110+
### Example 3: Creates a Fleet resource with user assigned identity type
111+
```powershell
112+
$mi = Get-AzUserAssignedIdentity -Name testUserAssignedMI -ResourceGroupName joyer-test
113+
New-AzFleet -Name testfleet03 -ResourceGroupName joyer-test -Location eastus -Tag @{"789"="asd"} -UserAssignedIdentity $mi.Id
114+
```
115+
116+
```output
117+
ETag : "0a00e0c9-0000-0100-0000-661cd8010000"
118+
Id : /subscriptions/9e223dbe-3399-4e19-88eb-0975f02ac87f/resourceGroups/joyer-test/providers/Microsoft.ContainerService/fleets/testflee
119+
t03
120+
IdentityPrincipalId :
121+
IdentityTenantId :
122+
IdentityType : UserAssigned
123+
IdentityUserAssignedIdentity : {
124+
"/subscriptions/9e223dbe-3399-4e19-88eb-0975f02ac87f/resourcegroups/joyer-test/providers/Microsoft.ManagedIdentity/userAssignedI
125+
dentities/testUserAssignedMI": {
126+
}
127+
}
128+
Location : eastus
129+
Name : testfleet03
130+
ProvisioningState : Succeeded
131+
ResourceGroupName : joyer-test
132+
SystemDataCreatedAt : 4/15/2024 7:32:16 AM
133+
SystemDataCreatedBy : [email protected]
134+
SystemDataCreatedByType : User
135+
SystemDataLastModifiedAt : 4/15/2024 7:32:16 AM
136+
SystemDataLastModifiedBy : [email protected]
137+
SystemDataLastModifiedByType : User
138+
Tag : {
139+
"789": "asd"
140+
}
141+
Type : Microsoft.ContainerService/fleets
142+
```
143+
77144
This command creates a Fleet resource with a long running operation.
78145

79146
## PARAMETERS
@@ -109,11 +176,11 @@ Accept pipeline input: False
109176
Accept wildcard characters: False
110177
```
111178
112-
### -IdentityType
113-
Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
179+
### -EnableSystemAssignedIdentity
180+
Decides if enable a system assigned identity for the resource.
114181
115182
```yaml
116-
Type: System.String
183+
Type: System.Management.Automation.SwitchParameter
117184
Parameter Sets: CreateExpanded, CreateViaIdentityExpanded
118185
Aliases:
119186

@@ -291,12 +358,11 @@ Accept wildcard characters: False
291358
```
292359
293360
### -UserAssignedIdentity
294-
The set of user assigned identities associated with the resource.
295-
The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}.
296-
The dictionary values can be empty objects ({}) in requests.
361+
The array of user assigned identities associated with the resource.
362+
The elements in array will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}.'
297363
298364
```yaml
299-
Type: System.Collections.Hashtable
365+
Type: System.String[]
300366
Parameter Sets: CreateExpanded, CreateViaIdentityExpanded
301367
Aliases:
302368

0 commit comments

Comments
 (0)