@@ -11,7 +11,7 @@ import {
1111 ResourceHandlerRequest ,
1212 SessionProxy ,
1313} from '{{lib_name}}' ;
14- import { ResourceModel } from './models' ;
14+ import { ResourceModel , TypeConfigurationModel } from './models' ;
1515
1616interface CallbackContext extends Record < string , any > { }
1717
@@ -25,14 +25,17 @@ class Resource extends BaseResource<ResourceModel> {
2525 * @param request The request object for the provisioning request passed to the implementor
2626 * @param callbackContext Custom context object to allow the passing through of additional
2727 * state or metadata between subsequent retries
28+ * @param typeConfiguration Configuration data for this resource type, in the given account
29+ * and region
2830 * @param logger Logger to proxy requests to default publishers
2931 */
3032 @handlerEvent ( Action . Create )
3133 public async create (
3234 session : Optional < SessionProxy > ,
3335 request : ResourceHandlerRequest < ResourceModel > ,
3436 callbackContext : CallbackContext ,
35- logger : LoggerProxy
37+ logger : LoggerProxy ,
38+ typeConfiguration : TypeConfigurationModel ,
3639 ) : Promise < ProgressEvent < ResourceModel , CallbackContext > > {
3740 const model = new ResourceModel ( request . desiredResourceState ) ;
3841 const progress = ProgressEvent . progress < ProgressEvent < ResourceModel , CallbackContext > > ( model ) ;
@@ -63,14 +66,17 @@ class Resource extends BaseResource<ResourceModel> {
6366 * @param request The request object for the provisioning request passed to the implementor
6467 * @param callbackContext Custom context object to allow the passing through of additional
6568 * state or metadata between subsequent retries
69+ * @param typeConfiguration Configuration data for this resource type, in the given account
70+ * and region
6671 * @param logger Logger to proxy requests to default publishers
6772 */
6873 @handlerEvent ( Action . Update )
6974 public async update (
7075 session : Optional < SessionProxy > ,
7176 request : ResourceHandlerRequest < ResourceModel > ,
7277 callbackContext : CallbackContext ,
73- logger : LoggerProxy
78+ logger : LoggerProxy ,
79+ typeConfiguration : TypeConfigurationModel ,
7480 ) : Promise < ProgressEvent < ResourceModel , CallbackContext > > {
7581 const model = new ResourceModel ( request . desiredResourceState ) ;
7682 const progress = ProgressEvent . progress < ProgressEvent < ResourceModel , CallbackContext > > ( model ) ;
@@ -88,14 +94,17 @@ class Resource extends BaseResource<ResourceModel> {
8894 * @param request The request object for the provisioning request passed to the implementor
8995 * @param callbackContext Custom context object to allow the passing through of additional
9096 * state or metadata between subsequent retries
97+ * @param typeConfiguration Configuration data for this resource type, in the given account
98+ * and region
9199 * @param logger Logger to proxy requests to default publishers
92100 */
93101 @handlerEvent ( Action . Delete )
94102 public async delete (
95103 session : Optional < SessionProxy > ,
96104 request : ResourceHandlerRequest < ResourceModel > ,
97105 callbackContext : CallbackContext ,
98- logger : LoggerProxy
106+ logger : LoggerProxy ,
107+ typeConfiguration : TypeConfigurationModel ,
99108 ) : Promise < ProgressEvent < ResourceModel , CallbackContext > > {
100109 const model = new ResourceModel ( request . desiredResourceState ) ;
101110 const progress = ProgressEvent . progress < ProgressEvent < ResourceModel , CallbackContext > > ( ) ;
@@ -112,14 +121,17 @@ class Resource extends BaseResource<ResourceModel> {
112121 * @param request The request object for the provisioning request passed to the implementor
113122 * @param callbackContext Custom context object to allow the passing through of additional
114123 * state or metadata between subsequent retries
124+ * @param typeConfiguration Configuration data for this resource type, in the given account
125+ * and region
115126 * @param logger Logger to proxy requests to default publishers
116127 */
117128 @handlerEvent ( Action . Read )
118129 public async read (
119130 session : Optional < SessionProxy > ,
120131 request : ResourceHandlerRequest < ResourceModel > ,
121132 callbackContext : CallbackContext ,
122- logger : LoggerProxy
133+ logger : LoggerProxy ,
134+ typeConfiguration : TypeConfigurationModel ,
123135 ) : Promise < ProgressEvent < ResourceModel , CallbackContext > > {
124136 const model = new ResourceModel ( request . desiredResourceState ) ;
125137 // TODO: put code here
@@ -135,14 +147,17 @@ class Resource extends BaseResource<ResourceModel> {
135147 * @param request The request object for the provisioning request passed to the implementor
136148 * @param callbackContext Custom context object to allow the passing through of additional
137149 * state or metadata between subsequent retries
150+ * @param typeConfiguration Configuration data for this resource type, in the given account
151+ * and region
138152 * @param logger Logger to proxy requests to default publishers
139153 */
140154 @handlerEvent ( Action . List )
141155 public async list (
142156 session : Optional < SessionProxy > ,
143157 request : ResourceHandlerRequest < ResourceModel > ,
144158 callbackContext : CallbackContext ,
145- logger : LoggerProxy
159+ logger : LoggerProxy ,
160+ typeConfiguration : TypeConfigurationModel ,
146161 ) : Promise < ProgressEvent < ResourceModel , CallbackContext > > {
147162 const model = new ResourceModel ( request . desiredResourceState ) ;
148163 // TODO: put code here
@@ -154,7 +169,8 @@ class Resource extends BaseResource<ResourceModel> {
154169 }
155170}
156171
157- export const resource = new Resource ( ResourceModel . TYPE_NAME , ResourceModel ) ;
172+ // @ts -ignore // if running against v1.0.1 or earlier of plugin the 5th argument is not known but best to ignored (runtime code may warn)
173+ export const resource = new Resource ( ResourceModel . TYPE_NAME , ResourceModel , null , null , TypeConfigurationModel ) ! ;
158174
159175// Entrypoint for production usage after registered in CloudFormation
160176export const entrypoint = resource . entrypoint ;
0 commit comments