Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
4 changes: 4 additions & 0 deletions community-packages/package-list.json
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,10 @@
{
"repoSlug": "ionos-cloud/pulumi-ionoscloud",
"schemaFile": "provider/cmd/pulumi-resource-ionoscloud/schema.json"
},
{
"repoSlug": "formalco/pulumi-formal",
"schemaFile": "provider/cmd/pulumi-resource-formal/schema.json"
}
]
}
137 changes: 137 additions & 0 deletions themes/default/content/registry/packages/formal/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
---
# WARNING: this file was fetched from https://raw.githubusercontent.com/formalco/pulumi-formal/v1.0.3/docs/_index.md
# Do not edit by hand unless you're certain you know what you are doing!
title: Formal Provider
meta_desc: Provides an overview on how to configure the Pulumi Formal provider.
layout: package
---

## Installation

The Formal provider is available as a package in the following Pulumi languages:

* JavaScript/TypeScript: [`@formalco/pulumi`](https://www.npmjs.com/package/@formalco/pulumi)
* Python: [`pulumi-formal`](https://pypi.org/project/pulumi-formal/)
* Go: [`github.com/formalco/pulumi-formal/sdk/go/formal`](https://pkg.go.dev/github.com/formalco/pulumi-formal/sdk/go/formal)
* .NET: [`Formal.Pulumi`](https://www.nuget.org/packages/Formal.Pulumi)

## Overview

Use the Formal Pulumi Provider to interact with the
many resources supported by Formal.

Use the navigation to the left to read about the available resources.

## Authentication and Configuration

Configuration for the Formal Provider is derived from the API tokens you can generate via the Formal Console.

### Provider Configuration

> **Warning:** Hard-coded credentials are not recommended in any Pulumi
configuration and risks secret leakage should this file ever be committed to a
public version control system.

Credentials can be provided by adding an `apiKey`:

```yaml
# Pulumi.yaml provider configuration file
name: configuration-example
runtime:
config:
formal:apiKey:
value: '<apiKey>'
```

You can also use `pulumi config set formal:apiKey <apiKey> --secret` to set the API key.

Credentials can also be provided by using the `FORMAL_API_KEY` environment variable.

For example:
```yaml
# Pulumi.yaml provider configuration file
name: configuration-example
runtime:

```

```bash
export FORMAL_API_KEY="some_api_key" pulumi up
```

## Examples

{{< chooser language "go,typescript,python,csharp" >}}
{{% choosable language go %}}
```go
package main

import (
formal "github.com/formalco/pulumi-formal/sdk/go/formal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Create a new connector instance.
_, err := formal.NewConnector(ctx, "demo-connector", &formal.ConnectorArgs{
Name: pulumi.String("demo-connector"),
SpaceId: nil,
TerminationProtection: pulumi.Bool(false),
})

return err
})
}
```
{{% /choosable %}}

{{% choosable language typescript %}}
```typescript
import * as formal from "@formalco/pulumi";

new formal.Connector('demo-connector', {
name: 'demo-connector',
spaceId: undefined,
terminationProtection: false,
})
```
{{% /choosable %}}

{{% choosable language python %}}
```python
import pulumi_formal as formal

formal.Connector('demo-connector',
name='demo-connector',
space_id=None,
termination_protection=False,
)
```
{{% /choosable %}}

{{% choosable language csharp %}}
```csharp
using System.Collections.Generic;
using Pulumi;
using Formal.Pulumi;

return await Deployment.RunAsync(() =>
{
var connector = new Connector("demo-connector", new ConnectorArgs {
Name = "demo-connector",
SpaceId = null,
TerminationProtection = false
});

// Export outputs here
return new Dictionary<string, object?>
{
["demo-connector"] = connector.Id
};
});
```
{{% /choosable %}}
{{< /chooser >}}

More examples on how to deploy Formal resources are available in the [`examples/`](https://github.com/formalco/pulumi-formal/tree/main/examples) folder of the Formal Pulumi repository.
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
# WARNING: this file was fetched from https://raw.githubusercontent.com/formalco/pulumi-formal/v1.0.3/docs/installation-configuration.md
# Do not edit by hand unless you're certain you know what you are doing!
title: Formal Installation & Configuration
meta_desc: Provides an overview on how to configure credentials for the Formal provider for Pulumi.
layout: package
---
## Installation

The Formal provider is available as a package in the following Pulumi languages:

* JavaScript/TypeScript: [`@formalco/pulumi`](https://www.npmjs.com/package/@formalco/pulumi)
* Python: [`pulumi-formal`](https://pypi.org/project/pulumi-formal/)
* Go: [`github.com/formalco/pulumi-formal/sdk/go/formal`](https://pkg.go.dev/github.com/formalco/pulumi-formal/sdk/go/formal)
* .NET: [`Formal.Pulumi`](https://www.nuget.org/packages/Formal.Pulumi)

### Provider Binary
The Formal provider plugin is a third-party binary. It can be installed using the `pulumi plugin` command.

```sh
pulumi plugin install resource formal <version> --server github://api.github.com/formalco
```

Replace the version string `<version>` with your desired version.

## Authentication

The Formal provider must be configured with an `API Key` in order to deploy Formal resources. See the Formal documentation on API keys [here.](https://docs.joinformal.com/tools/api-keys)

## Example configuration

Configure your Formal API key (with `--secret`):
```
pulumi config set formal:apiKey FORMAL_API_KEY --secret
```

You should now be able to deploy Formal resources.

## Configuration options

The following configuration options are available for the Formal provider:

- `formal:apiKey` (environment: `FORMAL_API_KEY`) - The API key used to access the formal control plane.
16 changes: 16 additions & 0 deletions themes/default/data/registry/packages/formal.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# WARNING: this file was generated by resourcedocsgen
# Do not edit by hand unless you're certain you know what you are doing!
category: Cloud
component: false
description: A Pulumi package for creating and managing Formal resources.
featured: false
logo_url: https://avatars3.githubusercontent.com/formalco
name: formal
native: false
package_status: ga
publisher: Formal
repo_url: https://github.com/formalco/pulumi-formal
schema_file_url: https://raw.githubusercontent.com/formalco/pulumi-formal/v1.0.3/provider/cmd/pulumi-resource-formal/schema.json
title: Formal
updated_on: 1755545857
version: v1.0.3
1 change: 1 addition & 0 deletions tools/resourcedocsgen/pkg/publishers/publisher-names.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@
"ferlab-ste-justine": "ferlab-ste-justine",
"fivetran": "fivetran",
"flexibleenginecloud": "flexibleenginecloud",
"Formal": "Formal",
"fortinetdev": "fortinetdev",
"g-core": "g-core",
"glesys": "glesys",
Expand Down
Loading