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.
@@ -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')))