Skip to content

Commit

Permalink
ARM Library reorganization (Azure#945)
Browse files Browse the repository at this point in the history
- Created fully versioned Azure.ResourceManager.CommonTypes subnamespace
- Moving all common type definitions/parameters into corresponding tsp
files for later easy swagger generation
- Adding back compat layers so all existing entities moved from
Foundations continue to work (via `alias`)
- Added default logic to add `@useDependency` to CommonType reference
via `@armProviderNamespace` and `@armCommonTypeVersion` decorators to
prevent breaking change.

---------

Co-authored-by: Timothee Guerin <[email protected]>
  • Loading branch information
allenjzhang and timotheeguerin committed Jun 12, 2024
1 parent 8c982cf commit fe90e20
Show file tree
Hide file tree
Showing 54 changed files with 3,850 additions and 1,529 deletions.
7 changes: 7 additions & 0 deletions .chronus/changes/azhang_ArmReorg-2024-4-31-18-40-39.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
changeKind: internal
packages:
- "@azure-tools/typespec-azure-resource-manager"
---

Reorganize ARM library internal models into fully version controlled `Azure.ResourceManager.CommontTypes` namespace.
1,460 changes: 828 additions & 632 deletions docs/libraries/azure-resource-manager/reference/data-types.md

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions docs/libraries/azure-resource-manager/reference/decorators.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ the version of the Azure Resource Manager common-types to use for refs in emitte

#### Parameters

| Name | Type | Description |
| ------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| version | `valueof string \| EnumMember` | The Azure.ResourceManager.CommonTypes.Versions for the desired common-types version or an equivalent string value. |
| Name | Type | Description |
| ------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| version | `valueof string \| EnumMember` | The Azure.ResourceManager.CommonTypes.Versions for the desired common-types version or an equivalent string value like "v5". |

### `@armLibraryNamespace` {#@Azure.ResourceManager.armLibraryNamespace}

Expand Down
95 changes: 55 additions & 40 deletions docs/libraries/azure-resource-manager/reference/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,6 @@ npm install --save-peer @azure-tools/typespec-azure-resource-manager

### Models

- [`ApiVersionParameter`](./data-types.md#Azure.ResourceManager.ApiVersionParameter)
- [`ArmAcceptedLroResponse`](./data-types.md#Azure.ResourceManager.ArmAcceptedLroResponse)
- [`ArmAcceptedResponse`](./data-types.md#Azure.ResourceManager.ArmAcceptedResponse)
- [`ArmAsyncOperationHeader`](./data-types.md#Azure.ResourceManager.ArmAsyncOperationHeader)
Expand All @@ -135,35 +134,20 @@ npm install --save-peer @azure-tools/typespec-azure-resource-manager
- [`ArmResourceNotFoundResponse`](./data-types.md#Azure.ResourceManager.ArmResourceNotFoundResponse)
- [`ArmResourceUpdatedResponse`](./data-types.md#Azure.ResourceManager.ArmResourceUpdatedResponse)
- [`ArmResponse`](./data-types.md#Azure.ResourceManager.ArmResponse)
- [`CustomerManagedKeyEncryption`](./data-types.md#Azure.ResourceManager.CustomerManagedKeyEncryption)
- [`DefaultProvisioningStateProperty`](./data-types.md#Azure.ResourceManager.DefaultProvisioningStateProperty)
- [`Encryption`](./data-types.md#Azure.ResourceManager.Encryption)
- [`EncryptionConfiguration`](./data-types.md#Azure.ResourceManager.EncryptionConfiguration)
- [`EncryptionProperty`](./data-types.md#Azure.ResourceManager.EncryptionProperty)
- [`EntityTagProperty`](./data-types.md#Azure.ResourceManager.EntityTagProperty)
- [`ErrorResponse`](./data-types.md#Azure.ResourceManager.ErrorResponse)
- [`ExtendedLocationProperty`](./data-types.md#Azure.ResourceManager.ExtendedLocationProperty)
- [`ExtensionResource`](./data-types.md#Azure.ResourceManager.ExtensionResource)
- [`KeysOf`](./data-types.md#Azure.ResourceManager.KeysOf)
- [`LocationParameter`](./data-types.md#Azure.ResourceManager.LocationParameter)
- [`LocationResourceParameter`](./data-types.md#Azure.ResourceManager.LocationResourceParameter)
- [`ManagedByProperty`](./data-types.md#Azure.ResourceManager.ManagedByProperty)
- [`ManagedServiceIdentityProperty`](./data-types.md#Azure.ResourceManager.ManagedServiceIdentityProperty)
- [`ManagedSystemAssignedIdentityProperty`](./data-types.md#Azure.ResourceManager.ManagedSystemAssignedIdentityProperty)
- [`ParentKeysOf`](./data-types.md#Azure.ResourceManager.ParentKeysOf)
- [`PrivateEndpoint`](./data-types.md#Azure.ResourceManager.PrivateEndpoint)
- [`PrivateEndpointConnection`](./data-types.md#Azure.ResourceManager.PrivateEndpointConnection)
- [`PrivateEndpointConnectionParameter`](./data-types.md#Azure.ResourceManager.PrivateEndpointConnectionParameter)
- [`PrivateEndpointConnectionProperties`](./data-types.md#Azure.ResourceManager.PrivateEndpointConnectionProperties)
- [`PrivateEndpointConnectionResourceListResult`](./data-types.md#Azure.ResourceManager.PrivateEndpointConnectionResourceListResult)
- [`PrivateLinkResource`](./data-types.md#Azure.ResourceManager.PrivateLinkResource)
- [`PrivateLinkResourceListResult`](./data-types.md#Azure.ResourceManager.PrivateLinkResourceListResult)
- [`PrivateLinkResourceParameter`](./data-types.md#Azure.ResourceManager.PrivateLinkResourceParameter)
- [`PrivateLinkResourceProperties`](./data-types.md#Azure.ResourceManager.PrivateLinkResourceProperties)
- [`PrivateLinkServiceConnectionState`](./data-types.md#Azure.ResourceManager.PrivateLinkServiceConnectionState)
- [`ProviderNamespace`](./data-types.md#Azure.ResourceManager.ProviderNamespace)
- [`ProxyResource`](./data-types.md#Azure.ResourceManager.ProxyResource)
- [`ResourceGroupLocationResource`](./data-types.md#Azure.ResourceManager.ResourceGroupLocationResource)
- [`ResourceGroupParameter`](./data-types.md#Azure.ResourceManager.ResourceGroupParameter)
- [`ResourceInstanceParameters`](./data-types.md#Azure.ResourceManager.ResourceInstanceParameters)
- [`ResourceKindProperty`](./data-types.md#Azure.ResourceManager.ResourceKindProperty)
- [`ResourceListResult`](./data-types.md#Azure.ResourceManager.ResourceListResult)
Expand All @@ -172,13 +156,66 @@ npm install --save-peer @azure-tools/typespec-azure-resource-manager
- [`ResourcePlanProperty`](./data-types.md#Azure.ResourceManager.ResourcePlanProperty)
- [`ResourceSkuProperty`](./data-types.md#Azure.ResourceManager.ResourceSkuProperty)
- [`ResourceUriParameter`](./data-types.md#Azure.ResourceManager.ResourceUriParameter)
- [`SubscriptionIdParameter`](./data-types.md#Azure.ResourceManager.SubscriptionIdParameter)
- [`SubscriptionLocationResource`](./data-types.md#Azure.ResourceManager.SubscriptionLocationResource)
- [`TenantLocationResource`](./data-types.md#Azure.ResourceManager.TenantLocationResource)
- [`TrackedResource`](./data-types.md#Azure.ResourceManager.TrackedResource)

## Azure.ResourceManager.CommonTypes

### Models

- [`ApiVersionParameter`](./data-types.md#Azure.ResourceManager.CommonTypes.ApiVersionParameter)
- [`AzureEntityResource`](./data-types.md#Azure.ResourceManager.CommonTypes.AzureEntityResource)
- [`CheckNameAvailabilityRequest`](./data-types.md#Azure.ResourceManager.CommonTypes.CheckNameAvailabilityRequest)
- [`CheckNameAvailabilityResponse`](./data-types.md#Azure.ResourceManager.CommonTypes.CheckNameAvailabilityResponse)
- [`CustomerManagedKeyEncryption`](./data-types.md#Azure.ResourceManager.CommonTypes.CustomerManagedKeyEncryption)
- [`Encryption`](./data-types.md#Azure.ResourceManager.CommonTypes.Encryption)
- [`EncryptionProperties`](./data-types.md#Azure.ResourceManager.CommonTypes.EncryptionProperties)
- [`ErrorAdditionalInfo`](./data-types.md#Azure.ResourceManager.CommonTypes.ErrorAdditionalInfo)
- [`ErrorDetail`](./data-types.md#Azure.ResourceManager.CommonTypes.ErrorDetail)
- [`ErrorResponse`](./data-types.md#Azure.ResourceManager.CommonTypes.ErrorResponse)
- [`ExtendedLocation`](./data-types.md#Azure.ResourceManager.CommonTypes.ExtendedLocation)
- [`ExtensionResource`](./data-types.md#Azure.ResourceManager.CommonTypes.ExtensionResource)
- [`Identity`](./data-types.md#Azure.ResourceManager.CommonTypes.Identity)
- [`IfMatchHeader`](./data-types.md#Azure.ResourceManager.CommonTypes.IfMatchHeader)
- [`IfNoneMatchHeader`](./data-types.md#Azure.ResourceManager.CommonTypes.IfNoneMatchHeader)
- [`KeyEncryptionKeyIdentity`](./data-types.md#Azure.ResourceManager.CommonTypes.KeyEncryptionKeyIdentity)
- [`KeyVaultProperties`](./data-types.md#Azure.ResourceManager.CommonTypes.KeyVaultProperties)
- [`LocationData`](./data-types.md#Azure.ResourceManager.CommonTypes.LocationData)
- [`LocationParameter`](./data-types.md#Azure.ResourceManager.CommonTypes.LocationParameter)
- [`LocationResourceParameter`](./data-types.md#Azure.ResourceManager.CommonTypes.LocationResourceParameter)
- [`ManagedServiceIdentity`](./data-types.md#Azure.ResourceManager.CommonTypes.ManagedServiceIdentity)
- [`ManagementGroupNameParameter`](./data-types.md#Azure.ResourceManager.CommonTypes.ManagementGroupNameParameter)
- [`Operation`](./data-types.md#Azure.ResourceManager.CommonTypes.Operation)
- [`OperationDisplay`](./data-types.md#Azure.ResourceManager.CommonTypes.OperationDisplay)
- [`OperationIdParameter`](./data-types.md#Azure.ResourceManager.CommonTypes.OperationIdParameter)
- [`OperationListResult`](./data-types.md#Azure.ResourceManager.CommonTypes.OperationListResult)
- [`OperationStatusResult`](./data-types.md#Azure.ResourceManager.CommonTypes.OperationStatusResult)
- [`Plan`](./data-types.md#Azure.ResourceManager.CommonTypes.Plan)
- [`PrivateEndpoint`](./data-types.md#Azure.ResourceManager.CommonTypes.PrivateEndpoint)
- [`PrivateEndpointConnection`](./data-types.md#Azure.ResourceManager.CommonTypes.PrivateEndpointConnection)
- [`PrivateEndpointConnectionListResult`](./data-types.md#Azure.ResourceManager.CommonTypes.PrivateEndpointConnectionListResult)
- [`PrivateEndpointConnectionParameter`](./data-types.md#Azure.ResourceManager.CommonTypes.PrivateEndpointConnectionParameter)
- [`PrivateEndpointConnectionProperties`](./data-types.md#Azure.ResourceManager.CommonTypes.PrivateEndpointConnectionProperties)
- [`PrivateLinkResource`](./data-types.md#Azure.ResourceManager.CommonTypes.PrivateLinkResource)
- [`PrivateLinkResourceListResult`](./data-types.md#Azure.ResourceManager.CommonTypes.PrivateLinkResourceListResult)
- [`PrivateLinkResourceParameter`](./data-types.md#Azure.ResourceManager.CommonTypes.PrivateLinkResourceParameter)
- [`PrivateLinkResourceProperties`](./data-types.md#Azure.ResourceManager.CommonTypes.PrivateLinkResourceProperties)
- [`PrivateLinkServiceConnectionState`](./data-types.md#Azure.ResourceManager.CommonTypes.PrivateLinkServiceConnectionState)
- [`ProxyResource`](./data-types.md#Azure.ResourceManager.CommonTypes.ProxyResource)
- [`Resource`](./data-types.md#Azure.ResourceManager.CommonTypes.Resource)
- [`ResourceGroupNameParameter`](./data-types.md#Azure.ResourceManager.CommonTypes.ResourceGroupNameParameter)
- [`ResourceModelWithAllowedPropertySet`](./data-types.md#Azure.ResourceManager.CommonTypes.ResourceModelWithAllowedPropertySet)
- [`ScopeParameter`](./data-types.md#Azure.ResourceManager.CommonTypes.ScopeParameter)
- [`Sku`](./data-types.md#Azure.ResourceManager.CommonTypes.Sku)
- [`SubscriptionIdParameter`](./data-types.md#Azure.ResourceManager.CommonTypes.SubscriptionIdParameter)
- [`SystemAssignedServiceIdentity`](./data-types.md#Azure.ResourceManager.CommonTypes.SystemAssignedServiceIdentity)
- [`SystemData`](./data-types.md#Azure.ResourceManager.CommonTypes.SystemData)
- [`TenantIdParameter`](./data-types.md#Azure.ResourceManager.CommonTypes.TenantIdParameter)
- [`TrackedResource`](./data-types.md#Azure.ResourceManager.CommonTypes.TrackedResource)
- [`UserAssignedIdentities`](./data-types.md#Azure.ResourceManager.CommonTypes.UserAssignedIdentities)
- [`UserAssignedIdentity`](./data-types.md#Azure.ResourceManager.CommonTypes.UserAssignedIdentity)

## Azure.ResourceManager.Foundations

### Operations
Expand All @@ -191,40 +228,18 @@ npm install --save-peer @azure-tools/typespec-azure-resource-manager
### Models

- [`ArmTagsProperty`](./data-types.md#Azure.ResourceManager.Foundations.ArmTagsProperty)
- [`AzureEntityResource`](./data-types.md#Azure.ResourceManager.Foundations.AzureEntityResource)
- [`CheckNameAvailabilityRequest`](./data-types.md#Azure.ResourceManager.Foundations.CheckNameAvailabilityRequest)
- [`CheckNameAvailabilityResponse`](./data-types.md#Azure.ResourceManager.Foundations.CheckNameAvailabilityResponse)
- [`DefaultBaseParameters`](./data-types.md#Azure.ResourceManager.Foundations.DefaultBaseParameters)
- [`ErrorAdditionalInfo`](./data-types.md#Azure.ResourceManager.Foundations.ErrorAdditionalInfo)
- [`ErrorDetail`](./data-types.md#Azure.ResourceManager.Foundations.ErrorDetail)
- [`ExtendedLocation`](./data-types.md#Azure.ResourceManager.Foundations.ExtendedLocation)
- [`ExtensionBaseParameters`](./data-types.md#Azure.ResourceManager.Foundations.ExtensionBaseParameters)
- [`ExtensionResource`](./data-types.md#Azure.ResourceManager.Foundations.ExtensionResource)
- [`ExtensionScope`](./data-types.md#Azure.ResourceManager.Foundations.ExtensionScope)
- [`LocationBaseParameters`](./data-types.md#Azure.ResourceManager.Foundations.LocationBaseParameters)
- [`LocationScope`](./data-types.md#Azure.ResourceManager.Foundations.LocationScope)
- [`ManagedServiceIdentity`](./data-types.md#Azure.ResourceManager.Foundations.ManagedServiceIdentity)
- [`Operation`](./data-types.md#Azure.ResourceManager.Foundations.Operation)
- [`OperationDisplay`](./data-types.md#Azure.ResourceManager.Foundations.OperationDisplay)
- [`OperationIdParameter`](./data-types.md#Azure.ResourceManager.Foundations.OperationIdParameter)
- [`OperationListResult`](./data-types.md#Azure.ResourceManager.Foundations.OperationListResult)
- [`OperationStatusResult`](./data-types.md#Azure.ResourceManager.Foundations.OperationStatusResult)
- [`Plan`](./data-types.md#Azure.ResourceManager.Foundations.Plan)
- [`ProxyResource`](./data-types.md#Azure.ResourceManager.Foundations.ProxyResource)
- [`ProxyResourceUpdateModel`](./data-types.md#Azure.ResourceManager.Foundations.ProxyResourceUpdateModel)
- [`Resource`](./data-types.md#Azure.ResourceManager.Foundations.Resource)
- [`ResourceGroupBaseParameters`](./data-types.md#Azure.ResourceManager.Foundations.ResourceGroupBaseParameters)
- [`ResourceGroupScope`](./data-types.md#Azure.ResourceManager.Foundations.ResourceGroupScope)
- [`ResourceUpdateModel`](./data-types.md#Azure.ResourceManager.Foundations.ResourceUpdateModel)
- [`ResourceUpdateModelProperties`](./data-types.md#Azure.ResourceManager.Foundations.ResourceUpdateModelProperties)
- [`Sku`](./data-types.md#Azure.ResourceManager.Foundations.Sku)
- [`SubscriptionBaseParameters`](./data-types.md#Azure.ResourceManager.Foundations.SubscriptionBaseParameters)
- [`SubscriptionScope`](./data-types.md#Azure.ResourceManager.Foundations.SubscriptionScope)
- [`SystemAssignedServiceIdentity`](./data-types.md#Azure.ResourceManager.Foundations.SystemAssignedServiceIdentity)
- [`SystemData`](./data-types.md#Azure.ResourceManager.Foundations.SystemData)
- [`TagsUpdateModel`](./data-types.md#Azure.ResourceManager.Foundations.TagsUpdateModel)
- [`TenantBaseParameters`](./data-types.md#Azure.ResourceManager.Foundations.TenantBaseParameters)
- [`TenantScope`](./data-types.md#Azure.ResourceManager.Foundations.TenantScope)
- [`TrackedResource`](./data-types.md#Azure.ResourceManager.Foundations.TrackedResource)
- [`UserAssignedIdentities`](./data-types.md#Azure.ResourceManager.Foundations.UserAssignedIdentities)
- [`UserAssignedIdentity`](./data-types.md#Azure.ResourceManager.Foundations.UserAssignedIdentity)
Loading

0 comments on commit fe90e20

Please sign in to comment.