-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathextension.yaml
136 lines (121 loc) · 4.25 KB
/
extension.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
name: firestore-messagebird-send-msg
version: 0.2.0
specVersion: v1beta
displayName: Send Messages with MessageBird
description:
Sends messages and notifications using the MessageBird Conversations API.
license: Apache-2.0
sourceUrl: https://github.com/messagebird/firestore-send-msg/tree/master
releaseNotesUrl: https://github.com/messagebird/firestore-send-msg/CHANGELOG.md
author:
authorName: MessageBird
url: https://messagebird.com
contributors:
- authorName: Marcel Corso
email: [email protected]
url: https://github.com/marcelcorso
- authorName: Oleksandr Odinok
email: [email protected]
url: https://github.com/aodinok
billingRequired: true
externalServices:
- name: MessageBird
pricingUri: https://messagebird.com/pricing
roles:
- role: datastore.user
reason: Allows this extension to access Cloud Firestore to read and process added documents.
resources:
- name: processQueue
type: firebaseextensions.v1beta.function
description: >-
Processes document changes in the specified Cloud Firestore collection,
delivers messages, and updates the document with delivery status information.
properties:
sourceDirectory: .
location: ${LOCATION}
runtime: nodejs10
eventTrigger:
eventType: providers/cloud.firestore/eventTypes/document.write
resource: projects/${PROJECT_ID}/databases/(default)/documents/${MSG_COLLECTION}/{id}
params:
- param: LOCATION
label: Cloud Functions deployment location
description: >-
Where do you want to deploy the functions created for this extension?
You usually want a location close to your database.
For help selecting a location, refer to the
[location selection guide](https://firebase.google.com/docs/functions/locations).
type: select
options:
- label: Iowa (us-central1)
value: us-central1
- label: South Carolina (us-east1)
value: us-east1
- label: Northern Virginia (us-east4)
value: us-east4
- label: Los Angeles (us-west2)
value: us-west2
- label: Salt Lake City (us-west3)
value: us-west3
- label: Las Vegas (us-west4)
value: us-west4
- label: Warsaw (europe-central2)
value: europe-central2
- label: Belgium (europe-west1)
value: europe-west1
- label: London (europe-west2)
value: europe-west2
- label: Frankfurt (europe-west3)
value: europe-west3
- label: Zurich (europe-west6)
value: europe-west6
- label: Hong Kong (asia-east2)
value: asia-east2
- label: Tokyo (asia-northeast1)
value: asia-northeast1
- label: Osaka (asia-northeast2)
value: asia-northeast2
- label: Seoul (asia-northeast3)
value: asia-northeast3
- label: Mumbai (asia-south1)
value: asia-south1
- label: Jakarta (asia-southeast2)
value: asia-southeast2
- label: Montreal (northamerica-northeast1)
value: northamerica-northeast1
- label: Sao Paulo (southamerica-east1)
value: southamerica-east1
- label: Sydney (australia-southeast1)
value: australia-southeast1
default: us-central1
required: true
immutable: true
- param: ACCESS_KEY
type: secret
label: MessageBird Access Key
description: >-
A MessageBird's REST api access key. For help creating an access key, refer to the
[API access key guide](https://support.messagebird.com/hc/en-us/articles/360001853998-Creating-access-keys).
example: ZYpqq7LUUd8ZhfwodPMeilZSK
required: true
- param: MSG_COLLECTION
type: string
label: Collection name that will be used to store messages that should be sent
default: messages
validationRegex: "^[^/]+(/[^/]+/[^/]+)*$"
validationErrorMessage: Must be a valid Cloud Firestore collection
required: true
description: >-
What is the path to the collection that contains the documents used to build and send the messages?
- param: LOG_LEVEL
type: select
label: Log level
description: >-
Log level, can be "info" or "warning", default is "warning".
options:
- label: info
value: info
- label: warning
value: warn
default: warn
required: false