diff --git a/examples/examples_test.go b/examples/examples_test.go
index 7426c66..ba1924f 100644
--- a/examples/examples_test.go
+++ b/examples/examples_test.go
@@ -1,7 +1,9 @@
package examples
+
import (
"testing"
)
+
func TestExamples(t *testing.T) {
t.Skip("Not implemented")
}
diff --git a/provider/cmd/pulumi-resource-commercetools/bridge-metadata.json b/provider/cmd/pulumi-resource-commercetools/bridge-metadata.json
index c300e3e..7aca40e 100644
--- a/provider/cmd/pulumi-resource-commercetools/bridge-metadata.json
+++ b/provider/cmd/pulumi-resource-commercetools/bridge-metadata.json
@@ -3,6 +3,8 @@
"resources": {
"commercetools:index/apiClient:ApiClient": 0,
"commercetools:index/apiExtension:ApiExtension": 0,
+ "commercetools:index/associateRole:AssociateRole": 1,
+ "commercetools:index/attributeGroup:AttributeGroup": 1,
"commercetools:index/cartDiscount:CartDiscount": 0,
"commercetools:index/category:Category": 0,
"commercetools:index/channel:Channel": 0,
@@ -24,6 +26,7 @@
"commercetools:index/type:Type": 0
},
"functions": {
+ "commercetools:index/getState:getState": 1,
"commercetools:index/getType:getType": 1
}
},
@@ -31,6 +34,8 @@
"resources": {
"commercetools:index/apiClient:ApiClient": "commercetools_api_client",
"commercetools:index/apiExtension:ApiExtension": "commercetools_api_extension",
+ "commercetools:index/associateRole:AssociateRole": "commercetools_associate_role",
+ "commercetools:index/attributeGroup:AttributeGroup": "commercetools_attribute_group",
"commercetools:index/cartDiscount:CartDiscount": "commercetools_cart_discount",
"commercetools:index/category:Category": "commercetools_category",
"commercetools:index/channel:Channel": "commercetools_channel",
@@ -52,6 +57,7 @@
"commercetools:index/type:Type": "commercetools_type"
},
"functions": {
+ "commercetools:index/getState:getState": "commercetools_state",
"commercetools:index/getType:getType": "commercetools_type"
},
"renamedProperties": {
@@ -64,11 +70,21 @@
"commercetools:index/ApiExtensionTrigger:ApiExtensionTrigger": {
"resourceTypeId": "resource_type_id"
},
+ "commercetools:index/CartDiscountCustom:CartDiscountCustom": {
+ "typeId": "type_id"
+ },
+ "commercetools:index/CartDiscountTarget:CartDiscountTarget": {
+ "discountedQuantity": "discounted_quantity",
+ "maxOccurrence": "max_occurrence",
+ "selectionMode": "selection_mode",
+ "triggerQuantity": "trigger_quantity"
+ },
"commercetools:index/CartDiscountValue:CartDiscountValue": {
"distributionChannelId": "distribution_channel_id",
"monies": "money",
"productId": "product_id",
- "supplyChannelId": "supply_channel_id"
+ "supplyChannelId": "supply_channel_id",
+ "variantId": "variant_id"
},
"commercetools:index/CartDiscountValueMoney:CartDiscountValueMoney": {
"centAmount": "cent_amount",
@@ -199,6 +215,12 @@
"timeoutInMs": "timeout_in_ms",
"triggers": "trigger"
},
+ "commercetools:index/associateRole:AssociateRole": {
+ "buyerAssignable": "buyer_assignable"
+ },
+ "commercetools:index/attributeGroup:AttributeGroup": {
+ "attributes": "attribute"
+ },
"commercetools:index/cartDiscount:CartDiscount": {
"isActive": "is_active",
"requiresDiscountCode": "requires_discount_code",
@@ -241,6 +263,7 @@
"commercetools:index/shippingMethod:ShippingMethod": {
"isDefault": "is_default",
"localizedDescription": "localized_description",
+ "localizedName": "localized_name",
"taxCategoryId": "tax_category_id"
},
"commercetools:index/shippingZone:ShippingZone": {
diff --git a/provider/cmd/pulumi-resource-commercetools/schema.json b/provider/cmd/pulumi-resource-commercetools/schema.json
index 316c0b3..15c8aa5 100644
--- a/provider/cmd/pulumi-resource-commercetools/schema.json
+++ b/provider/cmd/pulumi-resource-commercetools/schema.json
@@ -135,11 +135,51 @@
"resourceTypeId"
]
},
+ "commercetools:index/AttributeGroupAttribute:AttributeGroupAttribute": {
+ "properties": {
+ "key": {
+ "type": "string"
+ }
+ },
+ "type": "object",
+ "required": [
+ "key"
+ ]
+ },
+ "commercetools:index/CartDiscountCustom:CartDiscountCustom": {
+ "properties": {
+ "fields": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "pulumi.json#/Any"
+ }
+ },
+ "typeId": {
+ "type": "string"
+ }
+ },
+ "type": "object",
+ "required": [
+ "typeId"
+ ]
+ },
"commercetools:index/CartDiscountTarget:CartDiscountTarget": {
"properties": {
+ "discountedQuantity": {
+ "type": "integer"
+ },
+ "maxOccurrence": {
+ "type": "integer"
+ },
"predicate": {
"type": "string"
},
+ "selectionMode": {
+ "type": "string"
+ },
+ "triggerQuantity": {
+ "type": "integer"
+ },
"type": {
"type": "string"
}
@@ -172,7 +212,7 @@
"type": {
"type": "string"
},
- "variant": {
+ "variantId": {
"type": "integer"
}
},
@@ -1311,8 +1351,197 @@
"type": "object"
}
},
+ "commercetools:index/associateRole:AssociateRole": {
+ "properties": {
+ "buyerAssignable": {
+ "type": "boolean",
+ "description": "Whether the AssociateRole can be assigned to an Associate by a buyer. If false, the AssociateRole can only be assigned\nusing the general endpoint.\n"
+ },
+ "key": {
+ "type": "string",
+ "description": "User-defined unique identifier of the AssociateRole.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the AssociateRole.\n"
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Permissions for the AssociateRole.\n"
+ },
+ "version": {
+ "type": "integer",
+ "description": "Current version of the AssociateRole.\n"
+ }
+ },
+ "required": [
+ "key",
+ "name",
+ "permissions",
+ "version"
+ ],
+ "inputProperties": {
+ "buyerAssignable": {
+ "type": "boolean",
+ "description": "Whether the AssociateRole can be assigned to an Associate by a buyer. If false, the AssociateRole can only be assigned\nusing the general endpoint.\n"
+ },
+ "key": {
+ "type": "string",
+ "description": "User-defined unique identifier of the AssociateRole.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the AssociateRole.\n"
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Permissions for the AssociateRole.\n"
+ }
+ },
+ "requiredInputs": [
+ "key",
+ "permissions"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering AssociateRole resources.\n",
+ "properties": {
+ "buyerAssignable": {
+ "type": "boolean",
+ "description": "Whether the AssociateRole can be assigned to an Associate by a buyer. If false, the AssociateRole can only be assigned\nusing the general endpoint.\n"
+ },
+ "key": {
+ "type": "string",
+ "description": "User-defined unique identifier of the AssociateRole.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the AssociateRole.\n"
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Permissions for the AssociateRole.\n"
+ },
+ "version": {
+ "type": "integer",
+ "description": "Current version of the AssociateRole.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "commercetools:index/attributeGroup:AttributeGroup": {
+ "properties": {
+ "attributes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/commercetools:index/AttributeGroupAttribute:AttributeGroupAttribute"
+ },
+ "description": "Attributes with unique values.\n"
+ },
+ "description": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Description of the State as localized string.\n"
+ },
+ "key": {
+ "type": "string",
+ "description": "User-defined unique identifier of the AttributeGroup.\n"
+ },
+ "name": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Name of the State as localized string.\n"
+ },
+ "version": {
+ "type": "integer",
+ "description": "Current version of the AttributeGroup.\n"
+ }
+ },
+ "required": [
+ "name",
+ "version"
+ ],
+ "inputProperties": {
+ "attributes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/commercetools:index/AttributeGroupAttribute:AttributeGroupAttribute"
+ },
+ "description": "Attributes with unique values.\n"
+ },
+ "description": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Description of the State as localized string.\n"
+ },
+ "key": {
+ "type": "string",
+ "description": "User-defined unique identifier of the AttributeGroup.\n"
+ },
+ "name": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Name of the State as localized string.\n"
+ }
+ },
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering AttributeGroup resources.\n",
+ "properties": {
+ "attributes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/commercetools:index/AttributeGroupAttribute:AttributeGroupAttribute"
+ },
+ "description": "Attributes with unique values.\n"
+ },
+ "description": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Description of the State as localized string.\n"
+ },
+ "key": {
+ "type": "string",
+ "description": "User-defined unique identifier of the AttributeGroup.\n"
+ },
+ "name": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Name of the State as localized string.\n"
+ },
+ "version": {
+ "type": "integer",
+ "description": "Current version of the AttributeGroup.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
"commercetools:index/cartDiscount:CartDiscount": {
"properties": {
+ "custom": {
+ "$ref": "#/types/commercetools:index/CartDiscountCustom:CartDiscountCustom"
+ },
"description": {
"type": "object",
"additionalProperties": {
@@ -1377,6 +1606,9 @@
"version"
],
"inputProperties": {
+ "custom": {
+ "$ref": "#/types/commercetools:index/CartDiscountCustom:CartDiscountCustom"
+ },
"description": {
"type": "object",
"additionalProperties": {
@@ -1438,6 +1670,9 @@
"stateInputs": {
"description": "Input properties used for looking up and filtering CartDiscount resources.\n",
"properties": {
+ "custom": {
+ "$ref": "#/types/commercetools:index/CartDiscountCustom:CartDiscountCustom"
+ },
"description": {
"type": "object",
"additionalProperties": {
@@ -1592,8 +1827,7 @@
},
"key": {
"type": "string",
- "description": "Category-specific unique identifier. Must be unique across a project\n",
- "willReplaceOnChanges": true
+ "description": "Category-specific unique identifier. Must be unique across a project\n"
},
"metaDescription": {
"type": "object",
@@ -1617,8 +1851,7 @@
"type": "object",
"additionalProperties": {
"$ref": "pulumi.json#/Any"
- },
- "willReplaceOnChanges": true
+ }
},
"orderHint": {
"type": "string",
@@ -1663,8 +1896,7 @@
},
"key": {
"type": "string",
- "description": "Category-specific unique identifier. Must be unique across a project\n",
- "willReplaceOnChanges": true
+ "description": "Category-specific unique identifier. Must be unique across a project\n"
},
"metaDescription": {
"type": "object",
@@ -1688,8 +1920,7 @@
"type": "object",
"additionalProperties": {
"$ref": "pulumi.json#/Any"
- },
- "willReplaceOnChanges": true
+ }
},
"orderHint": {
"type": "string",
@@ -2615,7 +2846,14 @@
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
- "description": "[LocalizedString](https://docs.commercetoolstools.com/api/types#localizedstring)\n"
+ "description": "[LocalizedString](https://docs.commercetools.com/api/types#localizedstring)\n"
+ },
+ "localizedName": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "pulumi.json#/Any"
+ },
+ "description": "[LocalizedString](https://docs.commercetools.com/api/types#localizedstring)\n"
},
"name": {
"type": "string"
@@ -2626,7 +2864,7 @@
},
"taxCategoryId": {
"type": "string",
- "description": "ID of a [Tax Category](https://docs.commercetoolstools.com/api/projects/taxCategories#taxcategory)\n"
+ "description": "ID of a [Tax Category](https://docs.commercetools.com/api/projects/taxCategories#taxcategory)\n"
},
"version": {
"type": "integer"
@@ -2657,7 +2895,14 @@
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
- "description": "[LocalizedString](https://docs.commercetoolstools.com/api/types#localizedstring)\n"
+ "description": "[LocalizedString](https://docs.commercetools.com/api/types#localizedstring)\n"
+ },
+ "localizedName": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "pulumi.json#/Any"
+ },
+ "description": "[LocalizedString](https://docs.commercetools.com/api/types#localizedstring)\n"
},
"name": {
"type": "string"
@@ -2668,7 +2913,7 @@
},
"taxCategoryId": {
"type": "string",
- "description": "ID of a [Tax Category](https://docs.commercetoolstools.com/api/projects/taxCategories#taxcategory)\n"
+ "description": "ID of a [Tax Category](https://docs.commercetools.com/api/projects/taxCategories#taxcategory)\n"
}
},
"requiredInputs": [
@@ -2696,7 +2941,14 @@
"additionalProperties": {
"$ref": "pulumi.json#/Any"
},
- "description": "[LocalizedString](https://docs.commercetoolstools.com/api/types#localizedstring)\n"
+ "description": "[LocalizedString](https://docs.commercetools.com/api/types#localizedstring)\n"
+ },
+ "localizedName": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "pulumi.json#/Any"
+ },
+ "description": "[LocalizedString](https://docs.commercetools.com/api/types#localizedstring)\n"
},
"name": {
"type": "string"
@@ -2707,7 +2959,7 @@
},
"taxCategoryId": {
"type": "string",
- "description": "ID of a [Tax Category](https://docs.commercetoolstools.com/api/projects/taxCategories#taxcategory)\n"
+ "description": "ID of a [Tax Category](https://docs.commercetools.com/api/projects/taxCategories#taxcategory)\n"
},
"version": {
"type": "integer"
@@ -3056,6 +3308,13 @@
},
"commercetools:index/store:Store": {
"properties": {
+ "countries": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A two-digit country code as per [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\n"
+ },
"custom": {
"$ref": "#/types/commercetools:index/StoreCustom:StoreCustom"
},
@@ -3101,6 +3360,13 @@
"version"
],
"inputProperties": {
+ "countries": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A two-digit country code as per [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\n"
+ },
"custom": {
"$ref": "#/types/commercetools:index/StoreCustom:StoreCustom"
},
@@ -3144,6 +3410,13 @@
"stateInputs": {
"description": "Input properties used for looking up and filtering Store resources.\n",
"properties": {
+ "countries": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A two-digit country code as per [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\n"
+ },
"custom": {
"$ref": "#/types/commercetools:index/StoreCustom:StoreCustom"
},
@@ -3570,6 +3843,36 @@
}
},
"functions": {
+ "commercetools:index/getState:getState": {
+ "inputs": {
+ "description": "A collection of arguments for invoking getState.\n",
+ "properties": {
+ "key": {
+ "type": "string"
+ }
+ },
+ "type": "object",
+ "required": [
+ "key"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getState.\n",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "key": {
+ "type": "string"
+ }
+ },
+ "type": "object",
+ "required": [
+ "id",
+ "key"
+ ]
+ }
+ },
"commercetools:index/getType:getType": {
"inputs": {
"description": "A collection of arguments for invoking getType.\n",
diff --git a/provider/resources.go b/provider/resources.go
index b7045b0..a3dc7e0 100644
--- a/provider/resources.go
+++ b/provider/resources.go
@@ -87,6 +87,8 @@ func Provider() tfbridge.ProviderInfo {
"commercetools_subscription": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Subscription")},
"commercetools_api_client": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ApiClient")},
"commercetools_api_extension": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ApiExtension")},
+ "commercetools_associate_role": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "AssociateRole")},
+ "commercetools_attribute_group": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "AttributeGroup")},
"commercetools_cart_discount": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "CartDiscount")},
"commercetools_category": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Category")},
"commercetools_channel": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Channel")},
@@ -162,7 +164,8 @@ func Provider() tfbridge.ProviderInfo {
// Map each resource in the Terraform provider to a Pulumi function. An example
// is below.
// "aws_ami": {Tok: makeDataSource(mainMod, "getAmi")},
- "commercetools_type": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getType")},
+ "commercetools_type": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getType")},
+ "commercetools_state": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getState")},
},
MetadataInfo: tfbridge.NewProviderMetadata(bridgeMetadata),
JavaScript: &tfbridge.JavaScriptInfo{
diff --git a/sdk/dotnet/AssociateRole.cs b/sdk/dotnet/AssociateRole.cs
new file mode 100644
index 0000000..7bceb5c
--- /dev/null
+++ b/sdk/dotnet/AssociateRole.cs
@@ -0,0 +1,173 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Commercetools
+{
+ [CommercetoolsResourceType("commercetools:index/associateRole:AssociateRole")]
+ public partial class AssociateRole : global::Pulumi.CustomResource
+ {
+ ///
+ /// Whether the AssociateRole can be assigned to an Associate by a buyer. If false, the AssociateRole can only be assigned
+ /// using the general endpoint.
+ ///
+ [Output("buyerAssignable")]
+ public Output BuyerAssignable { get; private set; } = null!;
+
+ ///
+ /// User-defined unique identifier of the AssociateRole.
+ ///
+ [Output("key")]
+ public Output Key { get; private set; } = null!;
+
+ ///
+ /// Name of the AssociateRole.
+ ///
+ [Output("name")]
+ public Output Name { get; private set; } = null!;
+
+ ///
+ /// List of Permissions for the AssociateRole.
+ ///
+ [Output("permissions")]
+ public Output> Permissions { get; private set; } = null!;
+
+ ///
+ /// Current version of the AssociateRole.
+ ///
+ [Output("version")]
+ public Output Version { get; private set; } = null!;
+
+
+ ///
+ /// Create a AssociateRole resource with the given unique name, arguments, and options.
+ ///
+ ///
+ /// The unique name of the resource
+ /// The arguments used to populate this resource's properties
+ /// A bag of options that control this resource's behavior
+ public AssociateRole(string name, AssociateRoleArgs args, CustomResourceOptions? options = null)
+ : base("commercetools:index/associateRole:AssociateRole", name, args ?? new AssociateRoleArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private AssociateRole(string name, Input id, AssociateRoleState? state = null, CustomResourceOptions? options = null)
+ : base("commercetools:index/associateRole:AssociateRole", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ };
+ var merged = CustomResourceOptions.Merge(defaultOptions, options);
+ // Override the ID if one was specified for consistency with other language SDKs.
+ merged.Id = id ?? merged.Id;
+ return merged;
+ }
+ ///
+ /// Get an existing AssociateRole resource's state with the given name, ID, and optional extra
+ /// properties used to qualify the lookup.
+ ///
+ ///
+ /// The unique name of the resulting resource.
+ /// The unique provider ID of the resource to lookup.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static AssociateRole Get(string name, Input id, AssociateRoleState? state = null, CustomResourceOptions? options = null)
+ {
+ return new AssociateRole(name, id, state, options);
+ }
+ }
+
+ public sealed class AssociateRoleArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Whether the AssociateRole can be assigned to an Associate by a buyer. If false, the AssociateRole can only be assigned
+ /// using the general endpoint.
+ ///
+ [Input("buyerAssignable")]
+ public Input? BuyerAssignable { get; set; }
+
+ ///
+ /// User-defined unique identifier of the AssociateRole.
+ ///
+ [Input("key", required: true)]
+ public Input Key { get; set; } = null!;
+
+ ///
+ /// Name of the AssociateRole.
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ [Input("permissions", required: true)]
+ private InputList? _permissions;
+
+ ///
+ /// List of Permissions for the AssociateRole.
+ ///
+ public InputList Permissions
+ {
+ get => _permissions ?? (_permissions = new InputList());
+ set => _permissions = value;
+ }
+
+ public AssociateRoleArgs()
+ {
+ }
+ public static new AssociateRoleArgs Empty => new AssociateRoleArgs();
+ }
+
+ public sealed class AssociateRoleState : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Whether the AssociateRole can be assigned to an Associate by a buyer. If false, the AssociateRole can only be assigned
+ /// using the general endpoint.
+ ///
+ [Input("buyerAssignable")]
+ public Input? BuyerAssignable { get; set; }
+
+ ///
+ /// User-defined unique identifier of the AssociateRole.
+ ///
+ [Input("key")]
+ public Input? Key { get; set; }
+
+ ///
+ /// Name of the AssociateRole.
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ [Input("permissions")]
+ private InputList? _permissions;
+
+ ///
+ /// List of Permissions for the AssociateRole.
+ ///
+ public InputList Permissions
+ {
+ get => _permissions ?? (_permissions = new InputList());
+ set => _permissions = value;
+ }
+
+ ///
+ /// Current version of the AssociateRole.
+ ///
+ [Input("version")]
+ public Input? Version { get; set; }
+
+ public AssociateRoleState()
+ {
+ }
+ public static new AssociateRoleState Empty => new AssociateRoleState();
+ }
+}
diff --git a/sdk/dotnet/AttributeGroup.cs b/sdk/dotnet/AttributeGroup.cs
new file mode 100644
index 0000000..036dd82
--- /dev/null
+++ b/sdk/dotnet/AttributeGroup.cs
@@ -0,0 +1,194 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Commercetools
+{
+ [CommercetoolsResourceType("commercetools:index/attributeGroup:AttributeGroup")]
+ public partial class AttributeGroup : global::Pulumi.CustomResource
+ {
+ ///
+ /// Attributes with unique values.
+ ///
+ [Output("attributes")]
+ public Output> Attributes { get; private set; } = null!;
+
+ ///
+ /// Description of the State as localized string.
+ ///
+ [Output("description")]
+ public Output?> Description { get; private set; } = null!;
+
+ ///
+ /// User-defined unique identifier of the AttributeGroup.
+ ///
+ [Output("key")]
+ public Output Key { get; private set; } = null!;
+
+ ///
+ /// Name of the State as localized string.
+ ///
+ [Output("name")]
+ public Output> Name { get; private set; } = null!;
+
+ ///
+ /// Current version of the AttributeGroup.
+ ///
+ [Output("version")]
+ public Output Version { get; private set; } = null!;
+
+
+ ///
+ /// Create a AttributeGroup resource with the given unique name, arguments, and options.
+ ///
+ ///
+ /// The unique name of the resource
+ /// The arguments used to populate this resource's properties
+ /// A bag of options that control this resource's behavior
+ public AttributeGroup(string name, AttributeGroupArgs? args = null, CustomResourceOptions? options = null)
+ : base("commercetools:index/attributeGroup:AttributeGroup", name, args ?? new AttributeGroupArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private AttributeGroup(string name, Input id, AttributeGroupState? state = null, CustomResourceOptions? options = null)
+ : base("commercetools:index/attributeGroup:AttributeGroup", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ };
+ var merged = CustomResourceOptions.Merge(defaultOptions, options);
+ // Override the ID if one was specified for consistency with other language SDKs.
+ merged.Id = id ?? merged.Id;
+ return merged;
+ }
+ ///
+ /// Get an existing AttributeGroup resource's state with the given name, ID, and optional extra
+ /// properties used to qualify the lookup.
+ ///
+ ///
+ /// The unique name of the resulting resource.
+ /// The unique provider ID of the resource to lookup.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static AttributeGroup Get(string name, Input id, AttributeGroupState? state = null, CustomResourceOptions? options = null)
+ {
+ return new AttributeGroup(name, id, state, options);
+ }
+ }
+
+ public sealed class AttributeGroupArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("attributes")]
+ private InputList? _attributes;
+
+ ///
+ /// Attributes with unique values.
+ ///
+ public InputList Attributes
+ {
+ get => _attributes ?? (_attributes = new InputList());
+ set => _attributes = value;
+ }
+
+ [Input("description")]
+ private InputMap? _description;
+
+ ///
+ /// Description of the State as localized string.
+ ///
+ public InputMap Description
+ {
+ get => _description ?? (_description = new InputMap());
+ set => _description = value;
+ }
+
+ ///
+ /// User-defined unique identifier of the AttributeGroup.
+ ///
+ [Input("key")]
+ public Input? Key { get; set; }
+
+ [Input("name")]
+ private InputMap? _name;
+
+ ///
+ /// Name of the State as localized string.
+ ///
+ public InputMap Name
+ {
+ get => _name ?? (_name = new InputMap());
+ set => _name = value;
+ }
+
+ public AttributeGroupArgs()
+ {
+ }
+ public static new AttributeGroupArgs Empty => new AttributeGroupArgs();
+ }
+
+ public sealed class AttributeGroupState : global::Pulumi.ResourceArgs
+ {
+ [Input("attributes")]
+ private InputList? _attributes;
+
+ ///
+ /// Attributes with unique values.
+ ///
+ public InputList Attributes
+ {
+ get => _attributes ?? (_attributes = new InputList());
+ set => _attributes = value;
+ }
+
+ [Input("description")]
+ private InputMap? _description;
+
+ ///
+ /// Description of the State as localized string.
+ ///
+ public InputMap Description
+ {
+ get => _description ?? (_description = new InputMap());
+ set => _description = value;
+ }
+
+ ///
+ /// User-defined unique identifier of the AttributeGroup.
+ ///
+ [Input("key")]
+ public Input? Key { get; set; }
+
+ [Input("name")]
+ private InputMap? _name;
+
+ ///
+ /// Name of the State as localized string.
+ ///
+ public InputMap Name
+ {
+ get => _name ?? (_name = new InputMap());
+ set => _name = value;
+ }
+
+ ///
+ /// Current version of the AttributeGroup.
+ ///
+ [Input("version")]
+ public Input? Version { get; set; }
+
+ public AttributeGroupState()
+ {
+ }
+ public static new AttributeGroupState Empty => new AttributeGroupState();
+ }
+}
diff --git a/sdk/dotnet/CartDiscount.cs b/sdk/dotnet/CartDiscount.cs
index 2f6094c..b4b0e9c 100644
--- a/sdk/dotnet/CartDiscount.cs
+++ b/sdk/dotnet/CartDiscount.cs
@@ -12,6 +12,9 @@ namespace Pulumi.Commercetools
[CommercetoolsResourceType("commercetools:index/cartDiscount:CartDiscount")]
public partial class CartDiscount : global::Pulumi.CustomResource
{
+ [Output("custom")]
+ public Output Custom { get; private set; } = null!;
+
///
/// [LocalizedString](https://docs.commercetools.com/api/types#localizedstring)
///
@@ -132,6 +135,9 @@ public static CartDiscount Get(string name, Input id, CartDiscountState?
public sealed class CartDiscountArgs : global::Pulumi.ResourceArgs
{
+ [Input("custom")]
+ public Input? Custom { get; set; }
+
[Input("description")]
private InputMap