Part of Epic #427
Description
This issue tracks the implementation work needed to ensure the ServiceInstance resource fully complies with the External Name Handling ADR. The goal is to verify and implement proper external name handling across all CRUD operations according to the established guidelines.
Tasks
Please note, for all tasks the External Name Handling ADR acts as a source of truth, the details here are for just for reference. If deviating from the ADR, please note why.
1. Implement Proper External Name Handling
Acceptance Criteria:
2. Unit Test Coverage for External Name Handling
Acceptance Criteria:
3. E2E Import Test Coverage
Acceptance Criteria:
4. Upgrade Test Coverage for External Name Behavior
If this part is blocked by adding the upgrade tests to btp-provider, move this to a follow up issue.
Acceptance Criteria:
5. Documentation
Document the required identifier and how to obtain it in the comment block directly above the main resource struct in the <resource>_types.go file. This is used for auto-generating our docs.
Please see the generation guide for more information on the process and the required comment structure: https://github.com/SAP/crossplane-provider-btp/blob/main/docs/development/external-name-handling.md#documentation-generation
Implementation Notes
-
ADR Compliance: Ensure all implementation follows the patterns and requirements defined in the External Name Handling ADR.
-
GUID Validation: Implement proper validation for external-name format checking (GUID format expected).
-
Error Handling: Ensure API errors are properly wrapped and provide clear messages to users about external-name related issues.
-
Backward Compatibility: Evaluate existing migration logic and determine appropriate approach for maintaining or updating compatibility. This includes the already existing migration logic introduced in v1.4.0.
Related Resources
Part of Epic #427
Description
This issue tracks the implementation work needed to ensure the ServiceInstance resource fully complies with the External Name Handling ADR. The goal is to verify and implement proper external name handling across all CRUD operations according to the established guidelines.
Tasks
1. Implement Proper External Name Handling
Acceptance Criteria:
Observe() Method Implementation
Create() Method Implementation
Update() Method Implementation
Delete() Method Implementation
Review Migration Logic:
2. Unit Test Coverage for External Name Handling
Acceptance Criteria:
Observe() Tests:
resourceExists: falseCreate() Tests:
Update() Tests:
Delete() Tests:
3. E2E Import Test Coverage
Acceptance Criteria:
test/e2e/import_utils.go, already used intest/e2e/subaccount_test.go.4. Upgrade Test Coverage for External Name Behavior
If this part is blocked by adding the upgrade tests to btp-provider, move this to a follow up issue.
Acceptance Criteria:
External Name Format Migration Test:
Backward Compatibility Validation:
5. Documentation
Document the required identifier and how to obtain it in the comment block directly above the main resource struct in the
<resource>_types.gofile. This is used for auto-generating our docs.Please see the generation guide for more information on the process and the required comment structure: https://github.com/SAP/crossplane-provider-btp/blob/main/docs/development/external-name-handling.md#documentation-generation
Implementation Notes
ADR Compliance: Ensure all implementation follows the patterns and requirements defined in the External Name Handling ADR.
GUID Validation: Implement proper validation for external-name format checking (GUID format expected).
Error Handling: Ensure API errors are properly wrapped and provide clear messages to users about external-name related issues.
Backward Compatibility: Evaluate existing migration logic and determine appropriate approach for maintaining or updating compatibility. This includes the already existing migration logic introduced in v1.4.0.
Related Resources