@@ -136,6 +136,7 @@ def perform_action(svc, definition: Dict, params: Dict) -> Dict:
136136 kind = definition .get ("kind" )
137137 api_version = definition .get ("apiVersion" )
138138 hidden_fields = params .get ("hidden_fields" )
139+ subresource = params .get ("subresource" )
139140
140141 result = {"changed" : False , "result" : {}}
141142 instance = {}
@@ -144,7 +145,19 @@ def perform_action(svc, definition: Dict, params: Dict) -> Dict:
144145 resource = svc .find_resource (kind , api_version , fail = True )
145146 definition ["kind" ] = resource .kind
146147 definition ["apiVersion" ] = resource .group_version
147- existing = svc .retrieve (resource , definition )
148+
149+ if subresource and subresource is not None :
150+ if subresource not in resource .subresources .keys ():
151+ raise CoreException ("The resource {resource} doesn't support the subresource {subresource}" .format (
152+ resource = resource .kind ,
153+ subresource = subresource ,
154+ )
155+ )
156+
157+ existing = svc .retrieve (resource .subresources [subresource ], definition )
158+ resource = resource .subresources [subresource ]
159+ else :
160+ existing = svc .retrieve (resource , definition )
148161
149162 if state == "absent" :
150163 if exists (existing ) and existing .kind .endswith ("List" ):
0 commit comments