crossplane-function-pythonic 0.4.0__tar.gz → 0.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/PKG-INFO +5 -5
  2. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/README.md +3 -3
  3. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/crossplane/pythonic/__about__.py +1 -1
  4. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/crossplane/pythonic/command.py +5 -0
  5. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/crossplane/pythonic/composite.py +6 -6
  6. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/crossplane/pythonic/protobuf.py +18 -4
  7. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/crossplane/pythonic/render.py +17 -17
  8. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/aks-cluster/cluster-function-pythonic.yaml +1 -1
  9. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/include/composition.yaml +1 -1
  10. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/pyproject.toml +1 -1
  11. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/.gitignore +0 -0
  12. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/LICENSE +0 -0
  13. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/crossplane/pythonic/__init__.py +0 -0
  14. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/crossplane/pythonic/__main__.py +0 -0
  15. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/crossplane/pythonic/auto_ready.py +0 -0
  16. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/crossplane/pythonic/function.py +0 -0
  17. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/crossplane/pythonic/grpc.py +0 -0
  18. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/crossplane/pythonic/main.py +0 -0
  19. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/crossplane/pythonic/packages.py +0 -0
  20. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/crossplane/pythonic/version.py +0 -0
  21. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/aks-cluster/README.md +0 -0
  22. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/aks-cluster/aks/kubernetescluster.py +0 -0
  23. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/aks-cluster/aks/resourcegroup.py +0 -0
  24. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/aks-cluster/composition.yaml +0 -0
  25. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/aks-cluster/definition.yaml +0 -0
  26. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/aks-cluster/install.sh +0 -0
  27. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/aks-cluster/kustomization.yaml +0 -0
  28. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/aks-cluster/providers.yaml +0 -0
  29. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/aks-cluster/render.sh +0 -0
  30. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/aks-cluster/xr.yaml +0 -0
  31. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/connection-details-composition/access-keys.yaml +0 -0
  32. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/connection-details-composition/composition.yaml +0 -0
  33. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/connection-details-composition/definition.yaml +0 -0
  34. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/connection-details-composition/render.sh +0 -0
  35. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/connection-details-composition/secrets.yaml +0 -0
  36. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/connection-details-composition/user.yaml +0 -0
  37. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/connection-details-composition/xr.yaml +0 -0
  38. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/connections/composite-connection.yaml +0 -0
  39. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/connections/composition.yaml +0 -0
  40. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/connections/rds-connection.yaml +0 -0
  41. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/connections/rds-observed.yaml +0 -0
  42. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/connections/render.sh +0 -0
  43. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/connections/step-credential.yaml +0 -0
  44. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/connections/xr.yaml +0 -0
  45. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/eks-cluster/composition-v2.yaml +0 -0
  46. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/eks-cluster/composition.yaml +0 -0
  47. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/eks-cluster/definition.yaml +0 -0
  48. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/eks-cluster/render-v2.sh +0 -0
  49. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/eks-cluster/render.sh +0 -0
  50. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/eks-cluster/xr.yaml +0 -0
  51. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/filing-system/README.md +0 -0
  52. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/filing-system/composition.yaml +0 -0
  53. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/filing-system/definition.yaml +0 -0
  54. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/filing-system/kustomization.yaml +0 -0
  55. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/filing-system/runtime.yaml +0 -0
  56. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/filing-system/vcluster.py +0 -0
  57. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/filing-system/vcluster.yaml +0 -0
  58. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/conditions/composition.yaml +0 -0
  59. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/conditions/render.sh +0 -0
  60. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/conditions/xr.yaml +0 -0
  61. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/conditions/xrd.yaml +0 -0
  62. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/context/composition.yaml +0 -0
  63. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/context/environmentConfigs.yaml +0 -0
  64. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/context/render.sh +0 -0
  65. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/context/xr.yaml +0 -0
  66. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/context/xrd.yaml +0 -0
  67. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/fromYaml/composition.yaml +0 -0
  68. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/fromYaml/render.sh +0 -0
  69. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/fromYaml/xr.yaml +0 -0
  70. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/getComposedResource/composition.yaml +0 -0
  71. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/getComposedResource/observed.yaml +0 -0
  72. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/getComposedResource/render.sh +0 -0
  73. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/getComposedResource/xr.yaml +0 -0
  74. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/getCompositeResource/composition.yaml +0 -0
  75. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/getCompositeResource/render.sh +0 -0
  76. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/getCompositeResource/xr.yaml +0 -0
  77. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/getCredentialData/composition.yaml +0 -0
  78. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/getCredentialData/credentials.yaml +0 -0
  79. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/getCredentialData/render.sh +0 -0
  80. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/getCredentialData/xr.yaml +0 -0
  81. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/getResourceCondition/composition.yaml +0 -0
  82. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/getResourceCondition/observed.yaml +0 -0
  83. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/getResourceCondition/render.sh +0 -0
  84. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/getResourceCondition/xr.yaml +0 -0
  85. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/include/render.sh +0 -0
  86. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/include/xr.yaml +0 -0
  87. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/toYaml/composition.yaml +0 -0
  88. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/toYaml/render.sh +0 -0
  89. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/functions/toYaml/xr.yaml +0 -0
  90. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/inline/composition.yaml +0 -0
  91. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/inline/render.sh +0 -0
  92. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/inline/xr.yaml +0 -0
  93. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/recursive/composition-real.yaml +0 -0
  94. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/recursive/composition-wrapper.yaml +0 -0
  95. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/recursive/render.sh +0 -0
  96. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/recursive/xr.yaml +0 -0
  97. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/required-resources/composition.yaml +0 -0
  98. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/required-resources/render.sh +0 -0
  99. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/required-resources/required-resources.yaml +0 -0
  100. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-go-templating/required-resources/xr.yaml +0 -0
  101. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-sequencer/composition.yaml +0 -0
  102. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-sequencer/observed.yaml +0 -0
  103. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-sequencer/render.sh +0 -0
  104. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-sequencer/sequencer.py +0 -0
  105. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/function-sequencer/xr.yaml +0 -0
  106. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/get-started-app/composition.yaml +0 -0
  107. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/get-started-app/definition.yaml +0 -0
  108. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/get-started-app/observed.yaml +0 -0
  109. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/get-started-app/render.sh +0 -0
  110. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/get-started-app/xr.yaml +0 -0
  111. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/helm-copy-secret/composition.yaml +0 -0
  112. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/helm-copy-secret/kustomization.yaml +0 -0
  113. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/helm-copy-secret/render.sh +0 -0
  114. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/helm-copy-secret/vcluster.py +0 -0
  115. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/helm-copy-secret/xr.yaml +0 -0
  116. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/helm-copy-secret/xrd.yaml +0 -0
  117. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/import-existing-vpc/README.md +0 -0
  118. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/import-existing-vpc/composition.yaml +0 -0
  119. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/import-existing-vpc/definition.yaml +0 -0
  120. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/import-existing-vpc/observed.yaml +0 -0
  121. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/import-existing-vpc/provider-ec2.yaml +0 -0
  122. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/import-existing-vpc/render.sh +0 -0
  123. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/import-existing-vpc/xr.yaml +0 -0
  124. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/run-all.sh +0 -0
  125. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/single-purpose/render.sh +0 -0
  126. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/single-purpose/xr.yaml +0 -0
  127. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/usages-extra/composition.yaml +0 -0
  128. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/usages-extra/extraResources.yaml +0 -0
  129. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/usages-extra/observedResources.yaml +0 -0
  130. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/usages-extra/render.sh +0 -0
  131. {crossplane_function_pythonic-0.4.0 → crossplane_function_pythonic-0.4.1}/examples/usages-extra/xr.yaml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crossplane-function-pythonic
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: A Python centric Crossplane Function
5
5
  Project-URL: Documentation, https://github.com/crossplane-contrib/function-pythonic#readme
6
6
  Project-URL: Issues, https://github.com/crossplane-contrib/function-pythonic/issues
@@ -19,7 +19,7 @@ Requires-Dist: inflect==7.5.0
19
19
  Requires-Dist: kr8s==0.20.15
20
20
  Requires-Dist: pyyaml==6.0.3
21
21
  Provides-Extra: packages
22
- Requires-Dist: kopf==1.42.5; extra == 'packages'
22
+ Requires-Dist: kopf==1.43.0; extra == 'packages'
23
23
  Provides-Extra: pip-install
24
24
  Requires-Dist: pip==26.0.1; extra == 'pip-install'
25
25
  Description-Content-Type: text/markdown
@@ -83,7 +83,7 @@ kind: Function
83
83
  metadata:
84
84
  name: function-pythonic
85
85
  spec:
86
- package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.4.0
86
+ package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.4.1
87
87
  ```
88
88
 
89
89
  ### Crossplane V1
@@ -95,7 +95,7 @@ kind: Function
95
95
  metadata:
96
96
  name: function-pythonic
97
97
  spec:
98
- package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.4.0
98
+ package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.4.1
99
99
  runtimeConfigRef:
100
100
  name: function-pythonic
101
101
  --
@@ -616,7 +616,7 @@ kind: Function
616
616
  metadata:
617
617
  name: function-pythonic
618
618
  spec:
619
- package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.4.0
619
+ package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.4.1
620
620
  runtimeConfigRef:
621
621
  name: function-pythonic
622
622
  ---
@@ -57,7 +57,7 @@ kind: Function
57
57
  metadata:
58
58
  name: function-pythonic
59
59
  spec:
60
- package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.4.0
60
+ package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.4.1
61
61
  ```
62
62
 
63
63
  ### Crossplane V1
@@ -69,7 +69,7 @@ kind: Function
69
69
  metadata:
70
70
  name: function-pythonic
71
71
  spec:
72
- package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.4.0
72
+ package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.4.1
73
73
  runtimeConfigRef:
74
74
  name: function-pythonic
75
75
  --
@@ -590,7 +590,7 @@ kind: Function
590
590
  metadata:
591
591
  name: function-pythonic
592
592
  spec:
593
- package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.4.0
593
+ package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.4.1
594
594
  runtimeConfigRef:
595
595
  name: function-pythonic
596
596
  ---
@@ -1,2 +1,2 @@
1
1
  # This is set at build time, using "hatch version"
2
- __version__ = "0.4.0"
2
+ __version__ = "0.4.1"
@@ -77,6 +77,11 @@ class Command:
77
77
  logger = logging.getLogger()
78
78
  logger.handlers = [handler]
79
79
  logger.setLevel(logging.DEBUG if self.args.debug else logging.INFO)
80
+ # Suppress noisy libraries, these can be overriden using --logger-level
81
+ logging.getLogger('asyncio').setLevel(logging.INFO)
82
+ logging.getLogger('httpcore').setLevel(logging.INFO)
83
+ logging.getLogger('httpx').setLevel(logging.WARNING)
84
+ logging.getLogger('kr8s').setLevel(logging.INFO)
80
85
  for logger_level in self.args.logger_level:
81
86
  for logger_level in logger_level.split(','):
82
87
  logger_level = logger_level.split('=')
@@ -43,7 +43,7 @@ class Connection:
43
43
 
44
44
  def __set__(self, composite, values):
45
45
  connection = self.__get__(composite)
46
- coneection()
46
+ connection()
47
47
  for key, value in values:
48
48
  connection[key] = value
49
49
 
@@ -384,7 +384,7 @@ class Resource:
384
384
  field = resource.observed.metadata.name
385
385
  else:
386
386
  field = resource.status.notReady
387
- self.metadata.annotations[f"Dependency{resource.name}"] = field
387
+ self.metadata.annotations[f"pythonic.dependency/{resource.name}"] = field
388
388
 
389
389
  class Requireds:
390
390
  def __init__(self, composite):
@@ -757,7 +757,7 @@ class Results:
757
757
  return len(self) > 0
758
758
 
759
759
  def __len__(self):
760
- len(self._results)
760
+ return len(self._results)
761
761
 
762
762
  def __getitem__(self, key):
763
763
  if key >= len(self._results):
@@ -832,7 +832,7 @@ class Result:
832
832
 
833
833
  @property
834
834
  def claim(self):
835
- return bool(self) and self._result == fnv1.Target.TARGET_COMPOSITE_AND_CLAIM
835
+ return bool(self) and self._result.target == fnv1.Target.TARGET_COMPOSITE_AND_CLAIM
836
836
 
837
837
  @claim.setter
838
838
  def claim(self, claim):
@@ -887,10 +887,10 @@ class _Connection:
887
887
 
888
888
  def __call__(self, **kwargs):
889
889
  self._composite.response.desired.composite.connection_details(**kwargs)
890
- if self._composite_v1:
890
+ if self._composite.crossplane_v1:
891
891
  return
892
892
  del self._composite.resources[self._resource_name]
893
- for key, value in kwargs:
893
+ for key, value in kwargs.items():
894
894
  self[key] = value
895
895
 
896
896
  def __setattr__(self, key, value):
@@ -406,12 +406,26 @@ class RepeatedMessage:
406
406
 
407
407
  def __getitem__(self, key):
408
408
  key = self._validate_key(key)
409
- if key in self._cache:
410
- return self._cache[key]
411
- if self._messages is _Unknown or key >= len(self._messages):
409
+ if key == append:
410
+ if self._messages is _Unknown:
411
+ key = 0
412
+ else:
413
+ key = len(self._messages)
412
414
  value = _Unknown
413
415
  else:
414
- value = self._messages[key]
416
+ if key < 0:
417
+ if self._messages is _Unknown:
418
+ key = 0
419
+ else:
420
+ key = len(self._messages) + key
421
+ if key < 0:
422
+ key = 0
423
+ if key in self._cache:
424
+ return self._cache[key]
425
+ if self._messages is _Unknown or key >= len(self._messages):
426
+ value = _Unknown
427
+ else:
428
+ value = self._messages[key]
415
429
  if value is None and self._field.has_default_value:
416
430
  value = self._field.default_value
417
431
  if self._field.type == self._field.TYPE_MESSAGE:
@@ -356,13 +356,13 @@ class Command(command.Command):
356
356
  if not self.kube_context:
357
357
  print('"composition" argument required', file=sys.stderr)
358
358
  sys.exit(1)
359
- if self.args.crossplane_v1:
360
- revision = self.composite.spec.compositionRevisionRef
361
- else:
362
- revision = self.composite.spec.crossplane.compositionRevisionRef
359
+ revision = self.composite.spec.crossplane.compositionRevisionRef
363
360
  if not revision.name:
364
- print('Composite does not contain a CompositionRevision name', file=sys.stderr)
365
- sys.exit(1)
361
+ # Crossplane V1 location
362
+ revision = self.composite.spec.compositionRevisionRef
363
+ if not revision.name:
364
+ print('Composite does not contain a CompositionRevision name', file=sys.stderr)
365
+ sys.exit(1)
366
366
  self.composition = await self.kube_get('CompositionRevision', 'apiextensions.crossplane.io/v1', None, str(revision.name))
367
367
  return
368
368
  if self.args.composition.is_file():
@@ -434,10 +434,9 @@ class Command(command.Command):
434
434
  # Obtain observed resources if using external cluster
435
435
  if self.kube_context:
436
436
  async with asyncio.TaskGroup() as group:
437
- if self.args.crossplane_v1:
437
+ refs = self.composite.spec.crossplane.resourceRefs
438
+ if not refs:
438
439
  refs = self.composite.spec.resourceRefs
439
- else:
440
- refs = self.composite.spec.crossplane.resourceRefs
441
440
  for ref in refs:
442
441
  group.create_task(self.setup_observed_resource(ref))
443
442
 
@@ -536,12 +535,12 @@ class Command(command.Command):
536
535
  else:
537
536
  await self.setup_resource(required, items[protobuf.append])
538
537
  if not len(items) and self.kube_context:
539
- if selector.match_name:
538
+ if len(selector.match_name):
540
539
  required = await self.kube_get(selector.kind, selector.api_version, selector.namespace, selector.match_name, False)
541
540
  if required:
542
541
  await self.setup_resource(required, items[protobuf.append])
543
- elif selector.match_labels.labels:
544
- for requiest in await kube_list(selector.kind, selector.api_version, selector.namespace, selector.match_labels.labels):
542
+ elif len(selector.match_labels.labels):
543
+ for required in await self.kube_list(selector.kind, selector.api_version, selector.namespace, selector.match_labels.labels):
545
544
  await self.setup_resource(required, items[protobuf.append])
546
545
 
547
546
  def copy_resource(self, source, destination):
@@ -610,11 +609,12 @@ class Command(command.Command):
610
609
  resources = [
611
610
  protobuf.Value(None, None, resource.raw)
612
611
  async for resource in clazz.list(
613
- namespace=str(namespace) if namespace and len(namespace) else None,
614
- label_selector={
615
- label: str(value)
616
- for label, value in labelSelector
617
- },
612
+ namespace=str(namespace) if namespace and len(namespace) else None,
613
+ label_selector={
614
+ label: str(value)
615
+ for label, value in labelSelector
616
+ },
617
+ api=self.kube_context,
618
618
  )
619
619
  ]
620
620
  if self.logger.isEnabledFor(logging.DEBUG):
@@ -3,7 +3,7 @@ kind: Function
3
3
  metadata:
4
4
  name: function-pythonic
5
5
  spec:
6
- package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.4.0
6
+ package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.4.1
7
7
  runtimeConfigRef:
8
8
  name: function-pythonic
9
9
  ---
@@ -21,7 +21,7 @@ spec:
21
21
  'some-text': self.spec.val1,
22
22
  'other-text': self.spec.val2,
23
23
  }
24
- r = self.resources.test1('Deployment', 'apps/v1', 'Deployment')
24
+ r = self.resources.test1('Deployment', 'apps/v1')
25
25
  r.metadata.labels = labels
26
26
  r.spec.replicas = 3
27
27
  r.spec.selector.matchLabels = labels
@@ -24,7 +24,7 @@ dependencies = [
24
24
  ]
25
25
 
26
26
  [project.optional-dependencies]
27
- packages = ["kopf==1.42.5"]
27
+ packages = ["kopf==1.43.0"]
28
28
  pip-install = ["pip==26.0.1"]
29
29
 
30
30
  [project.urls]