1010
1111
1212class BaseComposite :
13- def __init__ (self , request , logger ):
13+ def __init__ (self , request , parameters , logger ):
1414 self .request = protobuf .Message (None , 'request' , request .DESCRIPTOR , request , 'Function Request' )
1515 response = fnv1 .RunFunctionResponse (
1616 meta = fnv1 .ResponseMeta (
@@ -24,7 +24,7 @@ def __init__(self, request, logger):
2424 )
2525 self .response = protobuf .Message (None , 'response' , response .DESCRIPTOR , response )
2626 self .logger = logger
27- self .parameters = self .request . input . parameters
27+ self .parameters = protobuf . Value ( None , None , parameters , ' self.parameters' )
2828 self .credentials = Credentials (self .request )
2929 self .context = self .response .context
3030 self .environment = self .context ['apiextensions.crossplane.io/environment' ]
@@ -44,7 +44,6 @@ def __init__(self, request, logger):
4444 self .spec = self .observed .spec
4545 self .status = self .desired .status
4646 self .conditions = Conditions (observed , self .response )
47- self .connection = Connection (observed , desired )
4847 self .events = Events (self .response )
4948
5049 @property
@@ -67,6 +66,15 @@ def ttl(self, ttl):
6766 else :
6867 raise ValueError ('ttl must be an int or float' )
6968
69+ @property
70+ def connection (self ):
71+ return self .response .desired .composite .connection_details
72+
73+ @connection .setter
74+ def connection (self , connection ):
75+ for key , value in connection :
76+ self .response .desired .composite .connection_details [key ] = value
77+
7078 @property
7179 def ready (self ):
7280 ready = self .desired ._parent .ready
@@ -190,7 +198,7 @@ def __init__(self, composite, name):
190198 self .observed = observed .resource
191199 self .desired = desired .resource
192200 self .conditions = Conditions (observed )
193- self .connection = Connection ( observed )
201+ self .connection = observed . connection_details
194202 self .unknownsFatal = None
195203 self .autoReady = None
196204 self .usages = None
@@ -555,38 +563,6 @@ def _find_condition(self, create=False):
555563 return self ._conditions ._response .conditions .append (condition )
556564
557565
558- class Connection :
559- def __init__ (self , observed , desired = None ):
560- self .__dict__ ['_observed' ] = observed
561- self .__dict__ ['_desired' ] = desired
562-
563- def __bool__ (self ):
564- if self ._desired is not None and len (self ._desired .connection_details ) > 0 :
565- return True
566- if self ._observed is not None and len (self ._observed .connection_details ) > 0 :
567- return True
568- return False
569-
570- def __getattr__ (self , key ):
571- return self [key ]
572-
573- def __getitem__ (self , key ):
574- value = None
575- if self ._desired is not None and key in self ._desired .connection_details :
576- value = self ._desired .connection_details [key ]
577- if value is None and key in self ._observed .connection_details :
578- value = self ._observed .connection_details [key ]
579- return value
580-
581- def __setattr__ (self , key , value ):
582- self [key ] = value
583-
584- def __setitem__ (self , key , value ):
585- if self ._desired is None :
586- raise ValueError ('Connection is read only' )
587- self ._desired .connection_details [key ] = value
588-
589-
590566class Events :
591567 def __init__ (self , response ):
592568 self ._results = response .results
0 commit comments