ShareImageModal: Add support for sources

This commit allows sharing (cloning) composes that use the sources
service to resolve the AWS account ID.
This commit is contained in:
lucasgarfield 2023-03-01 14:28:42 +01:00 committed by Sanne Raymaekers
parent 050808b181
commit deae5438a1
3 changed files with 14 additions and 5 deletions

View file

@ -30,7 +30,8 @@ export const selectRegionsToDisable = createSelector(
regions.add(compose.region);
clones.map((clone) => {
clone.region &&
clone.share_with_accounts[0] === compose.share_with_accounts[0] &&
clone.share_with_accounts?.[0] === compose.share_with_accounts?.[0] &&
clone.share_with_sources?.[0] === compose.share_with_sources?.[0] &&
clone.status !== 'failure' &&
regions.add(clone.region);
});
@ -92,10 +93,13 @@ const RegionsSelect = ({
const generateRequests = () => {
const requests = selected.map((region) => {
return {
region: region,
share_with_accounts: [compose.share_with_accounts[0]],
};
const request = { region: region };
if (compose.share_with_sources?.[0]) {
request.share_with_sources = [compose.share_with_sources[0]];
} else {
request.share_with_accounts = [compose.share_with_accounts[0]];
}
return request;
});
return requests;
};

View file

@ -38,6 +38,7 @@ export const selectCloneById = (state, cloneId) => {
region: clone.request.region,
ami: clone.image_status?.upload_status?.options?.ami,
share_with_accounts: clone.request.share_with_accounts,
share_with_sources: clone.request.share_with_sources,
status: clone.image_status?.status,
uploadStatus: clone.image_status?.upload_status,
parent: clone.parent,

View file

@ -58,6 +58,9 @@ export const selectComposeById = (state, composeId) => {
share_with_accounts:
compose.request.image_requests[0].upload_request?.options
.share_with_accounts,
share_with_sources:
compose.request.image_requests[0].upload_request?.options
.share_with_sources,
status: compose.image_status?.status,
clones: [...compose.clones],
imageType: compose.request.image_requests[0].image_type,
@ -85,6 +88,7 @@ export const selectClonesById = (state, composeId) => {
region: clone.request.region,
ami: clone.image_status?.upload_status?.options?.ami,
share_with_accounts: clone.request.share_with_accounts,
share_with_sources: clone.request.share_with_sources,
status: clone.image_status?.status,
};
});