Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add initial documentation for common code #160

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/Aks/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
# Aks
# Aks
Common management client library for Azure Kubernetes Service. Allows modules to safely take a dependency on a .Net SDK for AKS management functions without causing dependency conflicts with the Az.AKS module.
95 changes: 94 additions & 1 deletion src/Authentication.Abstractions/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,94 @@
# Authentication Abstractions
# Authentication Abstractions
Base abstrations library for all Azure PowerShell modules.

## Restrictions
**This library cannot have API or binary breaking changes**. It is required to be completely backward compatible, this means:
- Interfaces in this library cannot be changed. New base functionality requires using the interface `Extensions` property, or defining a new interface
- For abstract and concrete classes, methods and properties may be added, but may not be changed or removed.
## Target
NetStandard 2.0
## Dependencies
- Hyak.Commmon (1.0.0.0)
- Microsoft.Azure.Common (2.0.0.0)
- Microsoft.Rest.ClientRuntime (2.0.0.0)
- Newtonsoft.Json (10.0.0.0)
## Interfaces
### IAccessToken
Represents a renwable access token
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### IAuthenticationFactory
Abstract factory for authentication classes compatible with .Net autorest-generated libraries
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### IAzureAccount
Abstract representation of a logged-in principal
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### IAzureContext
Abstract representation of the default target for authentication and Azure PowerzShell commands (Environment, Tenant, Account, Subscription)
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### IAzureContextContainer
A dictionary of IAzureContext objects
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### IAzureEnvironment
Abstract representation of a particular Azure Cloud
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### IAzureSession
### IAzureSubscription
Abstract representation of an ARM subscription.
### IAzureTenant
Abstract represetnation of an AAD Tenant
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### IClientAction
Abstract representation of an action that can be performed ona client
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### IClientFactory
Abstract factory for .Net Autorest-generated clients
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### IDataStore
Methods representing a file store - used to abstract away file system details for testing purposes
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### IExtensibleModel
Base interface for all model interfaces - provides a dictionary of extended properties that can be used by any model. Extensions over this interface implemented in this library allow adding basic extension storage and lookup functions once and having them apply ao all implementations of any interface in this library.
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### IExtensibleSettings
Base interface for serializable settings classes. Interface allows a single extension implementation that applies to all implementiung interfaces and classes.
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### IFileProvider
Base abstration for shared file data - allows implementations that provide thread-safe and process safe file access.
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### IHyakAuthenticationFactory
Abstract factory for authentication classes compatible with .Net Hyak generated clients
### IHyakClientAction
Abstract representation of a client configuration action for Hyak-generated clients
### IHyakClientFactory
Abstract factory for Hyak=generated clients
### IProfileProvider
Abstract collection of profile management methods, designed to be combined with an IFileProvider for any concreteimplementation
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### IRenewableToken
An abstract type for renewable tokens that are compatible with the ITokenProvider interfaces in autorest-generated clients
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### IStorageContext
Abstract representation of an Azure Storage data plane target - provides a single aabstraction for data plane access regardless of authentication method, and regardless of the storage data plane version.
### IStorageContextProvider
Abstract representation of a factory for IStorageContext - allows using a single abstraction regardless of the implementation, which allows using thsi abstraction over multiple different versions of Azure Storage data and nanagement plane APIs.
markcowl marked this conversation as resolved.
Show resolved Hide resolved

## Classes
### AzureAccount
Default implementation of IAzureAccount, includes extention property names for extension properties used in Azure Accounts.
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### AzureContext
Default implementation of IAzureContext
### AzureEnvironment
Default implementation of IAzureEnvironment - a collection of properties that defines how to communicate with a particular Azure Cloud.
### AzurePSDataCollectionProfile
Serialization class for data collection settings
### AzureRmProfileProvider
Default ProfileProvider for AzureRM
### AzureSMProfileProvider
Default Profile provider for RDFE
### AzureSubscription
Default implementation of IAzureSubscription, including extension property names typically used with Subscriptions.]
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### AzureTenant
Default implementation fo IAzureTenant.
### DataCollectionController
Default im[lementation of client-side telemetry]
markcowl marked this conversation as resolved.
Show resolved Hide resolved
### DiskDataStore
Default implementation of IDataStore using the file system.

## Extensions
## Enumerations
### AzureModule
The kinds of AzureModule (in this case: Profile, ARM, RDFE)
### ContextSaveMode
The modes of context autosave (CurrentUser or Process)
## Static Classes
### AzureEnvironmentConstants
General constants defining the endpoints in the built-in Azure environments
### AzureSession
General constants used at runtime by common code, especially authentication
### EnvironmentName
General constants used in the built-in Azure environments
3 changes: 2 additions & 1 deletion src/Authorization/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
# Authorization
# Authorization
Common management client library for Azure Authorization Service. Allows modules to safely take a dependency on a .Net SDK for RBAC functions without causing dependency conflicts with the Az.Resources module.
3 changes: 2 additions & 1 deletion src/Compute/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
# Compute
# Compute
Common management client library for Azure Compute Service. Allows modules to safely take a dependency on a .Net SDK for Compute management functions without causing dependency conflicts with the Az.Compute module.
3 changes: 2 additions & 1 deletion src/Graph.Rbac/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
# Graph Rbac
# Graph Rbac
Common management client library for AAD Graph Service. Allows modules to safely take a dependency on a .Net SDK for AAD Graph functions without causing dependency conflicts with the Az.Resources module.
3 changes: 2 additions & 1 deletion src/KeyVault/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
# KeyVault
# KeyVault
Common management client library for Azure KeyVault Service. Allows modules to safely take a dependency on a .Net SDK for KeyVault management functions without causing dependency conflicts with the Az.KeyVault module.
2 changes: 2 additions & 0 deletions src/Monitor/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Monitor
Common management client library for Azure Monitor Service. Allows modules to safely take a dependency on a .Net SDK for Monitor management functions without causing dependency conflicts with the Az.Monitor module.
3 changes: 2 additions & 1 deletion src/Network/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
# Network
# Network
Common management client library for Azure Network Service. Allows modules to safely take a dependency on a .Net SDK for Network management functions without causing dependency conflicts with the Az.Network module.
3 changes: 2 additions & 1 deletion src/PolicyInsights/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
PolicyInsights
# PolicyInsights
Common management client library for Azure PolicyInsights Service. Allows modules to safely take a dependency on a .Net SDK for Policy Insights management functions without causing dependency conflicts with the Az.Policy module.
3 changes: 2 additions & 1 deletion src/Storage.Management/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
# Storage Management
# Storage Management
Common management client library for Azure Storage Service. Allows modules to safely take a dependency on a .Net SDK for Storage management functions without causing dependency conflicts with the Az.Storage module.
3 changes: 2 additions & 1 deletion src/Storage/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
# Storage
# Storage
Base classes for api-version independent abstractions for Storage data plane
3 changes: 2 additions & 1 deletion src/Strategies/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
# Strategies
# Strategies
Common abstractions for goal-seeking deployment engine.
3 changes: 2 additions & 1 deletion src/Websites/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
# Websites
# Websites
Common management client library for Azure App Service. Allows modules to safely take a dependency on a .Net SDK for ApPService management functions without causing dependency conflicts with the Az.Websites module.
markcowl marked this conversation as resolved.
Show resolved Hide resolved