@@ -57,6 +57,30 @@ type ValidateActionConfigRequest struct {
5757 // from knowing the value at request time. Any attributes not directly
5858 // set in the configuration will be null.
5959 Config * DynamicValue
60+
61+ // LinkedResources contains the configuration data of the managed resource types that are linked to this action.
62+ //
63+ // - If the action schema type is Unlinked, this field will be empty.
64+ LinkedResources []* LinkedResourceConfig
65+ }
66+
67+ // LinkedResourceConfig represents linked resource config data used in the ValidateActionConfig RPC.
68+ type LinkedResourceConfig struct {
69+ // TypeName is the type of linked resource Terraform is validating.
70+ TypeName string
71+
72+ // Config is the configuration the user supplied for the linked resource. See
73+ // the documentation on `DynamicValue` for more information about
74+ // safely accessing the configuration.
75+ //
76+ // The configuration is represented as a tftypes.Object, with each
77+ // attribute and nested block getting its own key and value.
78+ //
79+ // This configuration may contain unknown values if a user uses
80+ // interpolation or other functionality that would prevent Terraform
81+ // from knowing the value at request time. Any attributes not directly
82+ // set in the configuration will be null.
83+ Config * DynamicValue
6084}
6185
6286// ValidateActionConfigResponse is the response from the provider about
@@ -77,13 +101,6 @@ type PlanActionRequest struct {
77101 // LinkedResources contains the data of the managed resource types that are linked to this action.
78102 //
79103 // - If the action schema type is Unlinked, this field will be empty.
80- // - If the action schema type is Lifecycle, this field will contain a single linked resource.
81- // - If the action schema type is Linked, this field will be one or more linked resources, which
82- // will be in the same order as the linked resource schemas are defined in the action schema.
83- //
84- // For Lifecycle actions, the provider may only change computed-only attributes.
85- //
86- // For Linked actions, the provider may change any attributes as long as it adheres to the resource schema.
87104 LinkedResources []* ProposedLinkedResource
88105
89106 // Config is the configuration the user supplied for the action. See
@@ -128,9 +145,7 @@ type ProposedLinkedResource struct {
128145type PlanActionResponse struct {
129146 // LinkedResources contains the provider modified data of the managed resource types that are linked to this action.
130147 //
131- // For Lifecycle actions, the provider may only change computed-only attributes.
132- //
133- // For Linked actions, the provider may change any attributes as long as it adheres to the resource schema.
148+ // This field is not currently in-use, but future action schema types will use this field to plan modifications of state data for linked resources.
134149 LinkedResources []* PlannedLinkedResource
135150
136151 // Diagnostics report errors or warnings related to plannning the action and calculating
@@ -165,13 +180,6 @@ type InvokeActionRequest struct {
165180 // LinkedResources contains the data of the managed resource types that are linked to this action.
166181 //
167182 // - If the action schema type is Unlinked, this field will be empty.
168- // - If the action schema type is Lifecycle, this field will contain a single linked resource.
169- // - If the action schema type is Linked, this field will be one or more linked resources, which
170- // will be in the same order as the linked resource schemas are defined in the action schema.
171- //
172- // For Lifecycle actions, the provider may only change computed-only attributes.
173- //
174- // For Linked actions, the provider may change any attributes as long as it adheres to the resource schema.
175183 LinkedResources []* InvokeLinkedResource
176184
177185 // Config is the configuration the user supplied for the action. See
@@ -252,9 +260,7 @@ func (a ProgressInvokeActionEventType) isInvokeActionEventType() {}
252260type CompletedInvokeActionEventType struct {
253261 // LinkedResources contains the provider modified data of the managed resource types that are linked to this action.
254262 //
255- // For Lifecycle actions, the provider may only change computed-only attributes.
256- //
257- // For Linked actions, the provider may change any attributes as long as it adheres to the resource schema.
263+ // This field is not currently in-use, but future action schema types will use this field to modify state data for linked resources.
258264 LinkedResources []* NewLinkedResource
259265
260266 // Diagnostics report errors or warnings related to invoking an action.
0 commit comments