Skip to content

Commit

Permalink
Merge pull request #1 from jpawlowski/automated-documentation-update-…
Browse files Browse the repository at this point in the history
…10102056343

Automated documentation update
  • Loading branch information
jpawlowski authored Jul 25, 2024
2 parents 11f6bee + 9cfd99b commit ec478be
Show file tree
Hide file tree
Showing 3 changed files with 156 additions and 0 deletions.
32 changes: 32 additions & 0 deletions src/cli-microsoft365/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@

# CLI for Microsoft 365 (cli-microsoft365)

CLI for Microsoft 365 is a cross-platform CLI that allows users on any platform to manage various configuration settings of Microsoft 365.

## Example Usage

```json
"features": {
"ghcr.io/jpawlowski/devcontainer-features/cli-microsoft365:1": {}
}
```

## Options

| Options Id | Description | Type | Default Value |
|-----|-----|-----|-----|
| version | Set the version of the CLI to install. | string | latest |
| commandCompletion | Enable command completion in Bash, Zsh and Fish. | boolean | true |
| commandCompletionPS | Enable command completion in PowerShell. | boolean | true |

## Customizations

### VS Code Extensions

- `adamwojcikit.cli-for-microsoft-365-extension`



---

_Note: This file was auto-generated from the [devcontainer-feature.json](https://github.com/jpawlowski/devcontainer-features/blob/main/src/cli-microsoft365/devcontainer-feature.json). Add additional notes to a `NOTES.md`._
30 changes: 30 additions & 0 deletions src/pnp.powershell/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@

# PnP PowerShell (pnp.powershell)

PnP PowerShell is a cross-platform PowerShell module that allows users on any platform to manage various configuration settings of Microsoft 365.

## Example Usage

```json
"features": {
"ghcr.io/jpawlowski/devcontainer-features/pnp.powershell:1": {}
}
```

## Options

| Options Id | Description | Type | Default Value |
|-----|-----|-----|-----|
| version | Set the version of PnP.PowerShell to install. | string | latest |

## Customizations

### VS Code Extensions

- `adamwojcikit.pnp-powershell-extension`



---

_Note: This file was auto-generated from the [devcontainer-feature.json](https://github.com/jpawlowski/devcontainer-features/blob/main/src/pnp.powershell/devcontainer-feature.json). Add additional notes to a `NOTES.md`._
94 changes: 94 additions & 0 deletions src/powershell-extended/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
### **IMPORTANT NOTE**
- **Ids used to publish this Feature in the past - 'powershell'**

# PowerShell Extended [PSResourceGet / NuGet Versioning] (powershell-extended)

Installs PowerShell on AMD64 and ARM64 machines, and optional additional resources from the PowerShell Gallery using PSResourceGet. It also supports advanced installation options.

## Example Usage

```json
"features": {
"ghcr.io/jpawlowski/devcontainer-features/powershell-extended:2": {}
}
```

## Options

| Options Id | Description | Type | Default Value |
|-----|-----|-----|-----|
| version | Select or enter a version of PowerShell. | string | latest |
| installMethod | Select the installation method for PowerShell. If you choose `package`, PowerShell will be installed using the package manager with a fallback to 'github'. If you choose `github`, PowerShell will be installed from GitHub releases. | string | package |
| updatePSResourceGet | Update `Microsoft.PowerShell.PSResourceGet` module to the latest version. | boolean | true |
| repositories | Optional semicolon separated list of PowerShell repositories to register. To set a specific name for a repository, use the format `name=url`, otherwise the name will be the base URL. See feature documentation for more information about advanced installation options. | string | - |
| resources | Optional semicolon separated list of PowerShell resources to install. If you need to install a specific version, use `@` to specify the version (e.g. `[email protected]`). See feature documentation for more information about advanced installation options. | string | - |
| profileURLAllUsersAllHosts | Optional (publicly accessible) URL to download global PowerShell profile (AllUsersAllHosts). | string | - |

## Customizations

### VS Code Extensions

- `ms-vscode.powershell`

## Advanced Resource Installation Options

This is a re-write of the original [ghcr.io/devcontainers/features/powershell](https://ghcr.io/devcontainers/features/powershell)
package. Is uses [Microsoft.PowerShell.PSResourceGet](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.psresourceget/)
instead of [PowerShellGet](https://learn.microsoft.com/en-us/powershell/gallery/overview) to install resources, which is
included with PowerShell since version 7.4.0.

The new configuration options support an advanced format for 3rd party installation repositories as well enhanced version
defintion, including version ranges and pre-releases.

### Setting a version for `resources`

To use advanced options for resource installation, you may do so using the extended
resource name syntax:

`[<Repository-URI>]Resource-Name[@<Version>]`

#### Version Examples

| Notation | Description |
|----------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------|
| `Az` | Installs the latest version. |
| `[email protected]` | Install exactly version 12.1.0. |
| `Az@[12.1.0,]` | Installs any version equal or greater than 12.1.0. |
| `Az@[12.1,12.2)` | Installs the latest bugfix release within the 12.1.x range. |
| `https://example.com/api/v2/MyPrivateModule` | Installs a module from a 3rd-party repository. The URI base is interpreted as resource name, while the rest is used as repository URI. |

For a detailled description about version formats, see [`Install-PSResource -Version`](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.psresourceget/install-psresource?#-version)
reference.

Resource repositories are automatically created using their domain, unless they are pre-defined with their name
(see below). Note that these repositories will be available also after the container was created, but they will
**not be trusted** automatically after the initial installation of resources.

> **IMPORTANT:** Please note that multiple items must be separated using a semicolon (`;`).
> The comma is reserved to be used within version ranges as explained above.
### Setting resource `repositories`

To register a resource repository (or change PSGallery default repository), you make use this syntax:

`[<Repository-Name>=]Repository-URI[^<Priority>]`

#### Resource Repository Examples

| Notation | Description | Resulting Repository Name |
|-------------------------------------|---------------------------------------|---------------------------|
| `https://example.com/api/v2` | Minimum example. | `example.com` |
| `https://example.com/api/v2^40` | Explicitly set priority to 40. | `example.com` |
| `MyRepo=https://example.com/api/v2` | Setting an explicit repository name. | `MyRepo` |
| `PSGallery^60` | Decrease priority of PSGallery to 60. | `PSGallery` |
| `PSGallery` | Set PSGallery as trusted. | `PSGallery` |

Note that every repository you explicitly set in the configuration will automatically be configured as a **trusted resource**.

> **IMPORTANT:** Please note that multiple items must be separated using a semicolon (`;`).
> It follows the principle used to separate items in the `resources` option.

---

_Note: This file was auto-generated from the [devcontainer-feature.json](https://github.com/jpawlowski/devcontainer-features/blob/main/src/powershell-extended/devcontainer-feature.json). Add additional notes to a `NOTES.md`._

0 comments on commit ec478be

Please sign in to comment.