@azure-tools/typespec-azure-resource-manager 0.43.0-dev.9 → 0.44.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +3 -3
  2. package/dist/src/common-types.d.ts +3 -2
  3. package/dist/src/common-types.d.ts.map +1 -1
  4. package/dist/src/common-types.js +48 -6
  5. package/dist/src/common-types.js.map +1 -1
  6. package/dist/src/commontypes.private.decorators.d.ts +44 -0
  7. package/dist/src/commontypes.private.decorators.d.ts.map +1 -0
  8. package/dist/src/commontypes.private.decorators.js +77 -0
  9. package/dist/src/commontypes.private.decorators.js.map +1 -0
  10. package/dist/src/lib.d.ts +17 -2
  11. package/dist/src/lib.d.ts.map +1 -1
  12. package/dist/src/lib.js +6 -0
  13. package/dist/src/lib.js.map +1 -1
  14. package/dist/src/namespace.d.ts.map +1 -1
  15. package/dist/src/namespace.js +35 -0
  16. package/dist/src/namespace.js.map +1 -1
  17. package/dist/src/private.decorators.d.ts +1 -42
  18. package/dist/src/private.decorators.d.ts.map +1 -1
  19. package/dist/src/private.decorators.js +0 -74
  20. package/dist/src/private.decorators.js.map +1 -1
  21. package/dist/src/rules/arm-common-types-version.d.ts.map +1 -1
  22. package/dist/src/rules/arm-common-types-version.js +2 -3
  23. package/dist/src/rules/arm-common-types-version.js.map +1 -1
  24. package/dist/src/rules/core-operations.js +1 -1
  25. package/dist/src/rules/core-operations.js.map +1 -1
  26. package/lib/Legacy/arm.legacy.tsp +1 -0
  27. package/lib/Legacy/managed-identity.tsp +74 -0
  28. package/lib/arm.tsp +3 -7
  29. package/lib/backcompat.tsp +27 -0
  30. package/lib/common-types/common-types.tsp +11 -1
  31. package/lib/common-types/commontypes.private.decorators.tsp +43 -0
  32. package/lib/common-types/customer-managed-keys-ref.tsp +27 -0
  33. package/lib/common-types/customer-managed-keys.tsp +37 -46
  34. package/lib/common-types/extended-location-ref.tsp +1 -0
  35. package/lib/common-types/extended-location.tsp +15 -16
  36. package/lib/common-types/internal.tsp +24 -0
  37. package/lib/common-types/managed-identity-ref.tsp +79 -0
  38. package/lib/common-types/managed-identity.tsp +50 -87
  39. package/lib/common-types/private-links-ref.tsp +159 -0
  40. package/lib/common-types/private-links.tsp +55 -101
  41. package/lib/common-types/types-ref.tsp +414 -0
  42. package/lib/common-types/types.tsp +323 -201
  43. package/lib/decorators.tsp +1 -1
  44. package/lib/{arm.foundations.tsp → foundations/arm.foundations.tsp} +28 -22
  45. package/lib/foundations/backcompat.tsp +39 -0
  46. package/lib/{common-types/backcompat.tsp → foundations/deprecation.tsp} +11 -0
  47. package/lib/models.tsp +18 -3
  48. package/lib/parameters.tsp +14 -67
  49. package/lib/private.decorators.tsp +0 -38
  50. package/lib/responses.tsp +1 -13
  51. package/package.json +14 -14
@@ -0,0 +1,79 @@
1
+ import "./managed-identity.tsp";
2
+
3
+ using Azure.ResourceManager.CommonTypes.Private;
4
+
5
+ namespace Azure.ResourceManager.CommonTypes;
6
+
7
+ /**
8
+ * The properties of the managed service identities assigned to this resource.
9
+ */
10
+ @@armCommonDefinition(ManagedServiceIdentity,
11
+ "ManagedServiceIdentity",
12
+ #{ version: Azure.ResourceManager.CommonTypes.Versions.v3, isDefault: true },
13
+ "managedidentity.json"
14
+ );
15
+ @@armCommonDefinition(ManagedServiceIdentity,
16
+ "ManagedServiceIdentity",
17
+ Azure.ResourceManager.CommonTypes.Versions.v4,
18
+ "managedidentity.json"
19
+ );
20
+ @@armCommonDefinition(ManagedServiceIdentity,
21
+ "ManagedServiceIdentity",
22
+ Azure.ResourceManager.CommonTypes.Versions.v5,
23
+ "managedidentity.json"
24
+ );
25
+
26
+ /** The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", */
27
+ @@armCommonDefinition(UserAssignedIdentities,
28
+ "UserAssignedIdentities",
29
+ #{ version: Azure.ResourceManager.CommonTypes.Versions.v3, isDefault: true },
30
+ "managedidentity.json"
31
+ );
32
+ @@armCommonDefinition(UserAssignedIdentities,
33
+ "UserAssignedIdentities",
34
+ Azure.ResourceManager.CommonTypes.Versions.v4,
35
+ "managedidentity.json"
36
+ );
37
+ @@armCommonDefinition(UserAssignedIdentities,
38
+ "UserAssignedIdentities",
39
+ Azure.ResourceManager.CommonTypes.Versions.v5,
40
+ "managedidentity.json"
41
+ );
42
+
43
+ /**
44
+ * The properties of the service-assigned identity associated with this resource.
45
+ */
46
+ @@armCommonDefinition(SystemAssignedServiceIdentity,
47
+ "SystemAssignedServiceIdentity",
48
+ #{ version: Azure.ResourceManager.CommonTypes.Versions.v3, isDefault: true },
49
+ "managedidentity.json"
50
+ );
51
+ @@armCommonDefinition(SystemAssignedServiceIdentity,
52
+ "SystemAssignedServiceIdentity",
53
+ Azure.ResourceManager.CommonTypes.Versions.v4,
54
+ "managedidentity.json"
55
+ );
56
+ @@armCommonDefinition(SystemAssignedServiceIdentity,
57
+ "SystemAssignedServiceIdentity",
58
+ Azure.ResourceManager.CommonTypes.Versions.v5,
59
+ "managedidentity.json"
60
+ );
61
+
62
+ /**
63
+ * A managed identity assigned by the user.
64
+ */
65
+ @@armCommonDefinition(UserAssignedIdentity,
66
+ "UserAssignedIdentity",
67
+ #{ version: Azure.ResourceManager.CommonTypes.Versions.v3, isDefault: true },
68
+ "managedidentity.json"
69
+ );
70
+ @@armCommonDefinition(UserAssignedIdentity,
71
+ "UserAssignedIdentity",
72
+ Azure.ResourceManager.CommonTypes.Versions.v4,
73
+ "managedidentity.json"
74
+ );
75
+ @@armCommonDefinition(UserAssignedIdentity,
76
+ "UserAssignedIdentity",
77
+ Azure.ResourceManager.CommonTypes.Versions.v5,
78
+ "managedidentity.json"
79
+ );
@@ -1,137 +1,100 @@
1
- using Azure.ResourceManager.Private;
1
+ using Azure.Core;
2
+ using TypeSpec.Versioning;
2
3
 
3
- namespace Azure.ResourceManager.Foundations;
4
+ namespace Azure.ResourceManager.CommonTypes;
5
+
6
+ /** The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. */
7
+ #deprecated "Do not use this model. Instead, use Record<UserAssignedIdentity> directly. Using this model will result in a different client SDK when generated from TypeSpec compared to the Swagger."
8
+ model UserAssignedIdentities is Record<UserAssignedIdentity>;
4
9
 
5
- #deprecated "Please change ManagedIdentityProperties to ManagedServiceIdentity."
6
- alias ManagedIdentityProperties = ManagedServiceIdentity;
7
10
  /**
8
- * The properties of the managed service identities assigned to this resource.
11
+ * Managed service identity (system assigned and/or user assigned identities)
9
12
  */
10
- @armCommonDefinition(
11
- "ManagedServiceIdentity",
12
- #{ version: Azure.ResourceManager.CommonTypes.Versions.v4, isDefault: true },
13
- "managedidentity.json"
14
- )
15
- @armCommonDefinition(
16
- "ManagedServiceIdentity",
17
- Azure.ResourceManager.CommonTypes.Versions.v5,
18
- "managedidentity.json"
19
- )
20
13
  model ManagedServiceIdentity {
21
- @doc("The Active Directory tenant id of the principal.")
14
+ /** The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. */
22
15
  @visibility("read")
23
- tenantId?: string;
16
+ principalId?: uuid;
24
17
 
25
- @doc("The active directory identifier of this principal.")
18
+ /** The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. */
26
19
  @visibility("read")
27
- principalId?: string;
20
+ tenantId?: uuid;
28
21
 
29
- @doc("The type of managed identity assigned to this resource.")
22
+ /** The type of managed identity assigned to this resource. */
30
23
  type: ManagedServiceIdentityType;
31
24
 
32
- @doc("The identities assigned to this resource by the user.")
33
- userAssignedIdentities?: Record<UserAssignedIdentity>;
25
+ /** The identities assigned to this resource by the user. */
26
+ @typeChangedFrom(Versions.v5, Record<UserAssignedIdentity>)
27
+ userAssignedIdentities?: Record<UserAssignedIdentity> | null;
34
28
  }
35
29
 
36
- /** The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", */
37
- #deprecated "Do not use this model. Instead, use Record<UserAssignedIdentity> directly. Using this model will result in a different client SDK when generated from TypeSpec compared to the Swagger."
38
- @armCommonDefinition(
39
- "UserAssignedIdentities",
40
- #{ version: Azure.ResourceManager.CommonTypes.Versions.v4, isDefault: true },
41
- "managedidentity.json"
42
- )
43
- @armCommonDefinition(
44
- "UserAssignedIdentities",
45
- Azure.ResourceManager.CommonTypes.Versions.v5,
46
- "managedidentity.json"
47
- )
48
- model UserAssignedIdentities is Record<UserAssignedIdentity>;
49
-
50
- #deprecated "Please change ManagedSystemIdentityProperties to SystemAssignedServiceIdentity."
51
- alias ManagedSystemIdentityProperties = SystemAssignedServiceIdentity;
52
30
  /**
53
- * The properties of the service-assigned identity associated with this resource.
31
+ * Managed service identity (either system assigned, or none)
54
32
  */
55
- @armCommonDefinition(
56
- "SystemAssignedServiceIdentity",
57
- #{ version: Azure.ResourceManager.CommonTypes.Versions.v4, isDefault: true },
58
- "managedidentity.json"
59
- )
60
- @armCommonDefinition(
61
- "SystemAssignedServiceIdentity",
62
- Azure.ResourceManager.CommonTypes.Versions.v5,
63
- "managedidentity.json"
64
- )
65
33
  model SystemAssignedServiceIdentity {
66
- @doc("The Active Directory tenant id of the principal.")
34
+ /** The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. */
67
35
  @visibility("read")
68
- tenantId?: string;
36
+ principalId?: uuid;
69
37
 
70
- @doc("The active directory identifier of this principal.")
38
+ /** The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. */
71
39
  @visibility("read")
72
- principalId?: string;
40
+ tenantId?: uuid;
73
41
 
74
- @doc("The type of managed identity assigned to this resource.")
42
+ /** The type of managed identity assigned to this resource. */
75
43
  type: SystemAssignedServiceIdentityType;
76
44
  }
77
45
 
78
- /** Alias of ManagedServiceIdentityType for back compatability. Please change to ManagedServiceIdentityType. */
79
- #deprecated "Please change to ManagedServiceIdentityType."
80
- alias ManagedIdentityType = ManagedServiceIdentityType;
81
46
  /**
82
- * A managed identity assigned by the user.
47
+ * User assigned identity properties
83
48
  */
84
- @armCommonDefinition(
85
- "UserAssignedIdentity",
86
- #{ version: Azure.ResourceManager.CommonTypes.Versions.v4, isDefault: true },
87
- "managedidentity.json"
88
- )
89
- @armCommonDefinition(
90
- "UserAssignedIdentity",
91
- Azure.ResourceManager.CommonTypes.Versions.v5,
92
- "managedidentity.json"
93
- )
94
- @doc("A managed identity assigned by the user.")
95
49
  model UserAssignedIdentity {
96
- @doc("The active directory client identifier for this principal.")
97
- clientId?: string;
50
+ /** The principal ID of the assigned identity. */
51
+ @visibility("read")
52
+ principalId?: uuid;
98
53
 
99
- @doc("The active directory identifier for this principal.")
100
- principalId?: string;
54
+ /** The client ID of the assigned identity. */
55
+ @visibility("read")
56
+ clientId?: uuid;
101
57
  }
102
58
 
103
59
  /**
104
- * The kind of managed identity assigned to this resource.
60
+ * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
105
61
  */
106
- @doc("The kind of managed identity assigned to this resource.")
107
62
  union ManagedServiceIdentityType {
108
- @doc("No managed identity.")
63
+ /** No managed identity. */
109
64
  None: "None",
110
65
 
111
- @doc("System assigned managed identity.")
66
+ /** System assigned managed identity. */
112
67
  SystemAssigned: "SystemAssigned",
113
68
 
114
- @doc("User assigned managed identity.")
69
+ /** User assigned managed identity. */
115
70
  UserAssigned: "UserAssigned",
116
71
 
117
- @doc("System and user assigned managed identity.")
118
- SystemAndUserAssigned: "SystemAssigned, UserAssigned",
72
+ /** System and user assigned managed identity. */
73
+ @renamedFrom(Versions.v3, "SystemAndUserAssigned")
74
+ @removed(Versions.v4)
75
+ SystemAndUserAssignedV3: "SystemAssigned,UserAssigned",
76
+
77
+ /** System and user assigned managed identity. */
78
+ @added(Versions.v4)
79
+ @renamedFrom(Versions.v4, "SystemAndUserAssigned")
80
+ @removed(Versions.v5)
81
+ SystemAndUserAssignedV4: "SystemAssigned, UserAssigned",
82
+
83
+ /** System and user assigned managed identity. */
84
+ @added(Versions.v5)
85
+ SystemAndUserAssigned: "SystemAssigned,UserAssigned",
119
86
 
120
87
  string,
121
88
  }
122
89
 
123
- /** Alias of SystemAssignedServiceIdentityType for back compatability. Please change to SystemAssignedServiceIdentityType. */
124
- alias ManagedSystemIdentityType = SystemAssignedServiceIdentityType;
125
-
126
90
  /**
127
- * The kind of managemed identity assigned to this resource.
91
+ * Type of managed service identity (either system assigned, or none).
128
92
  */
129
- @doc("The kind of managemed identity assigned to this resource.")
130
93
  union SystemAssignedServiceIdentityType {
131
- @doc("No managed system identity.")
94
+ /** No managed system identity. */
132
95
  None: "None",
133
96
 
134
- @doc("System assigned managed system identity.")
97
+ /** System assigned managed system identity. */
135
98
  SystemAssigned: "SystemAssigned",
136
99
 
137
100
  string,
@@ -0,0 +1,159 @@
1
+ import "./private-links.tsp";
2
+
3
+ using Azure.ResourceManager.CommonTypes.Private;
4
+
5
+ namespace Azure.ResourceManager.CommonTypes;
6
+
7
+ /** The private endpoint */
8
+ @@armCommonDefinition(PrivateEndpoint,
9
+ "PrivateEndpoint",
10
+ #{ version: Azure.ResourceManager.CommonTypes.Versions.v3, isDefault: true },
11
+ "privatelinks.json"
12
+ );
13
+ @@armCommonDefinition(PrivateEndpoint,
14
+ "PrivateEndpoint",
15
+ Azure.ResourceManager.CommonTypes.Versions.v4,
16
+ "privatelinks.json"
17
+ );
18
+ @@armCommonDefinition(PrivateEndpoint,
19
+ "PrivateEndpoint",
20
+ Azure.ResourceManager.CommonTypes.Versions.v5,
21
+ "privatelinks.json"
22
+ );
23
+
24
+ /** The private endpoint resource */
25
+ @@armCommonDefinition(PrivateLinkResource,
26
+ "PrivateLinkResource",
27
+ #{ version: Azure.ResourceManager.CommonTypes.Versions.v3, isDefault: true },
28
+ "privatelinks.json"
29
+ );
30
+ @@armCommonDefinition(PrivateLinkResource,
31
+ "PrivateLinkResource",
32
+ Azure.ResourceManager.CommonTypes.Versions.v4,
33
+ "privatelinks.json"
34
+ );
35
+ @@armCommonDefinition(PrivateLinkResource,
36
+ "PrivateLinkResource",
37
+ Azure.ResourceManager.CommonTypes.Versions.v5,
38
+ "privatelinks.json"
39
+ );
40
+
41
+ /** PrivateEndpointConnection */
42
+ @@armCommonDefinition(PrivateEndpointConnection,
43
+ "PrivateEndpointConnection",
44
+ #{ version: Azure.ResourceManager.CommonTypes.Versions.v3, isDefault: true },
45
+ "privatelinks.json"
46
+ );
47
+ @@armCommonDefinition(PrivateEndpointConnection,
48
+ "PrivateEndpointConnection",
49
+ Azure.ResourceManager.CommonTypes.Versions.v4,
50
+ "privatelinks.json"
51
+ );
52
+ @@armCommonDefinition(PrivateEndpointConnection,
53
+ "PrivateEndpointConnection",
54
+ Azure.ResourceManager.CommonTypes.Versions.v5,
55
+ "privatelinks.json"
56
+ );
57
+
58
+ /** Properties of he private endpoint connection resource */
59
+ @@armCommonDefinition(PrivateEndpointConnectionProperties,
60
+ "PrivateEndpointConnectionProperties",
61
+ #{ version: Azure.ResourceManager.CommonTypes.Versions.v3, isDefault: true },
62
+ "privatelinks.json"
63
+ );
64
+ @@armCommonDefinition(PrivateEndpointConnectionProperties,
65
+ "PrivateEndpointConnectionProperties",
66
+ Azure.ResourceManager.CommonTypes.Versions.v4,
67
+ "privatelinks.json"
68
+ );
69
+ @@armCommonDefinition(PrivateEndpointConnectionProperties,
70
+ "PrivateEndpointConnectionProperties",
71
+ Azure.ResourceManager.CommonTypes.Versions.v5,
72
+ "privatelinks.json"
73
+ );
74
+
75
+ /** A collection of information about the state of the connection between service consumer and provider. */
76
+ @@armCommonDefinition(PrivateLinkServiceConnectionState,
77
+ "PrivateLinkServiceConnectionState",
78
+ #{ version: Azure.ResourceManager.CommonTypes.Versions.v3, isDefault: true },
79
+ "privatelinks.json"
80
+ );
81
+ @@armCommonDefinition(PrivateLinkServiceConnectionState,
82
+ "PrivateLinkServiceConnectionState",
83
+ Azure.ResourceManager.CommonTypes.Versions.v4,
84
+ "privatelinks.json"
85
+ );
86
+ @@armCommonDefinition(PrivateLinkServiceConnectionState,
87
+ "PrivateLinkServiceConnectionState",
88
+ Azure.ResourceManager.CommonTypes.Versions.v5,
89
+ "privatelinks.json"
90
+ );
91
+
92
+ /** Properties of a private link resource. */
93
+ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "Matches current common code"
94
+ @@armCommonDefinition(PrivateLinkResourceProperties,
95
+ "PrivateLinkResourceProperties",
96
+ #{ version: Azure.ResourceManager.CommonTypes.Versions.v3, isDefault: true },
97
+ "privatelinks.json"
98
+ );
99
+ @@armCommonDefinition(PrivateLinkResourceProperties,
100
+ "PrivateLinkResourceProperties",
101
+ Azure.ResourceManager.CommonTypes.Versions.v4,
102
+ "privatelinks.json"
103
+ );
104
+ @@armCommonDefinition(PrivateLinkResourceProperties,
105
+ "PrivateLinkResourceProperties",
106
+ Azure.ResourceManager.CommonTypes.Versions.v5,
107
+ "privatelinks.json"
108
+ );
109
+
110
+ /** PrivateEndpointConnectionListResult */
111
+ @@armCommonDefinition(PrivateEndpointConnectionListResult,
112
+ "PrivateEndpointConnectionListResult",
113
+ #{ version: Azure.ResourceManager.CommonTypes.Versions.v3, isDefault: true },
114
+ "privatelinks.json"
115
+ );
116
+ @@armCommonDefinition(PrivateEndpointConnectionListResult,
117
+ "PrivateEndpointConnectionListResult",
118
+ Azure.ResourceManager.CommonTypes.Versions.v4,
119
+ "privatelinks.json"
120
+ );
121
+ @@armCommonDefinition(PrivateEndpointConnectionListResult,
122
+ "PrivateEndpointConnectionListResult",
123
+ Azure.ResourceManager.CommonTypes.Versions.v5,
124
+ "privatelinks.json"
125
+ );
126
+
127
+ /** PrivateLinkResourceListResult */
128
+ @@armCommonDefinition(PrivateLinkResourceListResult,
129
+ "PrivateLinkResourceListResult",
130
+ #{ version: Azure.ResourceManager.CommonTypes.Versions.v3, isDefault: true },
131
+ "privatelinks.json"
132
+ );
133
+ @@armCommonDefinition(PrivateLinkResourceListResult,
134
+ "PrivateLinkResourceListResult",
135
+ Azure.ResourceManager.CommonTypes.Versions.v4,
136
+ "privatelinks.json"
137
+ );
138
+ @@armCommonDefinition(PrivateLinkResourceListResult,
139
+ "PrivateLinkResourceListResult",
140
+ Azure.ResourceManager.CommonTypes.Versions.v5,
141
+ "privatelinks.json"
142
+ );
143
+
144
+ /** PrivateEndpointConnectionParameter */
145
+ @@CommonTypes.Private.armCommonParameter(PrivateEndpointConnectionParameter.name,
146
+ "PrivateEndpointConnectionName",
147
+ #{ version: Azure.ResourceManager.CommonTypes.Versions.v3, isDefault: true },
148
+ "privatelinks.json"
149
+ );
150
+ @@CommonTypes.Private.armCommonParameter(PrivateEndpointConnectionParameter.name,
151
+ "PrivateEndpointConnectionName",
152
+ Azure.ResourceManager.CommonTypes.Versions.v4,
153
+ "privatelinks.json"
154
+ );
155
+ @@CommonTypes.Private.armCommonParameter(PrivateEndpointConnectionParameter.name,
156
+ "PrivateEndpointConnectionName",
157
+ Azure.ResourceManager.CommonTypes.Versions.v5,
158
+ "privatelinks.json"
159
+ );
@@ -1,29 +1,13 @@
1
- import "@typespec/openapi";
2
- import "@typespec/http";
3
- import "@typespec/rest";
4
- import "@typespec/versioning";
5
- import "@azure-tools/typespec-azure-core";
6
-
7
1
  using TypeSpec.Http;
8
- using TypeSpec.OpenAPI;
9
2
  using TypeSpec.Versioning;
10
- using Azure.ResourceManager.Private;
11
-
12
- namespace Azure.ResourceManager;
13
-
14
- /** The private endpoint resource */
15
- @armCommonDefinition(
16
- "PrivateEndpoint",
17
- #{ version: Azure.ResourceManager.CommonTypes.Versions.v4, isDefault: true },
18
- "privatelinks.json"
19
- )
20
- @armCommonDefinition(
21
- "PrivateEndpoint",
22
- Azure.ResourceManager.CommonTypes.Versions.v5,
23
- "privatelinks.json"
24
- )
3
+ using OpenAPI;
4
+
5
+ namespace Azure.ResourceManager.CommonTypes;
6
+
7
+ /** The Private Endpoint resource. */
25
8
  model PrivateEndpoint {
26
9
  /** The resource identifier for private endpoint */
10
+ @visibility("read")
27
11
  id?: Azure.Core.armResourceIdentifier<[
28
12
  {
29
13
  type: "Microsoft.Network/privateEndpoints";
@@ -31,49 +15,65 @@ model PrivateEndpoint {
31
15
  ]>;
32
16
  }
33
17
 
18
+ /** A private link resource. */
19
+ model PrivateLinkResource extends Resource {
20
+ /** Resource properties. */
21
+ @extension("x-ms-client-flatten", true)
22
+ properties?: PrivateLinkResourceProperties;
23
+ }
24
+
25
+ /** Properties of a private link resource. */
26
+ model PrivateLinkResourceProperties {
27
+ /** The private link resource group id. */
28
+ @visibility("read")
29
+ groupId?: string;
30
+
31
+ /** The private link resource required member names. */
32
+ @visibility("read")
33
+ requiredMembers?: string[];
34
+
35
+ /** The private link resource private link DNS zone name. */
36
+ requiredZoneNames?: string[];
37
+ }
38
+
39
+ /** A list of private link resources. */
40
+ model PrivateLinkResourceListResult {
41
+ /** Array of private link resources */
42
+ value?: PrivateLinkResource[];
43
+ }
44
+ //#region
34
45
  /** The private endpoint connection resource */
35
- model PrivateEndpointConnection extends Azure.ResourceManager.Foundations.ProxyResource {
46
+ model PrivateEndpointConnection extends Resource {
36
47
  /** The private endpoint connection properties */
48
+ @extension("x-ms-client-flatten", true)
37
49
  properties?: PrivateEndpointConnectionProperties;
38
50
  }
39
51
 
40
- /** Properties of he private endpoint connection resource */
41
- @armCommonDefinition(
42
- "PrivateEndpointConnectionProperties",
43
- #{ version: Azure.ResourceManager.CommonTypes.Versions.v4, isDefault: true },
44
- "privatelinks.json"
45
- )
46
- @armCommonDefinition(
47
- "PrivateEndpointConnectionProperties",
48
- Azure.ResourceManager.CommonTypes.Versions.v5,
49
- "privatelinks.json"
50
- )
52
+ /** List of private endpoint connections associated with the specified resource. */
53
+ model PrivateEndpointConnectionListResult {
54
+ /** Array of private endpoint connections. */
55
+ value?: PrivateEndpointConnection[];
56
+ }
57
+
58
+ /** Properties of the private endpoint connection. */
51
59
  model PrivateEndpointConnectionProperties {
52
- /** The group identifiers for the private endpoint resource */
60
+ /** The group ids for the private endpoint resource. */
53
61
  @visibility("read")
62
+ @added(Versions.v4)
54
63
  groupIds?: string[];
55
64
 
56
- /** The private endpoint resource */
65
+ /** The private endpoint resource. */
57
66
  privateEndpoint?: PrivateEndpoint;
58
67
 
59
68
  /** A collection of information about the state of the connection between service consumer and provider. */
60
69
  privateLinkServiceConnectionState: PrivateLinkServiceConnectionState;
61
70
 
62
71
  /** The provisioning state of the private endpoint connection resource. */
72
+ @visibility("read")
63
73
  provisioningState?: PrivateEndpointConnectionProvisioningState;
64
74
  }
65
75
 
66
76
  /** A collection of information about the state of the connection between service consumer and provider. */
67
- @armCommonDefinition(
68
- "PrivateLinkServiceConnectionState",
69
- #{ version: Azure.ResourceManager.CommonTypes.Versions.v4, isDefault: true },
70
- "privatelinks.json"
71
- )
72
- @armCommonDefinition(
73
- "PrivateLinkServiceConnectionState",
74
- Azure.ResourceManager.CommonTypes.Versions.v5,
75
- "privatelinks.json"
76
- )
77
77
  model PrivateLinkServiceConnectionState {
78
78
  /** Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. */
79
79
  status?: PrivateEndpointServiceConnectionStatus;
@@ -85,18 +85,24 @@ model PrivateLinkServiceConnectionState {
85
85
  actionsRequired?: string;
86
86
  }
87
87
 
88
- /** The provisioning state of the connection */
88
+ /** The current provisioning state. */
89
89
  union PrivateEndpointConnectionProvisioningState {
90
- ResourceProvisioningState,
90
+ string,
91
+
92
+ /** Connection has been provisioned */
93
+ Succeeded: "Succeeded",
91
94
 
92
95
  /** Connection is being created */
93
96
  Creating: "Creating",
94
97
 
95
98
  /** Connection is being deleted */
96
99
  Deleting: "Deleting",
100
+
101
+ /** Connection provisioning has failed */
102
+ Failed: "Failed",
97
103
  }
98
104
 
99
- /** The private endpoint connection status */
105
+ /** The private endpoint connection status. */
100
106
  union PrivateEndpointServiceConnectionStatus {
101
107
  /** Connectionaiting for approval or rejection */
102
108
  Pending: "Pending",
@@ -110,48 +116,6 @@ union PrivateEndpointServiceConnectionStatus {
110
116
  string,
111
117
  }
112
118
 
113
- model PrivateLinkResource extends Azure.ResourceManager.Foundations.ProxyResource {
114
- /** Properties of the private link resource. */
115
- properties?: PrivateLinkResourceProperties;
116
- }
117
-
118
- /** Properties of a private link resource. */
119
- #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "Matches current common code"
120
- @armCommonDefinition(
121
- "PrivateLinkResourceProperties",
122
- #{ version: Azure.ResourceManager.CommonTypes.Versions.v4, isDefault: true },
123
- "privatelinks.json"
124
- )
125
- @armCommonDefinition(
126
- "PrivateLinkResourceProperties",
127
- Azure.ResourceManager.CommonTypes.Versions.v5,
128
- "privatelinks.json"
129
- )
130
- model PrivateLinkResourceProperties {
131
- /** The private link resource group id. */
132
- @visibility("read")
133
- groupId?: string;
134
-
135
- /** The private link resource required member names. */
136
- @visibility("read")
137
- requiredMembers?: string[];
138
-
139
- /** The private link resource private link DNS zone name. */
140
- requiredZoneNames?: string[];
141
- }
142
-
143
- /** List of private endpoint connections associated with the specified resource. */
144
- model PrivateEndpointConnectionResourceListResult {
145
- /** Array of private endpoint connections */
146
- value?: PrivateEndpointConnection[];
147
- }
148
-
149
- /** A list of private link resources. */
150
- model PrivateLinkResourceListResult {
151
- /** Array of private link resources */
152
- value?: PrivateLinkResource[];
153
- }
154
-
155
119
  /**
156
120
  * The name of the private endpoint connection associated with the Azure resource.
157
121
  * @template Segment The resource type name for private endpoint connections (default is privateEndpointConnections)
@@ -159,16 +123,6 @@ model PrivateLinkResourceListResult {
159
123
  model PrivateEndpointConnectionParameter<Segment extends valueof string = "privateEndpointConnections"> {
160
124
  /** The name of the private endpoint connection associated with the Azure resource. */
161
125
  @path
162
- @armCommonParameter(
163
- "PrivateEndpointConnectionName",
164
- #{ version: Azure.ResourceManager.CommonTypes.Versions.v4, isDefault: true },
165
- "privatelinks.json"
166
- )
167
- @armCommonParameter(
168
- "PrivateEndpointConnectionName",
169
- Azure.ResourceManager.CommonTypes.Versions.v5,
170
- "privatelinks.json"
171
- )
172
126
  @TypeSpec.Rest.segment(Segment)
173
127
  @key("privateEndpointConnectionName")
174
128
  name: string;