Bindings commercetools (#2363)

* Adding commercetools binding

Signed-off-by: Harry Kimpel <harrykimpel@hotmail.com>

* Adding commercetools binding

Signed-off-by: Harry Kimpel <harrykimpel@hotmail.com>

* Fixing GitHub Codespaces link validation issue

Signed-off-by: Harry Kimpel <harrykimpel@hotmail.com>

* Updated docs for commercetools binding

Signed-off-by: Harry Kimpel <harrykimpel@hotmail.com>

* Updated docs for commercetools binding

Signed-off-by: Harry Kimpel <harrykimpel@hotmail.com>

* Updated docs for commercetools binding

Signed-off-by: Harry Kimpel <harrykimpel@hotmail.com>

* Adding sample for commercetools GraphQL binding

Signed-off-by: Harry Kimpel <harrykimpel@hotmail.com>

* Updated docs for Azure SQL database

Signed-off-by: Harry Kimpel <harrykimpel@hotmail.com>

* Updating commercetools docs

Signed-off-by: Harry Kimpel <harrykimpel@hotmail.com>

* Updating commercetools docs

Signed-off-by: Harry Kimpel <harrykimpel@hotmail.com>

* Update daprdocs/content/en/reference/components-reference/supported-bindings/commercetools.md

yes, fine with me

Co-authored-by: Mark Fussell <markfussell@gmail.com>

Co-authored-by: Yaron Schneider <schneider.yaron@live.com>
Co-authored-by: Mark Fussell <markfussell@gmail.com>
This commit is contained in:
Harry Kimpel 2022-05-13 00:28:14 +02:00 committed by GitHub
parent 99a51d828c
commit e4671209b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 76 additions and 2 deletions

3
.gitignore vendored
View File

@ -5,4 +5,5 @@ node_modules/
daprdocs/public
daprdocs/resources/_gen
.venv/
.hugo_build.lock
.hugo_build.lock
.dccache

1
daprdocs/.gitignore vendored
View File

@ -1 +1,2 @@
node_modules/
.dccache

View File

@ -46,4 +46,4 @@ git reset --hard
```
## Related links
- [GitHub documentation](https://docs.github.com/en/github/developing-online-with-codespaces/about-codespaces)
- [GitHub documentation](https://docs.github.com/en/codespaces/overview)

View File

@ -26,6 +26,7 @@ Table captions:
| Name | Input<br>Binding | Output<br>Binding | Status | Component version | Since runtime version |
|------|:----------------:|:-----------------:|--------|-------- | ---------|
| [Apple Push Notifications (APN)]({{< ref apns.md >}}) | | ✅ | Alpha | v1 | 1.0 |
| [commercetools]({{< ref commercetools.md >}}) | | ✅ | Alpha | v1 | 1.8 |
| [Cron (Scheduler)]({{< ref cron.md >}}) | ✅ | ✅ | Alpha | v1 | 1.0 |
| [GraphQL]({{< ref graghql.md >}}) | | ✅ | Alpha | v1 | 1.0 |
| [HTTP]({{< ref http.md >}}) | | ✅ | Stable| v1 | 1.0 |

View File

@ -0,0 +1,71 @@
---
type: docs
title: "commercetools GraphQL binding spec"
linkTitle: "commercetools GraphQL"
description: "Detailed documentation on the commercetools GraphQL binding component"
aliases:
- "/operations/components/setup-bindings/supported-bindings/commercetools/"
---
## Component format
To setup commercetools GraphQL binding create a component of type `bindings.commercetools`. See [this guide]({{< ref "howto-bindings.md#1-create-a-binding" >}}) on how to create and apply a binding configuration.
```yaml
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: <NAME>
namespace: <NAMESPACE>
spec:
type: bindings.commercetools
version: v1
metadata:
- name: region # required.
value: region
- name: provider # required.
value: provider (gcp/aws)
- name: projectKey # required.
value: project-key
- name: clientID # required.
value: *****************
- name: clientSecret # required.
value: *****************
- name: scopes # required.
value: scopes
```
{{% alert title="Warning" color="warning" %}}
The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}).
{{% /alert %}}
## Spec metadata fields
| Field | Required | Binding support | Details | Example |
|--------------------|:--------:|------------|-----|---------|
| region | Y | Output | The region of the commercetools project | `"europe-west1"` |
| provider | Y | Output | The cloud provider, either gcp or aws | `"gcp"` |
| projectKey | Y | Output | The commercetools project key | `"project-key"` |
| clientID | Y | Output | The commercetools client ID for the project | `"client ID"` |
| clientSecret | Y | Output | The commercetools client secret for the project | `"client secret"` |
| scopes | Y | Output | The commercetools scopes for the project | `"manage_project:project-key"` |
For more information see [commercetools - Creating an API Client](https://docs.commercetools.com/tutorials/getting-started#creating-an-api-client) and [commercetools - Regions](https://docs.commercetools.com/api/general-concepts#regions).
## Binding support
This component supports **output binding** with the following operations:
- `create`
## Related links
- [Basic schema for a Dapr component]({{< ref component-schema >}})
- [Bindings building block]({{< ref bindings >}})
- [How-To: Trigger application with input binding]({{< ref howto-triggers.md >}})
- [How-To: Use bindings to interface with external resources]({{< ref howto-bindings.md >}})
- [Bindings API reference]({{< ref bindings_api.md >}})
- [Sample app](https://github.com/dapr/samples/tree/master/commercetools-graphql-sample) that leverages the commercetools binding with sample GraphQL query