@spinnaker/cloudfoundry 2026.2.3 → 2026.3.0
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.
- package/dist/image/image.reader.cf.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/instance/details/CloudFoundryInstanceActions.d.ts +5 -2
- package/dist/loadBalancer/configure/CloudFoundryMapLoadBalancerModal.d.ts +5 -4
- package/dist/loadBalancer/details/CloudFoundryLoadBalancerActions.d.ts +5 -2
- package/dist/loadBalancer/loadBalancer.transformer.d.ts +2 -5
- package/dist/pipeline/stages/cloneServerGroup/CloudFoundryCloneServerGroupStageConfig.d.ts +3 -0
- package/dist/serverGroup/configure/serverGroupCommandBuilderShim.service.cf.d.ts +5 -9
- package/dist/serverGroup/configure/wizard/CreateServerGroupModal.d.ts +5 -3
- package/dist/serverGroup/details/cloudFoundryServerGroupActions.d.ts +8 -2
- package/dist/serverGroup/details/mapLoadBalancers/CloudFoundryMapLoadBalancersModal.d.ts +5 -3
- package/dist/serverGroup/details/mapLoadBalancers/CloudFoundryUnmapLoadBalancersModal.d.ts +5 -3
- package/dist/serverGroup/details/resize/CloudFoundryResizeServerGroupModal.d.ts +5 -3
- package/dist/serverGroup/details/rollback/CloudFoundryRollbackServerGroupModal.d.ts +5 -3
- package/dist/serverGroup/serverGroup.transformer.d.ts +1 -4
- package/package.json +3 -9
- package/src/image/image.reader.cf.ts +1 -1
- package/src/instance/details/CloudFoundryInstanceActions.tsx +11 -6
- package/src/instance/details/CloudFoundryInstanceDetails.tsx +0 -2
- package/src/loadBalancer/configure/CloudFoundryMapLoadBalancerModal.tsx +10 -16
- package/src/loadBalancer/details/CloudFoundryLoadBalancerActions.tsx +10 -7
- package/src/loadBalancer/details/CloudFoundryLoadBalancerDetails.tsx +1 -3
- package/src/loadBalancer/loadBalancer.transformer.ts +3 -6
- package/src/pipeline/stages/cloneServerGroup/CloudFoundryCloneServerGroupStageConfig.tsx +13 -7
- package/src/pipeline/stages/createServiceBindings/CloudFoundryCreateServiceBindingsStageConfigForm.tsx +1 -2
- package/src/pipeline/stages/createServiceBindings/cloudFoundryCreateServiceBindingsStageForm.spec.tsx +25 -21
- package/src/pipeline/stages/deleteServiceBindings/CloudFoundryDeleteServiceBindingsStageConfigForm.tsx +1 -2
- package/src/pipeline/stages/deleteServiceBindings/cloudFoundryDeleteServiceBindingsStageForm.spec.tsx +23 -18
- package/src/pipeline/stages/resizeAsg/CloudFoundryResizeAsgStageConfig.tsx +1 -2
- package/src/pipeline/stages/rollbackCluster/cloudFoundryRollbackClusterStage.module.ts +0 -1
- package/src/pipeline/stages/runJob/CloudFoundryRunJobStageConfig.tsx +1 -2
- package/src/pipeline/stages/unshareService/cloudFoundryUnshareServiceStage.module.ts +0 -1
- package/src/presentation/pipeline/stages/CloudFoundryAsgStageConfig.tsx +1 -2
- package/src/presentation/pipeline/stages/CloudFoundryLoadBalancersStageConfig.tsx +1 -2
- package/src/presentation/widgets/accountRegionClusterSelector/AccountRegionClusterSelector.spec.tsx +41 -43
- package/src/routerActions.spec.tsx +76 -0
- package/src/serverGroup/configure/serverGroupCommandBuilderShim.service.cf.ts +12 -18
- package/src/serverGroup/configure/wizard/CreateServerGroupModal.tsx +13 -7
- package/src/serverGroup/details/cfServerGroupDetailsGetter.ts +1 -1
- package/src/serverGroup/details/cloudFoundryServerGroupActions.tsx +39 -25
- package/src/serverGroup/details/mapLoadBalancers/CloudFoundryMapLoadBalancersModal.tsx +19 -6
- package/src/serverGroup/details/mapLoadBalancers/CloudFoundryUnmapLoadBalancersModal.tsx +19 -6
- package/src/serverGroup/details/resize/CloudFoundryResizeServerGroupModal.tsx +19 -6
- package/src/serverGroup/details/rollback/CloudFoundryRollbackServerGroupModal.tsx +13 -6
- package/src/serverGroup/serverGroup.transformer.ts +2 -5
|
@@ -5,7 +5,7 @@ import type { IServerGroupDetailsProps } from '@spinnaker/core';
|
|
|
5
5
|
import { ServerGroupReader } from '@spinnaker/core';
|
|
6
6
|
import type { ICloudFoundryLoadBalancer, ICloudFoundryServerGroup } from '../../domain';
|
|
7
7
|
|
|
8
|
-
function extractServerGroupSummary(props: IServerGroupDetailsProps):
|
|
8
|
+
function extractServerGroupSummary(props: IServerGroupDetailsProps): Promise<ICloudFoundryServerGroup> {
|
|
9
9
|
const { app, serverGroup } = props;
|
|
10
10
|
return app.ready().then(() => {
|
|
11
11
|
let summary: ICloudFoundryServerGroup = app.serverGroups.data.find((toCheck: ICloudFoundryServerGroup) => {
|
|
@@ -2,14 +2,15 @@ import { filter, find, get, orderBy } from 'lodash';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { Dropdown, Tooltip } from 'react-bootstrap';
|
|
4
4
|
|
|
5
|
-
import type { IOwnerOption, IServerGroupActionsProps, IServerGroupJob } from '@spinnaker/core';
|
|
5
|
+
import type { IOwnerOption, IRouterInjectedProps, IServerGroupActionsProps, IServerGroupJob } from '@spinnaker/core';
|
|
6
6
|
import {
|
|
7
7
|
AddEntityTagLinks,
|
|
8
8
|
ClusterTargetBuilder,
|
|
9
9
|
ConfirmationModalService,
|
|
10
|
-
|
|
10
|
+
DeckRuntimeContext,
|
|
11
11
|
ServerGroupWarningMessageService,
|
|
12
12
|
SETTINGS,
|
|
13
|
+
withRouter,
|
|
13
14
|
} from '@spinnaker/core';
|
|
14
15
|
|
|
15
16
|
import { CloudFoundryServerGroupCommandBuilder } from '../configure';
|
|
@@ -28,7 +29,12 @@ export interface ICloudFoundryServerGroupJob extends IServerGroupJob {
|
|
|
28
29
|
serverGroupId: string;
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
export class
|
|
32
|
+
export class CloudFoundryServerGroupActionsComponent extends React.Component<
|
|
33
|
+
ICloudFoundryServerGroupActionsProps & IRouterInjectedProps
|
|
34
|
+
> {
|
|
35
|
+
public static contextType = DeckRuntimeContext;
|
|
36
|
+
public declare context: React.ContextType<typeof DeckRuntimeContext>;
|
|
37
|
+
|
|
32
38
|
private isEnableLocked(): boolean {
|
|
33
39
|
if (this.props.serverGroup.isDisabled) {
|
|
34
40
|
const resizeTasks = (this.props.serverGroup.runningTasks || []).filter((task) =>
|
|
@@ -79,15 +85,15 @@ export class CloudFoundryServerGroupActions extends React.Component<ICloudFoundr
|
|
|
79
85
|
application: app,
|
|
80
86
|
title: 'Destroying ' + serverGroup.name,
|
|
81
87
|
onTaskComplete: () => {
|
|
82
|
-
if (
|
|
83
|
-
|
|
88
|
+
if (this.props.stateService.includes('**.serverGroup', stateParams)) {
|
|
89
|
+
this.props.stateService.go('^');
|
|
84
90
|
}
|
|
85
91
|
},
|
|
86
92
|
};
|
|
87
93
|
|
|
88
94
|
const submitMethod = (params: ICloudFoundryServerGroupJob) => {
|
|
89
95
|
params.serverGroupName = serverGroup.name;
|
|
90
|
-
return
|
|
96
|
+
return this.context.services.serverGroupWriter.destroyServerGroup(serverGroup, app, params);
|
|
91
97
|
};
|
|
92
98
|
|
|
93
99
|
const confirmationModalParams = {
|
|
@@ -120,7 +126,7 @@ export class CloudFoundryServerGroupActions extends React.Component<ICloudFoundr
|
|
|
120
126
|
|
|
121
127
|
const submitMethod = (params: ICloudFoundryServerGroupJob) => {
|
|
122
128
|
params.serverGroupName = serverGroup.name;
|
|
123
|
-
return
|
|
129
|
+
return this.context.services.serverGroupWriter.disableServerGroup(serverGroup, app.name, params);
|
|
124
130
|
};
|
|
125
131
|
|
|
126
132
|
const confirmationModalParams = {
|
|
@@ -178,7 +184,7 @@ export class CloudFoundryServerGroupActions extends React.Component<ICloudFoundr
|
|
|
178
184
|
|
|
179
185
|
const submitMethod = (params: ICloudFoundryServerGroupJob) => {
|
|
180
186
|
params.serverGroupName = serverGroup.name;
|
|
181
|
-
return
|
|
187
|
+
return this.context.services.serverGroupWriter.enableServerGroup(serverGroup, app, params);
|
|
182
188
|
};
|
|
183
189
|
|
|
184
190
|
const confirmationModalParams = {
|
|
@@ -242,41 +248,47 @@ export class CloudFoundryServerGroupActions extends React.Component<ICloudFoundr
|
|
|
242
248
|
region: serverGroup.region,
|
|
243
249
|
}) as ICloudFoundryServerGroup[];
|
|
244
250
|
|
|
245
|
-
CloudFoundryRollbackServerGroupModal.show(
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
251
|
+
CloudFoundryRollbackServerGroupModal.show(
|
|
252
|
+
{
|
|
253
|
+
serverGroup,
|
|
254
|
+
previousServerGroup,
|
|
255
|
+
disabledServerGroups: disabledServerGroups.sort((a, b) => b.name.localeCompare(a.name)),
|
|
256
|
+
allServerGroups: allServerGroups.sort((a, b) => b.name.localeCompare(a.name)),
|
|
257
|
+
application: app,
|
|
258
|
+
},
|
|
259
|
+
this.context.services,
|
|
260
|
+
);
|
|
252
261
|
};
|
|
253
262
|
|
|
254
263
|
private resizeServerGroup = (): void => {
|
|
255
264
|
const { app, serverGroup } = this.props;
|
|
256
|
-
CloudFoundryResizeServerGroupModal.show({ application: app, serverGroup });
|
|
265
|
+
CloudFoundryResizeServerGroupModal.show({ application: app, serverGroup }, this.context.services);
|
|
257
266
|
};
|
|
258
267
|
|
|
259
268
|
private mapServerGroupToLoadBalancers = (): void => {
|
|
260
269
|
const { app, serverGroup } = this.props;
|
|
261
|
-
CloudFoundryMapLoadBalancersModal.show({ application: app, serverGroup });
|
|
270
|
+
CloudFoundryMapLoadBalancersModal.show({ application: app, serverGroup }, this.context.services);
|
|
262
271
|
};
|
|
263
272
|
|
|
264
273
|
private unmapServerGroupFromLoadBalancers = (): void => {
|
|
265
274
|
const { app, serverGroup } = this.props;
|
|
266
|
-
CloudFoundryUnmapLoadBalancersModal.show({ application: app, serverGroup });
|
|
275
|
+
CloudFoundryUnmapLoadBalancersModal.show({ application: app, serverGroup }, this.context.services);
|
|
267
276
|
};
|
|
268
277
|
|
|
269
278
|
private cloneServerGroup = (): void => {
|
|
270
279
|
const { app, serverGroup } = this.props;
|
|
271
280
|
const command = CloudFoundryServerGroupCommandBuilder.buildServerGroupCommandFromExisting(app, serverGroup);
|
|
272
281
|
const title = `Clone ${serverGroup.name}`;
|
|
273
|
-
CloudFoundryCreateServerGroupModal.show(
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
282
|
+
CloudFoundryCreateServerGroupModal.show(
|
|
283
|
+
{
|
|
284
|
+
application: app,
|
|
285
|
+
command,
|
|
286
|
+
isSourceConstant: true,
|
|
287
|
+
serverGroup,
|
|
288
|
+
title,
|
|
289
|
+
},
|
|
290
|
+
this.context.services,
|
|
291
|
+
);
|
|
280
292
|
};
|
|
281
293
|
|
|
282
294
|
public render(): JSX.Element {
|
|
@@ -363,3 +375,5 @@ export class CloudFoundryServerGroupActions extends React.Component<ICloudFoundr
|
|
|
363
375
|
);
|
|
364
376
|
}
|
|
365
377
|
}
|
|
378
|
+
|
|
379
|
+
export const CloudFoundryServerGroupActions = withRouter(CloudFoundryServerGroupActionsComponent);
|
|
@@ -3,16 +3,23 @@ import { Form } from 'formik';
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Modal, ModalFooter } from 'react-bootstrap';
|
|
5
5
|
|
|
6
|
-
import type {
|
|
6
|
+
import type {
|
|
7
|
+
Application,
|
|
8
|
+
DeckRuntimeServices,
|
|
9
|
+
IModalComponentProps,
|
|
10
|
+
IServerGroup,
|
|
11
|
+
IServerGroupJob,
|
|
12
|
+
} from '@spinnaker/core';
|
|
7
13
|
import {
|
|
14
|
+
DeckRuntimeContext,
|
|
8
15
|
ModalClose,
|
|
9
16
|
noop,
|
|
10
|
-
ReactInjector,
|
|
11
17
|
ReactModal,
|
|
12
18
|
SpinFormik,
|
|
13
19
|
TaskMonitor,
|
|
14
20
|
TaskMonitorWrapper,
|
|
15
21
|
} from '@spinnaker/core';
|
|
22
|
+
|
|
16
23
|
import type { ICloudFoundryServerGroup } from '../../../domain';
|
|
17
24
|
import { Routes } from '../../../presentation/forms/serverGroup';
|
|
18
25
|
|
|
@@ -39,6 +46,9 @@ export class CloudFoundryMapLoadBalancersModal extends React.Component<
|
|
|
39
46
|
ICloudFoundryLoadBalancerLinksModalProps,
|
|
40
47
|
ICloudFoundryLoadBalancerLinksModalState
|
|
41
48
|
> {
|
|
49
|
+
public static contextType = DeckRuntimeContext;
|
|
50
|
+
public declare context: React.ContextType<typeof DeckRuntimeContext>;
|
|
51
|
+
|
|
42
52
|
public static defaultProps: Partial<ICloudFoundryLoadBalancerLinksModalProps> = {
|
|
43
53
|
closeModal: noop,
|
|
44
54
|
dismissModal: noop,
|
|
@@ -46,8 +56,11 @@ export class CloudFoundryMapLoadBalancersModal extends React.Component<
|
|
|
46
56
|
|
|
47
57
|
private formikRef = React.createRef<Formik<ICloudFoundryLoadBalancerLinksModalValues>>();
|
|
48
58
|
|
|
49
|
-
public static show(
|
|
50
|
-
|
|
59
|
+
public static show(
|
|
60
|
+
props: ICloudFoundryLoadBalancerLinksModalProps,
|
|
61
|
+
runtimeServices: DeckRuntimeServices,
|
|
62
|
+
): Promise<ICloudFoundryLoadBalancerLinkJob> {
|
|
63
|
+
return ReactModal.show(CloudFoundryMapLoadBalancersModal, props, {}, runtimeServices);
|
|
51
64
|
}
|
|
52
65
|
|
|
53
66
|
constructor(props: ICloudFoundryLoadBalancerLinksModalProps) {
|
|
@@ -60,7 +73,7 @@ export class CloudFoundryMapLoadBalancersModal extends React.Component<
|
|
|
60
73
|
taskMonitor: new TaskMonitor({
|
|
61
74
|
application: props.application,
|
|
62
75
|
title: 'Mapping a route to your server group',
|
|
63
|
-
|
|
76
|
+
onDismiss: () => this.props.dismissModal(),
|
|
64
77
|
onTaskComplete: () => this.props.application.serverGroups.refresh(),
|
|
65
78
|
}),
|
|
66
79
|
};
|
|
@@ -86,7 +99,7 @@ export class CloudFoundryMapLoadBalancersModal extends React.Component<
|
|
|
86
99
|
};
|
|
87
100
|
|
|
88
101
|
this.state.taskMonitor.submit(() => {
|
|
89
|
-
return
|
|
102
|
+
return this.context.services.serverGroupWriter.mapLoadBalancers(coreServerGroup, this.props.application, {
|
|
90
103
|
serverGroupName: serverGroup.name,
|
|
91
104
|
});
|
|
92
105
|
});
|
|
@@ -3,16 +3,23 @@ import { Form } from 'formik';
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Modal, ModalFooter } from 'react-bootstrap';
|
|
5
5
|
|
|
6
|
-
import type {
|
|
6
|
+
import type {
|
|
7
|
+
Application,
|
|
8
|
+
DeckRuntimeServices,
|
|
9
|
+
IModalComponentProps,
|
|
10
|
+
IServerGroup,
|
|
11
|
+
IServerGroupJob,
|
|
12
|
+
} from '@spinnaker/core';
|
|
7
13
|
import {
|
|
14
|
+
DeckRuntimeContext,
|
|
8
15
|
ModalClose,
|
|
9
16
|
noop,
|
|
10
|
-
ReactInjector,
|
|
11
17
|
ReactModal,
|
|
12
18
|
SpinFormik,
|
|
13
19
|
TaskMonitor,
|
|
14
20
|
TaskMonitorWrapper,
|
|
15
21
|
} from '@spinnaker/core';
|
|
22
|
+
|
|
16
23
|
import type { ICloudFoundryServerGroup } from '../../../domain';
|
|
17
24
|
import { Routes } from '../../../presentation/forms/serverGroup';
|
|
18
25
|
|
|
@@ -39,6 +46,9 @@ export class CloudFoundryUnmapLoadBalancersModal extends React.Component<
|
|
|
39
46
|
ICloudFoundryLoadBalancerLinksModalProps,
|
|
40
47
|
ICloudFoundryLoadBalancerLinksModalState
|
|
41
48
|
> {
|
|
49
|
+
public static contextType = DeckRuntimeContext;
|
|
50
|
+
public declare context: React.ContextType<typeof DeckRuntimeContext>;
|
|
51
|
+
|
|
42
52
|
public static defaultProps: Partial<ICloudFoundryLoadBalancerLinksModalProps> = {
|
|
43
53
|
closeModal: noop,
|
|
44
54
|
dismissModal: noop,
|
|
@@ -46,8 +56,11 @@ export class CloudFoundryUnmapLoadBalancersModal extends React.Component<
|
|
|
46
56
|
|
|
47
57
|
private formikRef = React.createRef<Formik<ICloudFoundryLoadBalancerLinksModalValues>>();
|
|
48
58
|
|
|
49
|
-
public static show(
|
|
50
|
-
|
|
59
|
+
public static show(
|
|
60
|
+
props: ICloudFoundryLoadBalancerLinksModalProps,
|
|
61
|
+
runtimeServices: DeckRuntimeServices,
|
|
62
|
+
): Promise<ICloudFoundryLoadBalancerLinkJob> {
|
|
63
|
+
return ReactModal.show(CloudFoundryUnmapLoadBalancersModal, props, {}, runtimeServices);
|
|
51
64
|
}
|
|
52
65
|
|
|
53
66
|
constructor(props: ICloudFoundryLoadBalancerLinksModalProps) {
|
|
@@ -60,7 +73,7 @@ export class CloudFoundryUnmapLoadBalancersModal extends React.Component<
|
|
|
60
73
|
taskMonitor: new TaskMonitor({
|
|
61
74
|
application: props.application,
|
|
62
75
|
title: 'Unmapping a route from your server group',
|
|
63
|
-
|
|
76
|
+
onDismiss: () => this.props.dismissModal(),
|
|
64
77
|
onTaskComplete: () => this.props.application.serverGroups.refresh(),
|
|
65
78
|
}),
|
|
66
79
|
};
|
|
@@ -86,7 +99,7 @@ export class CloudFoundryUnmapLoadBalancersModal extends React.Component<
|
|
|
86
99
|
};
|
|
87
100
|
|
|
88
101
|
this.state.taskMonitor.submit(() => {
|
|
89
|
-
return
|
|
102
|
+
return this.context.services.serverGroupWriter.unmapLoadBalancers(coreServerGroup, this.props.application, {
|
|
90
103
|
serverGroupName: serverGroup.name,
|
|
91
104
|
});
|
|
92
105
|
});
|
|
@@ -3,19 +3,26 @@ import { Form } from 'formik';
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Modal, ModalFooter } from 'react-bootstrap';
|
|
5
5
|
|
|
6
|
-
import type {
|
|
6
|
+
import type {
|
|
7
|
+
Application,
|
|
8
|
+
DeckRuntimeServices,
|
|
9
|
+
ICapacity,
|
|
10
|
+
IModalComponentProps,
|
|
11
|
+
IServerGroupJob,
|
|
12
|
+
} from '@spinnaker/core';
|
|
7
13
|
import {
|
|
14
|
+
DeckRuntimeContext,
|
|
8
15
|
FormikFormField,
|
|
9
16
|
ModalClose,
|
|
10
17
|
noop,
|
|
11
18
|
NumberInput,
|
|
12
|
-
ReactInjector,
|
|
13
19
|
ReactModal,
|
|
14
20
|
SpinFormik,
|
|
15
21
|
TaskMonitor,
|
|
16
22
|
TaskMonitorWrapper,
|
|
17
23
|
TaskReason,
|
|
18
24
|
} from '@spinnaker/core';
|
|
25
|
+
|
|
19
26
|
import type { ICloudFoundryServerGroup } from '../../../domain';
|
|
20
27
|
|
|
21
28
|
export interface ICloudFoundryResizeServerGroupModalProps extends IModalComponentProps {
|
|
@@ -48,6 +55,9 @@ export class CloudFoundryResizeServerGroupModal extends React.Component<
|
|
|
48
55
|
ICloudFoundryResizeServerGroupModalProps,
|
|
49
56
|
ICloudFoundryResizeServerGroupModalState
|
|
50
57
|
> {
|
|
58
|
+
public static contextType = DeckRuntimeContext;
|
|
59
|
+
public declare context: React.ContextType<typeof DeckRuntimeContext>;
|
|
60
|
+
|
|
51
61
|
public static defaultProps: Partial<ICloudFoundryResizeServerGroupModalProps> = {
|
|
52
62
|
closeModal: noop,
|
|
53
63
|
dismissModal: noop,
|
|
@@ -55,9 +65,12 @@ export class CloudFoundryResizeServerGroupModal extends React.Component<
|
|
|
55
65
|
|
|
56
66
|
private formikRef = React.createRef<Formik<ICloudFoundryResizeServerGroupValues>>();
|
|
57
67
|
|
|
58
|
-
public static show(
|
|
68
|
+
public static show(
|
|
69
|
+
props: ICloudFoundryResizeServerGroupModalProps,
|
|
70
|
+
runtimeServices: DeckRuntimeServices,
|
|
71
|
+
): Promise<ICloudFoundryResizeJob> {
|
|
59
72
|
const modalProps = {};
|
|
60
|
-
return ReactModal.show(CloudFoundryResizeServerGroupModal, props, modalProps);
|
|
73
|
+
return ReactModal.show(CloudFoundryResizeServerGroupModal, props, modalProps, runtimeServices);
|
|
61
74
|
}
|
|
62
75
|
|
|
63
76
|
constructor(props: ICloudFoundryResizeServerGroupModalProps) {
|
|
@@ -74,7 +87,7 @@ export class CloudFoundryResizeServerGroupModal extends React.Component<
|
|
|
74
87
|
taskMonitor: new TaskMonitor({
|
|
75
88
|
application: props.application,
|
|
76
89
|
title: 'Resizing your server group',
|
|
77
|
-
|
|
90
|
+
onDismiss: () => this.props.dismissModal(),
|
|
78
91
|
onTaskComplete: () => this.props.application.serverGroups.refresh(),
|
|
79
92
|
}),
|
|
80
93
|
};
|
|
@@ -102,7 +115,7 @@ export class CloudFoundryResizeServerGroupModal extends React.Component<
|
|
|
102
115
|
};
|
|
103
116
|
|
|
104
117
|
this.state.taskMonitor.submit(() => {
|
|
105
|
-
return
|
|
118
|
+
return this.context.services.serverGroupWriter.resizeServerGroup(serverGroup, application, command);
|
|
106
119
|
});
|
|
107
120
|
};
|
|
108
121
|
|
|
@@ -3,12 +3,12 @@ import { Form } from 'formik';
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Modal, ModalFooter } from 'react-bootstrap';
|
|
5
5
|
|
|
6
|
-
import type { Application, IModalComponentProps, IServerGroupJob } from '@spinnaker/core';
|
|
6
|
+
import type { Application, DeckRuntimeServices, IModalComponentProps, IServerGroupJob } from '@spinnaker/core';
|
|
7
7
|
import {
|
|
8
|
+
DeckRuntimeContext,
|
|
8
9
|
FormikFormField,
|
|
9
10
|
ModalClose,
|
|
10
11
|
noop,
|
|
11
|
-
ReactInjector,
|
|
12
12
|
ReactModal,
|
|
13
13
|
ReactSelectInput,
|
|
14
14
|
SpinFormik,
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
TaskMonitorWrapper,
|
|
17
17
|
TaskReason,
|
|
18
18
|
} from '@spinnaker/core';
|
|
19
|
+
|
|
19
20
|
import type { ICloudFoundryServerGroup } from '../../../domain';
|
|
20
21
|
|
|
21
22
|
export interface ICloudFoundryRollbackServerGroupModalProps extends IModalComponentProps {
|
|
@@ -49,6 +50,9 @@ export class CloudFoundryRollbackServerGroupModal extends React.Component<
|
|
|
49
50
|
ICloudFoundryRollbackServerGroupModalProps,
|
|
50
51
|
ICloudFoundryRollbackServerGroupModalState
|
|
51
52
|
> {
|
|
53
|
+
public static contextType = DeckRuntimeContext;
|
|
54
|
+
public declare context: React.ContextType<typeof DeckRuntimeContext>;
|
|
55
|
+
|
|
52
56
|
public static defaultProps: Partial<ICloudFoundryRollbackServerGroupModalProps> = {
|
|
53
57
|
closeModal: noop,
|
|
54
58
|
dismissModal: noop,
|
|
@@ -56,9 +60,12 @@ export class CloudFoundryRollbackServerGroupModal extends React.Component<
|
|
|
56
60
|
|
|
57
61
|
private formikRef = React.createRef<Formik<ICloudFoundryRollbackServerGroupValues>>();
|
|
58
62
|
|
|
59
|
-
public static show(
|
|
63
|
+
public static show(
|
|
64
|
+
props: ICloudFoundryRollbackServerGroupModalProps,
|
|
65
|
+
runtimeServices: DeckRuntimeServices,
|
|
66
|
+
): Promise<ICloudFoundryRollbackJob> {
|
|
60
67
|
const modalProps = {};
|
|
61
|
-
return ReactModal.show(CloudFoundryRollbackServerGroupModal, props, modalProps);
|
|
68
|
+
return ReactModal.show(CloudFoundryRollbackServerGroupModal, props, modalProps, runtimeServices);
|
|
62
69
|
}
|
|
63
70
|
|
|
64
71
|
constructor(props: ICloudFoundryRollbackServerGroupModalProps) {
|
|
@@ -73,7 +80,7 @@ export class CloudFoundryRollbackServerGroupModal extends React.Component<
|
|
|
73
80
|
taskMonitor: new TaskMonitor({
|
|
74
81
|
application: props.application,
|
|
75
82
|
title: 'Rollback ' + name,
|
|
76
|
-
|
|
83
|
+
onDismiss: () => this.props.dismissModal(),
|
|
77
84
|
onTaskComplete: () => this.props.application.serverGroups.refresh(),
|
|
78
85
|
}),
|
|
79
86
|
};
|
|
@@ -98,7 +105,7 @@ export class CloudFoundryRollbackServerGroupModal extends React.Component<
|
|
|
98
105
|
};
|
|
99
106
|
|
|
100
107
|
this.state.taskMonitor.submit(() => {
|
|
101
|
-
return
|
|
108
|
+
return this.context.services.serverGroupWriter.rollbackServerGroup(serverGroup, application, command);
|
|
102
109
|
});
|
|
103
110
|
};
|
|
104
111
|
|
|
@@ -3,15 +3,12 @@ import { defaults } from 'lodash';
|
|
|
3
3
|
import type { ICloudFoundryEnvVar, ICloudFoundryServerGroup } from '../domain';
|
|
4
4
|
|
|
5
5
|
export class CloudFoundryServerGroupTransformer {
|
|
6
|
-
public static $inject = ['$q'];
|
|
7
|
-
public constructor(private $q: ng.IQService) {}
|
|
8
|
-
|
|
9
6
|
public normalizeServerGroupDetails(serverGroup: ICloudFoundryServerGroup): ICloudFoundryServerGroup {
|
|
10
7
|
return serverGroup;
|
|
11
8
|
}
|
|
12
9
|
|
|
13
|
-
public normalizeServerGroup(serverGroup: ICloudFoundryServerGroup):
|
|
14
|
-
return
|
|
10
|
+
public normalizeServerGroup(serverGroup: ICloudFoundryServerGroup): Promise<ICloudFoundryServerGroup> {
|
|
11
|
+
return Promise.resolve(serverGroup);
|
|
15
12
|
}
|
|
16
13
|
|
|
17
14
|
public convertServerGroupCommandToDeployConfiguration(base: any): any {
|