pulumi-webflow 0.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_webflow/__init__.py +76 -0
- pulumi_webflow/_inputs.py +254 -0
- pulumi_webflow/_utilities.py +331 -0
- pulumi_webflow/asset.py +334 -0
- pulumi_webflow/asset_folder.py +225 -0
- pulumi_webflow/collection.py +235 -0
- pulumi_webflow/collection_field.py +322 -0
- pulumi_webflow/collection_item.py +283 -0
- pulumi_webflow/config/__init__.py +9 -0
- pulumi_webflow/config/__init__.pyi +21 -0
- pulumi_webflow/config/vars.py +29 -0
- pulumi_webflow/ecommerce_settings.py +146 -0
- pulumi_webflow/get_authorized_user.py +109 -0
- pulumi_webflow/get_token_info.py +82 -0
- pulumi_webflow/outputs.py +455 -0
- pulumi_webflow/page_content.py +172 -0
- pulumi_webflow/page_custom_code.py +178 -0
- pulumi_webflow/page_data.py +256 -0
- pulumi_webflow/provider.py +106 -0
- pulumi_webflow/pulumi-plugin.json +4 -0
- pulumi_webflow/py.typed +0 -0
- pulumi_webflow/redirect.py +226 -0
- pulumi_webflow/registered_script.py +295 -0
- pulumi_webflow/robots_txt.py +166 -0
- pulumi_webflow/site.py +361 -0
- pulumi_webflow/site_custom_code.py +178 -0
- pulumi_webflow/user.py +284 -0
- pulumi_webflow/webhook.py +235 -0
- pulumi_webflow-0.0.0.dist-info/METADATA +602 -0
- pulumi_webflow-0.0.0.dist-info/RECORD +32 -0
- pulumi_webflow-0.0.0.dist-info/WHEEL +5 -0
- pulumi_webflow-0.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import builtins as _builtins
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from . import _utilities
|
|
16
|
+
|
|
17
|
+
__all__ = ['CollectionItemArgs', 'CollectionItem']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class CollectionItemArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
collection_id: pulumi.Input[_builtins.str],
|
|
23
|
+
field_data: pulumi.Input[Mapping[str, Any]],
|
|
24
|
+
cms_locale_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
25
|
+
is_archived: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
26
|
+
is_draft: Optional[pulumi.Input[_builtins.bool]] = None):
|
|
27
|
+
"""
|
|
28
|
+
The set of arguments for constructing a CollectionItem resource.
|
|
29
|
+
:param pulumi.Input[_builtins.str] collection_id: The Webflow collection ID (24-character lowercase hexadecimal string, e.g., '5f0c8c9e1c9d440000e8d8c3'). You can find collection IDs via the Webflow API or dashboard. This field will be validated before making any API calls.
|
|
30
|
+
:param pulumi.Input[Mapping[str, Any]] field_data: A map of field slugs to values for the collection item. The field slugs must match the fields defined in the collection schema. Common fields include 'name' (required), 'slug' (required, URL-friendly), and any custom fields you've added to the collection. Example: {"name": "My Blog Post", "slug": "my-blog-post", "content": "Post content..."}
|
|
31
|
+
:param pulumi.Input[_builtins.str] cms_locale_id: The locale ID for localized sites (optional, e.g., 'en-US'). Only required if your site uses Webflow's localization features. Leave empty for non-localized sites.
|
|
32
|
+
:param pulumi.Input[_builtins.bool] is_archived: Whether the item is archived (optional, defaults to false). Archived items are not visible on the published site but remain in the CMS.
|
|
33
|
+
:param pulumi.Input[_builtins.bool] is_draft: Whether the item is a draft (optional, defaults to true). Draft items are not published to the live site. Set to false to publish the item immediately upon creation.
|
|
34
|
+
"""
|
|
35
|
+
pulumi.set(__self__, "collection_id", collection_id)
|
|
36
|
+
pulumi.set(__self__, "field_data", field_data)
|
|
37
|
+
if cms_locale_id is not None:
|
|
38
|
+
pulumi.set(__self__, "cms_locale_id", cms_locale_id)
|
|
39
|
+
if is_archived is not None:
|
|
40
|
+
pulumi.set(__self__, "is_archived", is_archived)
|
|
41
|
+
if is_draft is not None:
|
|
42
|
+
pulumi.set(__self__, "is_draft", is_draft)
|
|
43
|
+
|
|
44
|
+
@_builtins.property
|
|
45
|
+
@pulumi.getter(name="collectionId")
|
|
46
|
+
def collection_id(self) -> pulumi.Input[_builtins.str]:
|
|
47
|
+
"""
|
|
48
|
+
The Webflow collection ID (24-character lowercase hexadecimal string, e.g., '5f0c8c9e1c9d440000e8d8c3'). You can find collection IDs via the Webflow API or dashboard. This field will be validated before making any API calls.
|
|
49
|
+
"""
|
|
50
|
+
return pulumi.get(self, "collection_id")
|
|
51
|
+
|
|
52
|
+
@collection_id.setter
|
|
53
|
+
def collection_id(self, value: pulumi.Input[_builtins.str]):
|
|
54
|
+
pulumi.set(self, "collection_id", value)
|
|
55
|
+
|
|
56
|
+
@_builtins.property
|
|
57
|
+
@pulumi.getter(name="fieldData")
|
|
58
|
+
def field_data(self) -> pulumi.Input[Mapping[str, Any]]:
|
|
59
|
+
"""
|
|
60
|
+
A map of field slugs to values for the collection item. The field slugs must match the fields defined in the collection schema. Common fields include 'name' (required), 'slug' (required, URL-friendly), and any custom fields you've added to the collection. Example: {"name": "My Blog Post", "slug": "my-blog-post", "content": "Post content..."}
|
|
61
|
+
"""
|
|
62
|
+
return pulumi.get(self, "field_data")
|
|
63
|
+
|
|
64
|
+
@field_data.setter
|
|
65
|
+
def field_data(self, value: pulumi.Input[Mapping[str, Any]]):
|
|
66
|
+
pulumi.set(self, "field_data", value)
|
|
67
|
+
|
|
68
|
+
@_builtins.property
|
|
69
|
+
@pulumi.getter(name="cmsLocaleId")
|
|
70
|
+
def cms_locale_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
71
|
+
"""
|
|
72
|
+
The locale ID for localized sites (optional, e.g., 'en-US'). Only required if your site uses Webflow's localization features. Leave empty for non-localized sites.
|
|
73
|
+
"""
|
|
74
|
+
return pulumi.get(self, "cms_locale_id")
|
|
75
|
+
|
|
76
|
+
@cms_locale_id.setter
|
|
77
|
+
def cms_locale_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
78
|
+
pulumi.set(self, "cms_locale_id", value)
|
|
79
|
+
|
|
80
|
+
@_builtins.property
|
|
81
|
+
@pulumi.getter(name="isArchived")
|
|
82
|
+
def is_archived(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
83
|
+
"""
|
|
84
|
+
Whether the item is archived (optional, defaults to false). Archived items are not visible on the published site but remain in the CMS.
|
|
85
|
+
"""
|
|
86
|
+
return pulumi.get(self, "is_archived")
|
|
87
|
+
|
|
88
|
+
@is_archived.setter
|
|
89
|
+
def is_archived(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
90
|
+
pulumi.set(self, "is_archived", value)
|
|
91
|
+
|
|
92
|
+
@_builtins.property
|
|
93
|
+
@pulumi.getter(name="isDraft")
|
|
94
|
+
def is_draft(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
95
|
+
"""
|
|
96
|
+
Whether the item is a draft (optional, defaults to true). Draft items are not published to the live site. Set to false to publish the item immediately upon creation.
|
|
97
|
+
"""
|
|
98
|
+
return pulumi.get(self, "is_draft")
|
|
99
|
+
|
|
100
|
+
@is_draft.setter
|
|
101
|
+
def is_draft(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
102
|
+
pulumi.set(self, "is_draft", value)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
@pulumi.type_token("webflow:index:CollectionItem")
|
|
106
|
+
class CollectionItem(pulumi.CustomResource):
|
|
107
|
+
@overload
|
|
108
|
+
def __init__(__self__,
|
|
109
|
+
resource_name: str,
|
|
110
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
111
|
+
cms_locale_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
112
|
+
collection_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
113
|
+
field_data: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
|
114
|
+
is_archived: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
115
|
+
is_draft: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
116
|
+
__props__=None):
|
|
117
|
+
"""
|
|
118
|
+
Manages CMS collection items for a Webflow collection. Collection items represent individual content entries (blog posts, products, etc.) within a CMS collection. Each item has dynamic field data based on the collection schema.
|
|
119
|
+
|
|
120
|
+
:param str resource_name: The name of the resource.
|
|
121
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
122
|
+
:param pulumi.Input[_builtins.str] cms_locale_id: The locale ID for localized sites (optional, e.g., 'en-US'). Only required if your site uses Webflow's localization features. Leave empty for non-localized sites.
|
|
123
|
+
:param pulumi.Input[_builtins.str] collection_id: The Webflow collection ID (24-character lowercase hexadecimal string, e.g., '5f0c8c9e1c9d440000e8d8c3'). You can find collection IDs via the Webflow API or dashboard. This field will be validated before making any API calls.
|
|
124
|
+
:param pulumi.Input[Mapping[str, Any]] field_data: A map of field slugs to values for the collection item. The field slugs must match the fields defined in the collection schema. Common fields include 'name' (required), 'slug' (required, URL-friendly), and any custom fields you've added to the collection. Example: {"name": "My Blog Post", "slug": "my-blog-post", "content": "Post content..."}
|
|
125
|
+
:param pulumi.Input[_builtins.bool] is_archived: Whether the item is archived (optional, defaults to false). Archived items are not visible on the published site but remain in the CMS.
|
|
126
|
+
:param pulumi.Input[_builtins.bool] is_draft: Whether the item is a draft (optional, defaults to true). Draft items are not published to the live site. Set to false to publish the item immediately upon creation.
|
|
127
|
+
"""
|
|
128
|
+
...
|
|
129
|
+
@overload
|
|
130
|
+
def __init__(__self__,
|
|
131
|
+
resource_name: str,
|
|
132
|
+
args: CollectionItemArgs,
|
|
133
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
134
|
+
"""
|
|
135
|
+
Manages CMS collection items for a Webflow collection. Collection items represent individual content entries (blog posts, products, etc.) within a CMS collection. Each item has dynamic field data based on the collection schema.
|
|
136
|
+
|
|
137
|
+
:param str resource_name: The name of the resource.
|
|
138
|
+
:param CollectionItemArgs args: The arguments to use to populate this resource's properties.
|
|
139
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
140
|
+
"""
|
|
141
|
+
...
|
|
142
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
143
|
+
resource_args, opts = _utilities.get_resource_args_opts(CollectionItemArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
144
|
+
if resource_args is not None:
|
|
145
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
146
|
+
else:
|
|
147
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
148
|
+
|
|
149
|
+
def _internal_init(__self__,
|
|
150
|
+
resource_name: str,
|
|
151
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
152
|
+
cms_locale_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
153
|
+
collection_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
154
|
+
field_data: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
|
155
|
+
is_archived: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
156
|
+
is_draft: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
157
|
+
__props__=None):
|
|
158
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
159
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
160
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
161
|
+
if opts.id is None:
|
|
162
|
+
if __props__ is not None:
|
|
163
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
164
|
+
__props__ = CollectionItemArgs.__new__(CollectionItemArgs)
|
|
165
|
+
|
|
166
|
+
__props__.__dict__["cms_locale_id"] = cms_locale_id
|
|
167
|
+
if collection_id is None and not opts.urn:
|
|
168
|
+
raise TypeError("Missing required property 'collection_id'")
|
|
169
|
+
__props__.__dict__["collection_id"] = collection_id
|
|
170
|
+
if field_data is None and not opts.urn:
|
|
171
|
+
raise TypeError("Missing required property 'field_data'")
|
|
172
|
+
__props__.__dict__["field_data"] = field_data
|
|
173
|
+
__props__.__dict__["is_archived"] = is_archived
|
|
174
|
+
__props__.__dict__["is_draft"] = is_draft
|
|
175
|
+
__props__.__dict__["created_on"] = None
|
|
176
|
+
__props__.__dict__["item_id"] = None
|
|
177
|
+
__props__.__dict__["last_published"] = None
|
|
178
|
+
__props__.__dict__["last_updated"] = None
|
|
179
|
+
super(CollectionItem, __self__).__init__(
|
|
180
|
+
'webflow:index:CollectionItem',
|
|
181
|
+
resource_name,
|
|
182
|
+
__props__,
|
|
183
|
+
opts)
|
|
184
|
+
|
|
185
|
+
@staticmethod
|
|
186
|
+
def get(resource_name: str,
|
|
187
|
+
id: pulumi.Input[str],
|
|
188
|
+
opts: Optional[pulumi.ResourceOptions] = None) -> 'CollectionItem':
|
|
189
|
+
"""
|
|
190
|
+
Get an existing CollectionItem resource's state with the given name, id, and optional extra
|
|
191
|
+
properties used to qualify the lookup.
|
|
192
|
+
|
|
193
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
194
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
195
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
196
|
+
"""
|
|
197
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
198
|
+
|
|
199
|
+
__props__ = CollectionItemArgs.__new__(CollectionItemArgs)
|
|
200
|
+
|
|
201
|
+
__props__.__dict__["cms_locale_id"] = None
|
|
202
|
+
__props__.__dict__["collection_id"] = None
|
|
203
|
+
__props__.__dict__["created_on"] = None
|
|
204
|
+
__props__.__dict__["field_data"] = None
|
|
205
|
+
__props__.__dict__["is_archived"] = None
|
|
206
|
+
__props__.__dict__["is_draft"] = None
|
|
207
|
+
__props__.__dict__["item_id"] = None
|
|
208
|
+
__props__.__dict__["last_published"] = None
|
|
209
|
+
__props__.__dict__["last_updated"] = None
|
|
210
|
+
return CollectionItem(resource_name, opts=opts, __props__=__props__)
|
|
211
|
+
|
|
212
|
+
@_builtins.property
|
|
213
|
+
@pulumi.getter(name="cmsLocaleId")
|
|
214
|
+
def cms_locale_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
215
|
+
"""
|
|
216
|
+
The locale ID for localized sites (optional, e.g., 'en-US'). Only required if your site uses Webflow's localization features. Leave empty for non-localized sites.
|
|
217
|
+
"""
|
|
218
|
+
return pulumi.get(self, "cms_locale_id")
|
|
219
|
+
|
|
220
|
+
@_builtins.property
|
|
221
|
+
@pulumi.getter(name="collectionId")
|
|
222
|
+
def collection_id(self) -> pulumi.Output[_builtins.str]:
|
|
223
|
+
"""
|
|
224
|
+
The Webflow collection ID (24-character lowercase hexadecimal string, e.g., '5f0c8c9e1c9d440000e8d8c3'). You can find collection IDs via the Webflow API or dashboard. This field will be validated before making any API calls.
|
|
225
|
+
"""
|
|
226
|
+
return pulumi.get(self, "collection_id")
|
|
227
|
+
|
|
228
|
+
@_builtins.property
|
|
229
|
+
@pulumi.getter(name="createdOn")
|
|
230
|
+
def created_on(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
231
|
+
"""
|
|
232
|
+
The timestamp when the item was created (RFC3339 format, read-only). This is automatically set by Webflow and is immutable.
|
|
233
|
+
"""
|
|
234
|
+
return pulumi.get(self, "created_on")
|
|
235
|
+
|
|
236
|
+
@_builtins.property
|
|
237
|
+
@pulumi.getter(name="fieldData")
|
|
238
|
+
def field_data(self) -> pulumi.Output[Mapping[str, Any]]:
|
|
239
|
+
"""
|
|
240
|
+
A map of field slugs to values for the collection item. The field slugs must match the fields defined in the collection schema. Common fields include 'name' (required), 'slug' (required, URL-friendly), and any custom fields you've added to the collection. Example: {"name": "My Blog Post", "slug": "my-blog-post", "content": "Post content..."}
|
|
241
|
+
"""
|
|
242
|
+
return pulumi.get(self, "field_data")
|
|
243
|
+
|
|
244
|
+
@_builtins.property
|
|
245
|
+
@pulumi.getter(name="isArchived")
|
|
246
|
+
def is_archived(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
247
|
+
"""
|
|
248
|
+
Whether the item is archived (optional, defaults to false). Archived items are not visible on the published site but remain in the CMS.
|
|
249
|
+
"""
|
|
250
|
+
return pulumi.get(self, "is_archived")
|
|
251
|
+
|
|
252
|
+
@_builtins.property
|
|
253
|
+
@pulumi.getter(name="isDraft")
|
|
254
|
+
def is_draft(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
255
|
+
"""
|
|
256
|
+
Whether the item is a draft (optional, defaults to true). Draft items are not published to the live site. Set to false to publish the item immediately upon creation.
|
|
257
|
+
"""
|
|
258
|
+
return pulumi.get(self, "is_draft")
|
|
259
|
+
|
|
260
|
+
@_builtins.property
|
|
261
|
+
@pulumi.getter(name="itemId")
|
|
262
|
+
def item_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
263
|
+
"""
|
|
264
|
+
The Webflow-assigned item ID (read-only). This is automatically set by Webflow when the item is created.
|
|
265
|
+
"""
|
|
266
|
+
return pulumi.get(self, "item_id")
|
|
267
|
+
|
|
268
|
+
@_builtins.property
|
|
269
|
+
@pulumi.getter(name="lastPublished")
|
|
270
|
+
def last_published(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
271
|
+
"""
|
|
272
|
+
The timestamp when the item was last published (RFC3339 format, read-only). This is automatically updated by Webflow when the item is published.
|
|
273
|
+
"""
|
|
274
|
+
return pulumi.get(self, "last_published")
|
|
275
|
+
|
|
276
|
+
@_builtins.property
|
|
277
|
+
@pulumi.getter(name="lastUpdated")
|
|
278
|
+
def last_updated(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
279
|
+
"""
|
|
280
|
+
The timestamp when the item was last updated (RFC3339 format, read-only). This is automatically updated by Webflow whenever the item is modified.
|
|
281
|
+
"""
|
|
282
|
+
return pulumi.get(self, "last_updated")
|
|
283
|
+
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import builtins as _builtins
|
|
6
|
+
import sys
|
|
7
|
+
from .vars import _ExportableConfig
|
|
8
|
+
|
|
9
|
+
sys.modules[__name__].__class__ = _ExportableConfig
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import builtins as _builtins
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from .. import _utilities
|
|
16
|
+
|
|
17
|
+
apiToken: Optional[str]
|
|
18
|
+
"""
|
|
19
|
+
Webflow API v2 bearer token for authentication. Can also be set via WEBFLOW_API_TOKEN environment variable.
|
|
20
|
+
"""
|
|
21
|
+
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import builtins as _builtins
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from .. import _utilities
|
|
16
|
+
|
|
17
|
+
import types
|
|
18
|
+
|
|
19
|
+
__config__ = pulumi.Config('webflow')
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class _ExportableConfig(types.ModuleType):
|
|
23
|
+
@_builtins.property
|
|
24
|
+
def api_token(self) -> Optional[str]:
|
|
25
|
+
"""
|
|
26
|
+
Webflow API v2 bearer token for authentication. Can also be set via WEBFLOW_API_TOKEN environment variable.
|
|
27
|
+
"""
|
|
28
|
+
return __config__.get('apiToken')
|
|
29
|
+
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import builtins as _builtins
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from . import _utilities
|
|
16
|
+
|
|
17
|
+
__all__ = ['EcommerceSettingsArgs', 'EcommerceSettings']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class EcommerceSettingsArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
site_id: pulumi.Input[_builtins.str]):
|
|
23
|
+
"""
|
|
24
|
+
The set of arguments for constructing a EcommerceSettings resource.
|
|
25
|
+
:param pulumi.Input[_builtins.str] site_id: The Webflow site ID (24-character lowercase hexadecimal string, e.g., '5f0c8c9e1c9d440000e8d8c3'). The site must have ecommerce enabled through the Webflow dashboard. You can find your site ID in the Webflow dashboard under Site Settings.
|
|
26
|
+
"""
|
|
27
|
+
pulumi.set(__self__, "site_id", site_id)
|
|
28
|
+
|
|
29
|
+
@_builtins.property
|
|
30
|
+
@pulumi.getter(name="siteId")
|
|
31
|
+
def site_id(self) -> pulumi.Input[_builtins.str]:
|
|
32
|
+
"""
|
|
33
|
+
The Webflow site ID (24-character lowercase hexadecimal string, e.g., '5f0c8c9e1c9d440000e8d8c3'). The site must have ecommerce enabled through the Webflow dashboard. You can find your site ID in the Webflow dashboard under Site Settings.
|
|
34
|
+
"""
|
|
35
|
+
return pulumi.get(self, "site_id")
|
|
36
|
+
|
|
37
|
+
@site_id.setter
|
|
38
|
+
def site_id(self, value: pulumi.Input[_builtins.str]):
|
|
39
|
+
pulumi.set(self, "site_id", value)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
@pulumi.type_token("webflow:index:EcommerceSettings")
|
|
43
|
+
class EcommerceSettings(pulumi.CustomResource):
|
|
44
|
+
@overload
|
|
45
|
+
def __init__(__self__,
|
|
46
|
+
resource_name: str,
|
|
47
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
48
|
+
site_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
49
|
+
__props__=None):
|
|
50
|
+
"""
|
|
51
|
+
Manages (imports) ecommerce settings for a Webflow site. This is a read-only resource that allows you to track and reference existing ecommerce settings. Ecommerce must be enabled through the Webflow dashboard before this resource can be used. Use this resource to access the site's default currency and verify ecommerce is enabled.
|
|
52
|
+
|
|
53
|
+
:param str resource_name: The name of the resource.
|
|
54
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
55
|
+
:param pulumi.Input[_builtins.str] site_id: The Webflow site ID (24-character lowercase hexadecimal string, e.g., '5f0c8c9e1c9d440000e8d8c3'). The site must have ecommerce enabled through the Webflow dashboard. You can find your site ID in the Webflow dashboard under Site Settings.
|
|
56
|
+
"""
|
|
57
|
+
...
|
|
58
|
+
@overload
|
|
59
|
+
def __init__(__self__,
|
|
60
|
+
resource_name: str,
|
|
61
|
+
args: EcommerceSettingsArgs,
|
|
62
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
63
|
+
"""
|
|
64
|
+
Manages (imports) ecommerce settings for a Webflow site. This is a read-only resource that allows you to track and reference existing ecommerce settings. Ecommerce must be enabled through the Webflow dashboard before this resource can be used. Use this resource to access the site's default currency and verify ecommerce is enabled.
|
|
65
|
+
|
|
66
|
+
:param str resource_name: The name of the resource.
|
|
67
|
+
:param EcommerceSettingsArgs args: The arguments to use to populate this resource's properties.
|
|
68
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
69
|
+
"""
|
|
70
|
+
...
|
|
71
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
72
|
+
resource_args, opts = _utilities.get_resource_args_opts(EcommerceSettingsArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
73
|
+
if resource_args is not None:
|
|
74
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
75
|
+
else:
|
|
76
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
77
|
+
|
|
78
|
+
def _internal_init(__self__,
|
|
79
|
+
resource_name: str,
|
|
80
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
81
|
+
site_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
82
|
+
__props__=None):
|
|
83
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
84
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
85
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
86
|
+
if opts.id is None:
|
|
87
|
+
if __props__ is not None:
|
|
88
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
89
|
+
__props__ = EcommerceSettingsArgs.__new__(EcommerceSettingsArgs)
|
|
90
|
+
|
|
91
|
+
if site_id is None and not opts.urn:
|
|
92
|
+
raise TypeError("Missing required property 'site_id'")
|
|
93
|
+
__props__.__dict__["site_id"] = site_id
|
|
94
|
+
__props__.__dict__["created_on"] = None
|
|
95
|
+
__props__.__dict__["default_currency"] = None
|
|
96
|
+
super(EcommerceSettings, __self__).__init__(
|
|
97
|
+
'webflow:index:EcommerceSettings',
|
|
98
|
+
resource_name,
|
|
99
|
+
__props__,
|
|
100
|
+
opts)
|
|
101
|
+
|
|
102
|
+
@staticmethod
|
|
103
|
+
def get(resource_name: str,
|
|
104
|
+
id: pulumi.Input[str],
|
|
105
|
+
opts: Optional[pulumi.ResourceOptions] = None) -> 'EcommerceSettings':
|
|
106
|
+
"""
|
|
107
|
+
Get an existing EcommerceSettings resource's state with the given name, id, and optional extra
|
|
108
|
+
properties used to qualify the lookup.
|
|
109
|
+
|
|
110
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
111
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
112
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
113
|
+
"""
|
|
114
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
115
|
+
|
|
116
|
+
__props__ = EcommerceSettingsArgs.__new__(EcommerceSettingsArgs)
|
|
117
|
+
|
|
118
|
+
__props__.__dict__["created_on"] = None
|
|
119
|
+
__props__.__dict__["default_currency"] = None
|
|
120
|
+
__props__.__dict__["site_id"] = None
|
|
121
|
+
return EcommerceSettings(resource_name, opts=opts, __props__=__props__)
|
|
122
|
+
|
|
123
|
+
@_builtins.property
|
|
124
|
+
@pulumi.getter(name="createdOn")
|
|
125
|
+
def created_on(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
126
|
+
"""
|
|
127
|
+
The timestamp when ecommerce was enabled on the site (ISO 8601 format). This is automatically set when ecommerce is enabled and is read-only.
|
|
128
|
+
"""
|
|
129
|
+
return pulumi.get(self, "created_on")
|
|
130
|
+
|
|
131
|
+
@_builtins.property
|
|
132
|
+
@pulumi.getter(name="defaultCurrency")
|
|
133
|
+
def default_currency(self) -> pulumi.Output[_builtins.str]:
|
|
134
|
+
"""
|
|
135
|
+
The three-letter ISO 4217 currency code for the site (e.g., 'USD', 'EUR', 'GBP'). This is the default currency used for ecommerce transactions on this site. This value is set in the Webflow dashboard and is read-only.
|
|
136
|
+
"""
|
|
137
|
+
return pulumi.get(self, "default_currency")
|
|
138
|
+
|
|
139
|
+
@_builtins.property
|
|
140
|
+
@pulumi.getter(name="siteId")
|
|
141
|
+
def site_id(self) -> pulumi.Output[_builtins.str]:
|
|
142
|
+
"""
|
|
143
|
+
The Webflow site ID (24-character lowercase hexadecimal string, e.g., '5f0c8c9e1c9d440000e8d8c3'). The site must have ecommerce enabled through the Webflow dashboard. You can find your site ID in the Webflow dashboard under Site Settings.
|
|
144
|
+
"""
|
|
145
|
+
return pulumi.get(self, "site_id")
|
|
146
|
+
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import builtins as _builtins
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from . import _utilities
|
|
16
|
+
|
|
17
|
+
__all__ = [
|
|
18
|
+
'GetAuthorizedUserResult',
|
|
19
|
+
'AwaitableGetAuthorizedUserResult',
|
|
20
|
+
'get_authorized_user',
|
|
21
|
+
'get_authorized_user_output',
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
@pulumi.output_type
|
|
25
|
+
class GetAuthorizedUserResult:
|
|
26
|
+
def __init__(__self__, email=None, first_name=None, last_name=None, user_id=None):
|
|
27
|
+
if email and not isinstance(email, str):
|
|
28
|
+
raise TypeError("Expected argument 'email' to be a str")
|
|
29
|
+
pulumi.set(__self__, "email", email)
|
|
30
|
+
if first_name and not isinstance(first_name, str):
|
|
31
|
+
raise TypeError("Expected argument 'first_name' to be a str")
|
|
32
|
+
pulumi.set(__self__, "first_name", first_name)
|
|
33
|
+
if last_name and not isinstance(last_name, str):
|
|
34
|
+
raise TypeError("Expected argument 'last_name' to be a str")
|
|
35
|
+
pulumi.set(__self__, "last_name", last_name)
|
|
36
|
+
if user_id and not isinstance(user_id, str):
|
|
37
|
+
raise TypeError("Expected argument 'user_id' to be a str")
|
|
38
|
+
pulumi.set(__self__, "user_id", user_id)
|
|
39
|
+
|
|
40
|
+
@_builtins.property
|
|
41
|
+
@pulumi.getter
|
|
42
|
+
def email(self) -> _builtins.str:
|
|
43
|
+
"""
|
|
44
|
+
The email address of the authorized user.
|
|
45
|
+
"""
|
|
46
|
+
return pulumi.get(self, "email")
|
|
47
|
+
|
|
48
|
+
@_builtins.property
|
|
49
|
+
@pulumi.getter(name="firstName")
|
|
50
|
+
def first_name(self) -> _builtins.str:
|
|
51
|
+
"""
|
|
52
|
+
The first name of the authorized user.
|
|
53
|
+
"""
|
|
54
|
+
return pulumi.get(self, "first_name")
|
|
55
|
+
|
|
56
|
+
@_builtins.property
|
|
57
|
+
@pulumi.getter(name="lastName")
|
|
58
|
+
def last_name(self) -> _builtins.str:
|
|
59
|
+
"""
|
|
60
|
+
The last name of the authorized user.
|
|
61
|
+
"""
|
|
62
|
+
return pulumi.get(self, "last_name")
|
|
63
|
+
|
|
64
|
+
@_builtins.property
|
|
65
|
+
@pulumi.getter(name="userId")
|
|
66
|
+
def user_id(self) -> _builtins.str:
|
|
67
|
+
"""
|
|
68
|
+
The unique identifier for the authorized user.
|
|
69
|
+
"""
|
|
70
|
+
return pulumi.get(self, "user_id")
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
class AwaitableGetAuthorizedUserResult(GetAuthorizedUserResult):
|
|
74
|
+
# pylint: disable=using-constant-test
|
|
75
|
+
def __await__(self):
|
|
76
|
+
if False:
|
|
77
|
+
yield self
|
|
78
|
+
return GetAuthorizedUserResult(
|
|
79
|
+
email=self.email,
|
|
80
|
+
first_name=self.first_name,
|
|
81
|
+
last_name=self.last_name,
|
|
82
|
+
user_id=self.user_id)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def get_authorized_user(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAuthorizedUserResult:
|
|
86
|
+
"""
|
|
87
|
+
Retrieves information about the user who authorized the current Webflow API token. This is useful for auditing and understanding which user's credentials are being used. Requires the 'authorized_user:read' scope.
|
|
88
|
+
"""
|
|
89
|
+
__args__ = dict()
|
|
90
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
91
|
+
__ret__ = pulumi.runtime.invoke('webflow:index:getAuthorizedUser', __args__, opts=opts, typ=GetAuthorizedUserResult).value
|
|
92
|
+
|
|
93
|
+
return AwaitableGetAuthorizedUserResult(
|
|
94
|
+
email=pulumi.get(__ret__, 'email'),
|
|
95
|
+
first_name=pulumi.get(__ret__, 'first_name'),
|
|
96
|
+
last_name=pulumi.get(__ret__, 'last_name'),
|
|
97
|
+
user_id=pulumi.get(__ret__, 'user_id'))
|
|
98
|
+
def get_authorized_user_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAuthorizedUserResult]:
|
|
99
|
+
"""
|
|
100
|
+
Retrieves information about the user who authorized the current Webflow API token. This is useful for auditing and understanding which user's credentials are being used. Requires the 'authorized_user:read' scope.
|
|
101
|
+
"""
|
|
102
|
+
__args__ = dict()
|
|
103
|
+
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
104
|
+
__ret__ = pulumi.runtime.invoke_output('webflow:index:getAuthorizedUser', __args__, opts=opts, typ=GetAuthorizedUserResult)
|
|
105
|
+
return __ret__.apply(lambda __response__: GetAuthorizedUserResult(
|
|
106
|
+
email=pulumi.get(__response__, 'email'),
|
|
107
|
+
first_name=pulumi.get(__response__, 'first_name'),
|
|
108
|
+
last_name=pulumi.get(__response__, 'last_name'),
|
|
109
|
+
user_id=pulumi.get(__response__, 'user_id')))
|