@spinnaker/core 0.14.1 → 0.16.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.
Files changed (224) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/dist/config/settings.d.ts +1 -1
  3. package/dist/core.module.d.ts +1 -1
  4. package/dist/index.js +89 -47
  5. package/dist/index.js.map +1 -1
  6. package/dist/instance/instanceType.service.d.ts +3 -2
  7. package/dist/managed/artifactActions/ArtifactActions.d.ts +24 -0
  8. package/dist/managed/constraints/registry.d.ts +13 -2
  9. package/dist/managed/environmentBaseElements/EnvironmentItem.d.ts +3 -2
  10. package/dist/managed/graphql/graphql-sdk.d.ts +123 -11
  11. package/dist/managed/overview/Resource.d.ts +5 -2
  12. package/dist/managed/overview/artifact/Artifact.d.ts +2 -1
  13. package/dist/managed/overview/artifact/ArtifactActionModal.d.ts +20 -9
  14. package/dist/managed/overview/artifact/ArtifactCollapsibleSection.d.ts +7 -0
  15. package/dist/managed/overview/artifact/ArtifactVersions.d.ts +9 -0
  16. package/dist/managed/overview/artifact/CurrentVersion.d.ts +7 -6
  17. package/dist/managed/overview/artifact/VersionTitle.d.ts +9 -0
  18. package/dist/managed/overview/artifact/hooks.d.ts +6 -11
  19. package/dist/managed/overview/artifact/useCreateRollbackActions.hook.d.ts +3 -0
  20. package/dist/managed/overview/artifact/utils.d.ts +15 -14
  21. package/dist/managed/overview/useIsUpdatingResources.hook.d.ts +1 -0
  22. package/dist/managed/resources/ResourceTitle.d.ts +3 -3
  23. package/dist/managed/resources/resourceRegistry.d.ts +1 -1
  24. package/dist/managed/utils/ActionModal.d.ts +1 -0
  25. package/dist/managed/utils/defaults.d.ts +1 -0
  26. package/dist/managed/versionMetadata/MetadataComponents.d.ts +18 -19
  27. package/dist/managed/versionMetadata/VersionMetadata.d.ts +6 -2
  28. package/dist/search/infrastructure/infrastructureSearch.service.d.ts +2 -1
  29. package/dist/securityGroup/index.d.ts +2 -1
  30. package/package.json +6 -6
  31. package/src/account/AccountSelectInput.spec.tsx +9 -4
  32. package/src/account/AccountService.spec.ts +6 -6
  33. package/src/api/ApiService.spec.ts +2 -2
  34. package/src/api/ApiServiceDeprecated.spec.ts +5 -2
  35. package/src/application/application.model.spec.ts +78 -79
  36. package/src/application/applications.state.provider.ts +1 -1
  37. package/src/application/config/applicationAttributes.directive.html +6 -2
  38. package/src/application/config/applicationAttributes.directive.js +4 -0
  39. package/src/application/config/applicationConfig.view.html +14 -1
  40. package/src/application/config/customBanner/CustomBannerConfig.spec.tsx +3 -3
  41. package/src/application/config/dataSources/applicationDataSourceEditor.component.spec.ts +4 -3
  42. package/src/application/config/footer/configSectionFooter.component.spec.ts +2 -1
  43. package/src/application/listExtractor/AppListExtractor.spec.ts +4 -4
  44. package/src/application/modal/PermissionsConfigurer.spec.tsx +3 -2
  45. package/src/application/modal/createApplication.modal.controller.js +7 -6
  46. package/src/application/modal/createApplication.modal.controller.spec.js +1 -0
  47. package/src/application/modal/editApplication.controller.modal.js +1 -0
  48. package/src/application/modal/editApplication.html +2 -2
  49. package/src/application/modal/validation/ApplicationNameValidator.spec.ts +2 -1
  50. package/src/application/modal/validation/validateApplicationName.directive.spec.ts +3 -2
  51. package/src/application/nav/ApplicationNavigation.spec.tsx +12 -11
  52. package/src/application/nav/NavItem.spec.tsx +7 -5
  53. package/src/application/nav/NavSection.spec.tsx +3 -2
  54. package/src/application/search/Applications.tsx +48 -0
  55. package/src/application/service/ApplicationReader.spec.ts +13 -8
  56. package/src/application/service/ApplicationWriter.spec.ts +4 -2
  57. package/src/application/service/InferredApplicationWarningService.spec.ts +2 -3
  58. package/src/artifact/expectedArtifact.service.spec.ts +2 -1
  59. package/src/artifact/react/ExpectedArtifactSelector.spec.tsx +2 -3
  60. package/src/authentication/AuthenticationInitializer.spec.ts +2 -1
  61. package/src/authentication/AuthenticationService.spec.ts +2 -1
  62. package/src/authentication/authentication.interceptor.spec.ts +4 -2
  63. package/src/cache/cacheInitializer.service.spec.ts +7 -4
  64. package/src/cache/infrastructureCaches.spec.ts +4 -4
  65. package/src/chaosMonkey/chaosMonkeyExceptions.component.spec.ts +4 -2
  66. package/src/cloudProvider/providerSelection/ProviderSelectionService.spec.ts +23 -21
  67. package/src/cluster/ClusterRuleMatcher.spec.ts +2 -1
  68. package/src/cluster/cluster.service.spec.ts +7 -7
  69. package/src/cluster/filter/ClusterFilterService.spec.ts +15 -14
  70. package/src/cluster/filter/LabelFilter.spec.tsx +3 -3
  71. package/src/cluster/filter/MultiselectModel.spec.ts +2 -2
  72. package/src/cluster/filter/labelFilterUtils.spec.ts +3 -7
  73. package/src/config/settings.ts +1 -3
  74. package/src/core.module.ts +1 -1
  75. package/src/filterModel/dependentFilter/DependentFilterService.spec.ts +1 -1
  76. package/src/function/filter/FunctionFilterService.spec.ts +5 -3
  77. package/src/function/function.read.service.spec.ts +4 -3
  78. package/src/header/customBanner/CustomBanner.spec.tsx +3 -4
  79. package/src/healthCounts/HealthCounts.spec.tsx +2 -2
  80. package/src/history/recentHistory.service.spec.ts +2 -1
  81. package/src/insight/InsightMenu.spec.tsx +9 -6
  82. package/src/insight/InsightMenu.tsx +3 -0
  83. package/src/instance/instance.write.service.spec.ts +8 -7
  84. package/src/instance/instanceType.service.ts +12 -2
  85. package/src/instance/instanceTypeService.spec.ts +2 -1
  86. package/src/loadBalancer/LoadBalancersTag.spec.tsx +8 -6
  87. package/src/loadBalancer/filter/LoadBalancerFilterService.spec.ts +2 -2
  88. package/src/managed/Environments.less +4 -4
  89. package/src/managed/Environments.tsx +1 -1
  90. package/src/managed/RelativeTimestamp.tsx +8 -6
  91. package/src/managed/artifactActions/ArtifactActions.tsx +77 -0
  92. package/src/managed/constraints/AllowedTimes.spec.ts +2 -1
  93. package/src/managed/constraints/registry.tsx +27 -1
  94. package/src/managed/environmentBaseElements/BaseEnvironment.less +3 -3
  95. package/src/managed/environmentBaseElements/EnvironmentItem.tsx +11 -4
  96. package/src/managed/graphql/graphql-sdk.ts +218 -29
  97. package/src/managed/graphql/schema.graphql +14 -1
  98. package/src/managed/overview/EnvironmentOverview.tsx +12 -15
  99. package/src/managed/overview/EnvironmentsOverview.less +6 -5
  100. package/src/managed/overview/PreviewEnvironments.tsx +0 -3
  101. package/src/managed/overview/Resource.less +1 -1
  102. package/src/managed/overview/Resource.tsx +62 -47
  103. package/src/managed/overview/artifact/Artifact.less +27 -52
  104. package/src/managed/overview/artifact/Artifact.tsx +86 -22
  105. package/src/managed/overview/artifact/ArtifactActionModal.less +19 -0
  106. package/src/managed/overview/artifact/ArtifactActionModal.tsx +150 -68
  107. package/src/managed/overview/artifact/ArtifactCollapsibleSection.tsx +32 -0
  108. package/src/managed/overview/artifact/ArtifactVersionTasks.tsx +2 -0
  109. package/src/managed/overview/artifact/{PendingVersion.tsx → ArtifactVersions.tsx} +35 -25
  110. package/src/managed/overview/artifact/Constraints.tsx +61 -21
  111. package/src/managed/overview/artifact/CurrentVersion.tsx +42 -27
  112. package/src/managed/overview/artifact/VersionTitle.tsx +18 -0
  113. package/src/managed/overview/artifact/hooks.ts +71 -34
  114. package/src/managed/overview/artifact/useCreateRollbackActions.hook.ts +75 -0
  115. package/src/managed/overview/artifact/utils.spec.ts +1 -1
  116. package/src/managed/overview/artifact/utils.ts +47 -80
  117. package/src/managed/overview/baseStyles.less +124 -88
  118. package/src/managed/overview/queries.graphql +54 -13
  119. package/src/managed/overview/useIsUpdatingResources.hook.ts +9 -0
  120. package/src/managed/resources/ResourceTitle.tsx +12 -5
  121. package/src/managed/utils/ActionModal.tsx +4 -1
  122. package/src/managed/utils/defaults.ts +3 -0
  123. package/src/managed/utils/useNotifyOnError.hook.ts +1 -1
  124. package/src/managed/versionMetadata/MetadataComponents.tsx +102 -70
  125. package/src/managed/versionMetadata/VersionMetadata.less +17 -18
  126. package/src/managed/versionMetadata/VersionMetadata.tsx +23 -31
  127. package/src/managed/versionsHistory/VersionContent.tsx +20 -13
  128. package/src/managed/versionsHistory/VersionHeading.tsx +2 -1
  129. package/src/managed/versionsHistory/VersionsHistory.less +11 -3
  130. package/src/manifest/PodNameProvider.spec.ts +1 -1
  131. package/src/navigation/customParamTypes.spec.ts +1 -1
  132. package/src/pagerDuty/pagerDuty.read.service.spec.ts +4 -2
  133. package/src/pagerDuty/pagerDutyTag.component.spec.ts +7 -3
  134. package/src/pipeline/config/PipelineRegistry.spec.ts +38 -37
  135. package/src/pipeline/config/actions/templateJson/ShowPipelineTemplateJsonModal.spec.tsx +3 -3
  136. package/src/pipeline/config/pipelineConfigurer.controller.spec.ts +3 -3
  137. package/src/pipeline/config/services/PipelineConfigService.spec.ts +4 -3
  138. package/src/pipeline/config/stages/bakeManifest/helm/BakeHelmConfigForm.spec.tsx +51 -8
  139. package/src/pipeline/config/stages/bakeManifest/helm/BakeHelmConfigForm.tsx +36 -6
  140. package/src/pipeline/config/stages/findArtifactFromExecution/findArtifactFromExecution.controller.spec.ts +2 -1
  141. package/src/pipeline/config/stages/manualJudgment/manualJudgment.service.spec.ts +6 -4
  142. package/src/pipeline/config/stages/travis/travisExecutionDetails.controller.spec.ts +5 -2
  143. package/src/pipeline/config/stages/travis/travisStage.controller.spec.ts +3 -2
  144. package/src/pipeline/config/stages/unmatchedStageTypeStage/unmatchedStageTypeStage.controller.spec.ts +2 -1
  145. package/src/pipeline/config/stages/wait/SkipWait.tsx +3 -1
  146. package/src/pipeline/config/stages/wercker/werckerExecutionDetails.controller.spec.ts +5 -2
  147. package/src/pipeline/config/stages/wercker/werckerStage.controller.spec.ts +3 -2
  148. package/src/pipeline/config/templates/Variable.spec.tsx +6 -5
  149. package/src/pipeline/config/templates/configurePipelineTemplateModal.controller.spec.ts +7 -8
  150. package/src/pipeline/config/templates/v2/configurePipelineTemplateModalV2.controller.spec.ts +7 -8
  151. package/src/pipeline/config/templates/v2/pipelineTemplateV2.service.spec.ts +1 -1
  152. package/src/pipeline/config/triggers/TriggersPageContent.spec.tsx +4 -4
  153. package/src/pipeline/config/triggers/TriggersPageContent.tsx +1 -2
  154. package/src/pipeline/config/triggers/artifacts/docker/defaultDocker.artifact.spec.ts +1 -2
  155. package/src/pipeline/config/validation/pipelineConfig.validator.spec.ts +14 -15
  156. package/src/pipeline/create/CreatePipelineModal.spec.tsx +9 -7
  157. package/src/pipeline/details/executionDetailsSection.service.spec.ts +3 -2
  158. package/src/pipeline/executions/Executions.spec.tsx +9 -6
  159. package/src/pipeline/executions/executionAction/ExecutionAction.spec.tsx +1 -1
  160. package/src/pipeline/executions/executionGroup/ExecutionGroup.tsx +2 -1
  161. package/src/pipeline/filter/executionFilter.service.spec.ts +1 -1
  162. package/src/pipeline/pipeline.dataSource.spec.ts +8 -7
  163. package/src/pipeline/service/ExecutionsTransformer.spec.ts +2 -2
  164. package/src/pipeline/service/execution.service.spec.ts +7 -5
  165. package/src/pipeline/status/Artifact.spec.tsx +7 -6
  166. package/src/pipeline/status/ArtifactList.spec.tsx +7 -6
  167. package/src/pipeline/status/ExecutionParameters.spec.tsx +5 -4
  168. package/src/pipeline/status/ResolvedArtifactList.spec.tsx +7 -6
  169. package/src/plugins/deck.plugin.spec.ts +4 -2
  170. package/src/plugins/plugin.registry.spec.ts +6 -4
  171. package/src/presentation/forms/SpinFormik.spec.tsx +3 -2
  172. package/src/presentation/forms/fields/FormikFormField.spec.tsx +3 -3
  173. package/src/presentation/forms/hooks/useSaveRestoreMutuallyExclusiveFields.hook.spec.tsx +4 -3
  174. package/src/presentation/forms/inputs/ChecklistInput.spec.tsx +1 -1
  175. package/src/presentation/forms/inputs/RadioButtonInput.spec.tsx +2 -1
  176. package/src/presentation/forms/inputs/SelectInput.spec.tsx +2 -1
  177. package/src/presentation/forms/inputs/hooks/useInternalValidator.hook.spec.tsx +4 -3
  178. package/src/presentation/forms/validation/FormValidator.spec.ts +2 -2
  179. package/src/presentation/forms/validation/useValidationData.spec.tsx +4 -3
  180. package/src/presentation/hooks/useContainerClassNames.hook.spec.tsx +2 -1
  181. package/src/presentation/hooks/useData.hook.spec.tsx +3 -2
  182. package/src/presentation/hooks/useDebouncedValue.hook.spec.tsx +1 -1
  183. package/src/presentation/hooks/useDeepObjectDiff.hook.spec.tsx +2 -1
  184. package/src/presentation/hooks/useEventListener.hook.spec.tsx +2 -1
  185. package/src/presentation/hooks/useForceUpdate.hook.spec.tsx +2 -1
  186. package/src/presentation/hooks/useInterval.hook.spec.tsx +2 -1
  187. package/src/presentation/hooks/useIsMountedRef.hook.spec.tsx +1 -1
  188. package/src/presentation/hooks/useLatestCallback.hook.spec.tsx +2 -1
  189. package/src/presentation/hooks/useLatestPromise.hook.spec.tsx +9 -3
  190. package/src/presentation/hooks/useMountStatusRef.hook.spec.tsx +3 -1
  191. package/src/presentation/hooks/usePollingData.hook.spec.tsx +3 -2
  192. package/src/presentation/hooks/usePrevious.hook.spec.tsx +2 -1
  193. package/src/presentation/navigation/pageNavigator.component.spec.ts +6 -6
  194. package/src/presentation/spel/SpelInput.spec.tsx +9 -4
  195. package/src/presentation/spel/SpelService.spec.ts +1 -1
  196. package/src/scheduler/SchedulerFactory.spec.ts +2 -1
  197. package/src/search/infrastructure/infrastructure.controller.js +3 -0
  198. package/src/search/infrastructure/infrastructureSearch.service.ts +3 -2
  199. package/src/search/widgets/Filter.spec.tsx +5 -3
  200. package/src/search/widgets/Filters.spec.tsx +5 -3
  201. package/src/search/widgets/Search.spec.tsx +4 -2
  202. package/src/securityGroup/index.ts +2 -1
  203. package/src/securityGroup/securityGroupReader.service.spec.ts +8 -10
  204. package/src/serverGroup/configure/common/deployInitializer.component.spec.ts +7 -3
  205. package/src/serverGroup/configure/common/v2instanceArchetypeSelector.component.ts +1 -1
  206. package/src/serverGroup/details/capacity/CapacityDetailsSection.spec.tsx +1 -1
  207. package/src/serverGroup/details/scalingActivities/ScalingActivitiesModal.spec.ts +2 -1
  208. package/src/serverGroup/details/serverGroupWarningMessage.service.spec.ts +4 -4
  209. package/src/serverGroup/serverGroupWriter.service.spec.ts +10 -8
  210. package/src/slack/SlackReader.spec.ts +2 -1
  211. package/src/subnet/subnet.read.service.spec.ts +4 -3
  212. package/src/task/monitor/taskMonitor.spec.ts +6 -5
  213. package/src/task/task.dataSource.spec.ts +5 -4
  214. package/src/task/task.write.service.spec.ts +3 -1
  215. package/src/utils/clipboard/CopyToClipboard.spec.tsx +2 -1
  216. package/src/utils/json/json.utility.service.spec.ts +2 -1
  217. package/src/utils/timeFormatters.spec.ts +3 -2
  218. package/src/utils/workerPool.spec.ts +2 -1
  219. package/src/widgets/ApplicationsPickerInput.spec.tsx +3 -2
  220. package/src/widgets/spelText/SpelAutocompleteService.spec.ts +4 -3
  221. package/src/widgets/tags/Tag.spec.tsx +4 -2
  222. package/src/widgets/tags/TagList.spec.tsx +5 -3
  223. package/src/yamlEditor/yamlEditorUtils.spec.ts +1 -1
  224. package/dist/managed/overview/artifact/PendingVersion.d.ts +0 -7
@@ -10,8 +10,8 @@ export interface IInstanceTypesByRegion {
10
10
  }
11
11
  export interface IInstanceStorage {
12
12
  type: string;
13
- size: number;
14
- count: number;
13
+ size?: number;
14
+ count?: number;
15
15
  isDefault?: boolean;
16
16
  }
17
17
  export interface IPreferredInstanceType {
@@ -53,6 +53,7 @@ export declare class InstanceTypeService {
53
53
  getAllTypesByRegion(cloudProvider: string): PromiseLike<IInstanceTypesByRegion>;
54
54
  getAvailableTypesForRegions(cloudProvider: string, instanceTypes: string[], regions: string[]): PromiseLike<string[]>;
55
55
  getCategoryForInstanceType(cloudProvider: string, instanceType: string): PromiseLike<string>;
56
+ getCategoryForMultipleInstanceTypes(cloudProvider: string, instanceTypes: string[]): Promise<string>;
56
57
  getInstanceTypeDetails(cloudProvider: string, instanceType: string): PromiseLike<IPreferredInstanceType>;
57
58
  private getInstanceTypeCategory;
58
59
  private getDelegate;
@@ -0,0 +1,24 @@
1
+ /// <reference types="react" />
2
+ import type { ICompareLinks } from '../versionMetadata/MetadataComponents';
3
+ export interface VersionAction {
4
+ onClick?: () => void;
5
+ href?: string;
6
+ content: string;
7
+ disabled?: boolean;
8
+ }
9
+ interface IArtifactActionsProps {
10
+ actions?: VersionAction[];
11
+ version: string;
12
+ buildNumber?: string;
13
+ compareLinks?: ICompareLinks;
14
+ className?: string;
15
+ }
16
+ export declare const ArtifactActions: ({ version, buildNumber, actions, compareLinks, className }: IArtifactActionsProps) => JSX.Element;
17
+ export interface ICompareToMenuProps {
18
+ id: string;
19
+ actions: VersionAction[];
20
+ title: string;
21
+ className?: string;
22
+ pullRight?: boolean;
23
+ }
24
+ export {};
@@ -16,6 +16,7 @@ export interface IConstraintHandler<K = string> {
16
16
  iconName: IconNames | {
17
17
  [status in ConstraintStatus | 'DEFAULT']?: IconNames;
18
18
  };
19
+ /** Stricter format of the title */
19
20
  displayTitle?: {
20
21
  /** A user friendly name of the constraint */
21
22
  displayName: string;
@@ -24,7 +25,7 @@ export interface IConstraintHandler<K = string> {
24
25
  constraint: RelaxedConstraint;
25
26
  }) => string;
26
27
  };
27
- /** Render function of the constraint title. If displayTitle exists it takes precedence */
28
+ /** DEPRECATED - Render function of the constraint title. If displayTitle exists it takes precedence */
28
29
  titleRender?: React.ComponentType<{
29
30
  constraint: RelaxedConstraint;
30
31
  }>;
@@ -36,14 +37,24 @@ export interface IConstraintHandler<K = string> {
36
37
  overrideActions?: {
37
38
  [status in ConstraintStatus]?: IConstraintOverrideAction[];
38
39
  };
40
+ /** determines when to show the restart constraint button. By default, only when the status is FAIL */
41
+ restartProps?: {
42
+ isVisible?: (props: {
43
+ constraint: RelaxedConstraint;
44
+ }) => boolean;
45
+ displayName?: string;
46
+ };
39
47
  }
40
48
  declare class ConstraintsManager extends BasePluginManager<IConstraintHandler> {
41
- getIcon(constraint: IConstraint | IBaseConstraint): "placeholder" | "menu" | "add" | "environment" | "config" | "artifact" | "close" | "play" | "plus" | "accordionCollapse" | "accordionExpand" | "accordionExpandAll" | "artifactApproved" | "artifactBad" | "artifactPending" | "artifactSkipped" | "bake" | "build" | "buildFail" | "buildSuccess" | "canaryConfig" | "canaryFail" | "canaryRunning" | "canaryPass" | "canaryMarginal" | "caretRight" | "checkBadge" | "checkboxIndeterminate" | "checkboxChecked" | "checkboxUnchecked" | "closeSmall" | "cloudDeployed" | "cloudError" | "cloudProgress" | "cloudDecommissioned" | "cloudWaiting" | "cluster" | "configJ" | "configM" | "configS" | "copyClipboard" | "done" | "duplicate" | "edit" | "fileJson" | "fn" | "fnNew" | "formDrag" | "formError" | "formInfo" | "formNetworkBad" | "formNetworkGood" | "formRefresh" | "formWarning" | "heart" | "history" | "instances" | "loadBalancer" | "manualJudgement" | "manualJudgementApproved" | "manualJudgementRejected" | "mdActuating" | "mdActuationLaunched" | "mdCreated" | "mdDelay" | "mdDeltaDetected" | "mdDeltaResolved" | "mdDiff" | "mdError" | "mdUnhappy" | "mdPaused" | "mdResumed" | "mdUnknown" | "mdConstraintGeneric" | "mdConstraintDependsOn" | "mdConstraintAllowedTimes" | "md" | "mdVerification" | "menuClose" | "minus" | "pin" | "resourceT" | "securityGroup" | "servergroupAws" | "spCIBranch" | "spCIBuild" | "spCICommit" | "spCIMaster" | "spCIMerged" | "spCIPullRequest" | "spCIPullRequestClosed" | "spEnvironments" | "spMenuAppInSync" | "spMenuAppUnsynced" | "spMenuCanaryConfig" | "spMenuCanaryReport" | "spMenuClusters" | "spMenuConfig" | "spMenuFunctions" | "spMenuK8s" | "spMenuLoadBalancers" | "spMenuMeme" | "spMenuPager" | "spMenuPipelines" | "spMenuProperties" | "spMenuSecurityGroups" | "spMenuTasks" | "spMenuTimeline" | "spMenuZuul" | "spel" | "templateFull" | "templateS" | "templateWorkflow" | "toggleOff" | "toggleOn" | "trash" | "unpin";
49
+ getIcon(constraint: IConstraint | IBaseConstraint): "placeholder" | "menu" | "add" | "environment" | "artifact" | "config" | "close" | "play" | "plus" | "accordionCollapse" | "accordionExpand" | "accordionExpandAll" | "artifactApproved" | "artifactBad" | "artifactPending" | "artifactSkipped" | "bake" | "build" | "buildFail" | "buildSuccess" | "canaryConfig" | "canaryFail" | "canaryRunning" | "canaryPass" | "canaryMarginal" | "caretRight" | "checkBadge" | "checkboxIndeterminate" | "checkboxChecked" | "checkboxUnchecked" | "closeSmall" | "cloudDeployed" | "cloudError" | "cloudProgress" | "cloudDecommissioned" | "cloudWaiting" | "cluster" | "configJ" | "configM" | "configS" | "copyClipboard" | "done" | "duplicate" | "edit" | "fileJson" | "fn" | "fnNew" | "formDrag" | "formError" | "formInfo" | "formNetworkBad" | "formNetworkGood" | "formRefresh" | "formWarning" | "heart" | "history" | "instances" | "loadBalancer" | "manualJudgement" | "manualJudgementApproved" | "manualJudgementRejected" | "mdActuating" | "mdActuationLaunched" | "mdCreated" | "mdDelay" | "mdDeltaDetected" | "mdDeltaResolved" | "mdDiff" | "mdError" | "mdUnhappy" | "mdPaused" | "mdResumed" | "mdUnknown" | "mdConstraintGeneric" | "mdConstraintDependsOn" | "mdConstraintAllowedTimes" | "md" | "mdVerification" | "menuClose" | "minus" | "pin" | "resourceT" | "securityGroup" | "servergroupAws" | "spCIBranch" | "spCIBuild" | "spCICommit" | "spCIMaster" | "spCIMerged" | "spCIPullRequest" | "spCIPullRequestClosed" | "spEnvironments" | "spMenuAppInSync" | "spMenuAppUnsynced" | "spMenuCanaryConfig" | "spMenuCanaryReport" | "spMenuClusters" | "spMenuConfig" | "spMenuFunctions" | "spMenuK8s" | "spMenuLoadBalancers" | "spMenuMeme" | "spMenuPager" | "spMenuPipelines" | "spMenuProperties" | "spMenuSecurityGroups" | "spMenuTasks" | "spMenuTimeline" | "spMenuZuul" | "spel" | "templateFull" | "templateS" | "templateWorkflow" | "toggleOff" | "toggleOn" | "trash" | "unpin";
42
50
  renderTitle(constraint: IConstraint): React.ReactNode;
43
51
  hasContent(constraint: IConstraint): boolean;
44
52
  renderDescription(constraint: IConstraint): React.ReactNode;
45
53
  getTimestamp(constraint: IConstraint, environment: IManagedArtifactVersionEnvironment): DateTime;
46
54
  getActions(constraint: IConstraint, environmentState?: IManagedArtifactVersionEnvironment['state']): IConstraintOverrideAction[];
55
+ private defaultShowRestart;
56
+ isRestartVisible(constraint: IConstraint): boolean;
57
+ getRestartDisplayName(constraint: IConstraint): string;
47
58
  }
48
59
  export declare const constraintsManager: ConstraintsManager;
49
60
  export {};
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
2
  import type { IIconProps } from '@spinnaker/presentation';
3
- interface IEnvironmentItemProps {
3
+ export interface IEnvironmentItemProps {
4
4
  title: string | React.ReactElement;
5
5
  className?: string;
6
6
  iconTooltip: string;
7
7
  iconName: IIconProps['name'];
8
+ withPadding?: boolean;
8
9
  size?: 'regular' | 'small';
10
+ rightElement?: React.ReactElement;
9
11
  }
10
12
  export declare const EnvironmentItem: React.FC<IEnvironmentItemProps>;
11
- export {};
@@ -55,6 +55,8 @@ export interface MdArtifact {
55
55
  reference: Scalars['String'];
56
56
  versions?: Maybe<Array<MdArtifactVersionInEnvironment>>;
57
57
  pinnedVersion?: Maybe<MdPinnedVersion>;
58
+ latestApprovedVersion?: Maybe<MdArtifactVersionInEnvironment>;
59
+ resources?: Maybe<Array<MdResource>>;
58
60
  }
59
61
  export interface MdArtifactVersionsArgs {
60
62
  statuses?: Maybe<Array<MdArtifactStatusInEnvironment>>;
@@ -76,7 +78,6 @@ export interface MdArtifactVersionInEnvironment {
76
78
  buildNumber?: Maybe<Scalars['String']>;
77
79
  createdAt?: Maybe<Scalars['InstantTime']>;
78
80
  deployedAt?: Maybe<Scalars['InstantTime']>;
79
- resources?: Maybe<Array<MdResource>>;
80
81
  gitMetadata?: Maybe<MdGitMetadata>;
81
82
  packageDiff?: Maybe<MdPackageDiff>;
82
83
  environment?: Maybe<Scalars['String']>;
@@ -288,6 +289,7 @@ export interface MdResource {
288
289
  }
289
290
  export interface MdResourceActuationState {
290
291
  __typename?: 'MdResourceActuationState';
292
+ resourceId: Scalars['String'];
291
293
  status: MdResourceActuationStatus;
292
294
  reason?: Maybe<Scalars['String']>;
293
295
  event?: Maybe<Scalars['String']>;
@@ -298,8 +300,16 @@ export interface MdResourceTask {
298
300
  __typename?: 'MdResourceTask';
299
301
  id: Scalars['String'];
300
302
  name: Scalars['String'];
303
+ running: Scalars['Boolean'];
301
304
  summary?: Maybe<MdExecutionSummary>;
302
305
  }
306
+ export interface MdRestartConstraintEvaluationPayload {
307
+ application: Scalars['String'];
308
+ environment: Scalars['String'];
309
+ type: Scalars['String'];
310
+ reference: Scalars['String'];
311
+ version: Scalars['String'];
312
+ }
303
313
  export interface MdRetryArtifactActionPayload {
304
314
  application: Scalars['String'];
305
315
  environment: Scalars['String'];
@@ -344,6 +354,7 @@ export interface MdVersionVeto {
344
354
  export interface Mutation {
345
355
  __typename?: 'Mutation';
346
356
  updateConstraintStatus?: Maybe<Scalars['Boolean']>;
357
+ restartConstraintEvaluation?: Maybe<Scalars['Boolean']>;
347
358
  toggleManagement?: Maybe<Scalars['Boolean']>;
348
359
  pinArtifactVersion?: Maybe<Scalars['Boolean']>;
349
360
  markArtifactVersionAsBad?: Maybe<Scalars['Boolean']>;
@@ -358,6 +369,9 @@ export interface Mutation {
358
369
  export interface MutationUpdateConstraintStatusArgs {
359
370
  payload: MdConstraintStatusPayload;
360
371
  }
372
+ export interface MutationRestartConstraintEvaluationArgs {
373
+ payload: MdRestartConstraintEvaluationPayload;
374
+ }
361
375
  export interface MutationToggleManagementArgs {
362
376
  application: Scalars['ID'];
363
377
  isPaused: Scalars['Boolean'];
@@ -458,6 +472,16 @@ export declare type BaseEnvironmentFieldsFragment = {
458
472
  } & Pick<MdPullRequest, 'link'>>;
459
473
  }>;
460
474
  };
475
+ export declare type BaesResourceFieldsFragment = {
476
+ __typename?: 'MdResource';
477
+ } & Pick<MdResource, 'id' | 'kind' | 'displayName' | 'rawDefinition'> & {
478
+ moniker?: Maybe<{
479
+ __typename?: 'MdMoniker';
480
+ } & Pick<MdMoniker, 'app' | 'stack' | 'detail'>>;
481
+ location?: Maybe<{
482
+ __typename?: 'MdLocation';
483
+ } & Pick<MdLocation, 'account' | 'regions'>>;
484
+ };
461
485
  export declare type FetchApplicationQueryVariables = Exact<{
462
486
  appName: Scalars['String'];
463
487
  statuses?: Maybe<Array<MdArtifactStatusInEnvironment> | MdArtifactStatusInEnvironment>;
@@ -467,7 +491,7 @@ export declare type FetchApplicationQuery = {
467
491
  } & {
468
492
  application?: Maybe<{
469
493
  __typename?: 'MdApplication';
470
- } & Pick<MdApplication, 'id' | 'name' | 'account'> & {
494
+ } & Pick<MdApplication, 'id' | 'name'> & {
471
495
  config?: Maybe<{
472
496
  __typename?: 'MdConfig';
473
497
  } & Pick<MdConfig, 'id' | 'previewEnvironmentsConfigured'>>;
@@ -483,21 +507,51 @@ export declare type FetchApplicationQuery = {
483
507
  versions?: Maybe<Array<{
484
508
  __typename?: 'MdArtifactVersionInEnvironment';
485
509
  } & DetailedVersionFieldsFragment>>;
510
+ resources?: Maybe<Array<{
511
+ __typename?: 'MdResource';
512
+ } & BaesResourceFieldsFragment>>;
486
513
  } & ArtifactPinnedVersionFieldsFragment>>;
487
514
  resources?: Maybe<Array<{
488
515
  __typename?: 'MdResource';
489
- } & Pick<MdResource, 'id' | 'kind' | 'displayName' | 'rawDefinition'> & {
490
- moniker?: Maybe<{
491
- __typename?: 'MdMoniker';
492
- } & Pick<MdMoniker, 'app' | 'stack' | 'detail'>>;
493
- location?: Maybe<{
494
- __typename?: 'MdLocation';
495
- } & Pick<MdLocation, 'account' | 'regions'>>;
496
- }>>;
516
+ } & BaesResourceFieldsFragment>>;
497
517
  };
498
518
  } & BaseEnvironmentFieldsFragment>;
499
519
  }>;
500
520
  };
521
+ export declare type FetchCurrentVersionQueryVariables = Exact<{
522
+ appName: Scalars['String'];
523
+ }>;
524
+ export declare type FetchCurrentVersionQuery = {
525
+ __typename?: 'Query';
526
+ } & {
527
+ application?: Maybe<{
528
+ __typename?: 'MdApplication';
529
+ } & Pick<MdApplication, 'id' | 'name'> & {
530
+ environments: Array<{
531
+ __typename?: 'MdEnvironment';
532
+ } & Pick<MdEnvironment, 'id' | 'name'> & {
533
+ state: {
534
+ __typename?: 'MdEnvironmentState';
535
+ } & {
536
+ artifacts?: Maybe<Array<{
537
+ __typename?: 'MdArtifact';
538
+ } & Pick<MdArtifact, 'id' | 'name' | 'reference' | 'environment'> & {
539
+ versions?: Maybe<Array<{
540
+ __typename?: 'MdArtifactVersionInEnvironment';
541
+ } & Pick<MdArtifactVersionInEnvironment, 'id' | 'version' | 'buildNumber' | 'createdAt'> & {
542
+ gitMetadata?: Maybe<{
543
+ __typename?: 'MdGitMetadata';
544
+ } & Pick<MdGitMetadata, 'commit'> & {
545
+ commitInfo?: Maybe<{
546
+ __typename?: 'MdCommitInfo';
547
+ } & Pick<MdCommitInfo, 'sha' | 'message'>>;
548
+ }>;
549
+ }>>;
550
+ }>>;
551
+ };
552
+ }>;
553
+ }>;
554
+ };
501
555
  export declare type FetchVersionsHistoryQueryVariables = Exact<{
502
556
  appName: Scalars['String'];
503
557
  limit?: Maybe<Scalars['Int']>;
@@ -507,7 +561,7 @@ export declare type FetchVersionsHistoryQuery = {
507
561
  } & {
508
562
  application?: Maybe<{
509
563
  __typename?: 'MdApplication';
510
- } & Pick<MdApplication, 'id' | 'name' | 'account'> & {
564
+ } & Pick<MdApplication, 'id' | 'name'> & {
511
565
  environments: Array<{
512
566
  __typename?: 'MdEnvironment';
513
567
  } & {
@@ -731,10 +785,17 @@ export declare type ToggleResourceManagementMutationVariables = Exact<{
731
785
  export declare type ToggleResourceManagementMutation = {
732
786
  __typename?: 'Mutation';
733
787
  } & Pick<Mutation, 'toggleResourceManagement'>;
788
+ export declare type RestartConstraintEvaluationMutationVariables = Exact<{
789
+ payload: MdRestartConstraintEvaluationPayload;
790
+ }>;
791
+ export declare type RestartConstraintEvaluationMutation = {
792
+ __typename?: 'Mutation';
793
+ } & Pick<Mutation, 'restartConstraintEvaluation'>;
734
794
  export declare const ActionDetailsFragmentDoc: Apollo.DocumentNode;
735
795
  export declare const DetailedVersionFieldsFragmentDoc: Apollo.DocumentNode;
736
796
  export declare const ArtifactPinnedVersionFieldsFragmentDoc: Apollo.DocumentNode;
737
797
  export declare const BaseEnvironmentFieldsFragmentDoc: Apollo.DocumentNode;
798
+ export declare const BaesResourceFieldsFragmentDoc: Apollo.DocumentNode;
738
799
  export declare const FetchApplicationDocument: Apollo.DocumentNode;
739
800
  /**
740
801
  * __useFetchApplicationQuery__
@@ -764,6 +825,32 @@ export declare function useFetchApplicationLazyQuery(baseOptions?: Apollo.LazyQu
764
825
  export declare type FetchApplicationQueryHookResult = ReturnType<typeof useFetchApplicationQuery>;
765
826
  export declare type FetchApplicationLazyQueryHookResult = ReturnType<typeof useFetchApplicationLazyQuery>;
766
827
  export declare type FetchApplicationQueryResult = Apollo.QueryResult<FetchApplicationQuery, FetchApplicationQueryVariables>;
828
+ export declare const FetchCurrentVersionDocument: Apollo.DocumentNode;
829
+ /**
830
+ * __useFetchCurrentVersionQuery__
831
+ *
832
+ * To run a query within a React component, call `useFetchCurrentVersionQuery` and pass it any options that fit your needs.
833
+ * When your component renders, `useFetchCurrentVersionQuery` returns an object from Apollo Client that contains loading, error, and data properties
834
+ * you can use to render your UI.
835
+ *
836
+ * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
837
+ *
838
+ * @example
839
+ * const { data, loading, error } = useFetchCurrentVersionQuery({
840
+ * variables: {
841
+ * appName: // value for 'appName'
842
+ * },
843
+ * });
844
+ */
845
+ export declare function useFetchCurrentVersionQuery(baseOptions: Apollo.QueryHookOptions<FetchCurrentVersionQuery, FetchCurrentVersionQueryVariables>): Apollo.QueryResult<FetchCurrentVersionQuery, Exact<{
846
+ appName: string;
847
+ }>>;
848
+ export declare function useFetchCurrentVersionLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<FetchCurrentVersionQuery, FetchCurrentVersionQueryVariables>): Apollo.QueryTuple<FetchCurrentVersionQuery, Exact<{
849
+ appName: string;
850
+ }>>;
851
+ export declare type FetchCurrentVersionQueryHookResult = ReturnType<typeof useFetchCurrentVersionQuery>;
852
+ export declare type FetchCurrentVersionLazyQueryHookResult = ReturnType<typeof useFetchCurrentVersionLazyQuery>;
853
+ export declare type FetchCurrentVersionQueryResult = Apollo.QueryResult<FetchCurrentVersionQuery, FetchCurrentVersionQueryVariables>;
767
854
  export declare const FetchVersionsHistoryDocument: Apollo.DocumentNode;
768
855
  /**
769
856
  * __useFetchVersionsHistoryQuery__
@@ -1229,3 +1316,28 @@ export declare function useToggleResourceManagementMutation(baseOptions?: Apollo
1229
1316
  export declare type ToggleResourceManagementMutationHookResult = ReturnType<typeof useToggleResourceManagementMutation>;
1230
1317
  export declare type ToggleResourceManagementMutationResult = Apollo.MutationResult<ToggleResourceManagementMutation>;
1231
1318
  export declare type ToggleResourceManagementMutationOptions = Apollo.BaseMutationOptions<ToggleResourceManagementMutation, ToggleResourceManagementMutationVariables>;
1319
+ export declare const RestartConstraintEvaluationDocument: Apollo.DocumentNode;
1320
+ export declare type RestartConstraintEvaluationMutationFn = Apollo.MutationFunction<RestartConstraintEvaluationMutation, RestartConstraintEvaluationMutationVariables>;
1321
+ /**
1322
+ * __useRestartConstraintEvaluationMutation__
1323
+ *
1324
+ * To run a mutation, you first call `useRestartConstraintEvaluationMutation` within a React component and pass it any options that fit your needs.
1325
+ * When your component renders, `useRestartConstraintEvaluationMutation` returns a tuple that includes:
1326
+ * - A mutate function that you can call at any time to execute the mutation
1327
+ * - An object with fields that represent the current status of the mutation's execution
1328
+ *
1329
+ * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
1330
+ *
1331
+ * @example
1332
+ * const [restartConstraintEvaluationMutation, { data, loading, error }] = useRestartConstraintEvaluationMutation({
1333
+ * variables: {
1334
+ * payload: // value for 'payload'
1335
+ * },
1336
+ * });
1337
+ */
1338
+ export declare function useRestartConstraintEvaluationMutation(baseOptions?: Apollo.MutationHookOptions<RestartConstraintEvaluationMutation, RestartConstraintEvaluationMutationVariables>): Apollo.MutationTuple<RestartConstraintEvaluationMutation, Exact<{
1339
+ payload: MdRestartConstraintEvaluationPayload;
1340
+ }>>;
1341
+ export declare type RestartConstraintEvaluationMutationHookResult = ReturnType<typeof useRestartConstraintEvaluationMutation>;
1342
+ export declare type RestartConstraintEvaluationMutationResult = Apollo.MutationResult<RestartConstraintEvaluationMutation>;
1343
+ export declare type RestartConstraintEvaluationMutationOptions = Apollo.BaseMutationOptions<RestartConstraintEvaluationMutation, RestartConstraintEvaluationMutationVariables>;
@@ -1,7 +1,10 @@
1
1
  /// <reference types="react" />
2
+ import type { IEnvironmentItemProps } from '../environmentBaseElements/EnvironmentItem';
2
3
  import type { QueryResource } from './types';
3
4
  import './Resource.less';
4
- export declare const Resource: ({ resource, environment }: {
5
+ interface IBaseResourceProps {
5
6
  resource: QueryResource;
6
7
  environment: string;
7
- }) => JSX.Element;
8
+ }
9
+ export declare const Resource: ({ resource, environment, withPadding, size, className, }: IBaseResourceProps & Pick<IEnvironmentItemProps, 'size' | 'withPadding' | 'className'>) => JSX.Element;
10
+ export {};
@@ -6,6 +6,7 @@ export declare const PinnedVersion: ({ version }: {
6
6
  }) => JSX.Element;
7
7
  interface IArtifactProps {
8
8
  artifact: QueryArtifact;
9
+ isPreview?: boolean;
9
10
  }
10
- export declare const Artifact: ({ artifact }: IArtifactProps) => JSX.Element;
11
+ export declare const Artifact: ({ artifact, isPreview }: IArtifactProps) => JSX.Element;
11
12
  export {};
@@ -1,14 +1,25 @@
1
1
  /// <reference types="react" />
2
+ import type { ICurrentVersion, IVersionDetails, IVersionRelativeAgeToCurrent } from './utils';
2
3
  import type { IArtifactActionModalProps } from '../../utils/ActionModal';
3
- declare type InternalModalProps = Omit<IArtifactActionModalProps, 'logCategory'> & {
4
+ import './ArtifactActionModal.less';
5
+ export interface IVersionActionsProps {
4
6
  application: string;
5
- };
6
- export declare const PinActionModal: ({ application, ...props }: InternalModalProps) => JSX.Element;
7
- export declare const UnpinActionModal: ({ application, environment, ...props }: Omit<IArtifactActionModalProps, "logCategory"> & {
8
- application: string;
9
- } & {
10
7
  environment: string;
11
- }) => JSX.Element;
12
- export declare const MarkAsBadActionModal: ({ application, ...props }: InternalModalProps) => JSX.Element;
13
- export declare const MarkAsGoodActionModal: ({ application, ...props }: InternalModalProps) => JSX.Element;
8
+ reference: string;
9
+ version: string;
10
+ selectedVersion: IVersionDetails;
11
+ isPinned: boolean;
12
+ isVetoed?: boolean;
13
+ isCurrent?: boolean;
14
+ }
15
+ declare type InternalModalProps<T = any> = Omit<IArtifactActionModalProps, 'logCategory'> & {
16
+ actionProps: IVersionActionsProps & T;
17
+ };
18
+ export declare const PinActionModal: ({ actionProps, ...props }: InternalModalProps<IVersionActionsProps & {
19
+ ageRelativeToCurrent: IVersionRelativeAgeToCurrent;
20
+ currentVersion?: ICurrentVersion;
21
+ }>) => JSX.Element;
22
+ export declare const UnpinActionModal: ({ actionProps, ...props }: InternalModalProps) => JSX.Element;
23
+ export declare const MarkAsBadActionModal: ({ actionProps, ...props }: InternalModalProps) => JSX.Element;
24
+ export declare const MarkAsGoodActionModal: ({ actionProps, ...props }: InternalModalProps) => JSX.Element;
14
25
  export {};
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { ICollapsibleSectionProps } from '../../../presentation';
3
+ interface IArtifactCollapsibleSectionProps extends ICollapsibleSectionProps {
4
+ isUpdating?: boolean;
5
+ }
6
+ export declare const ArtifactCollapsibleSection: React.FC<IArtifactCollapsibleSectionProps>;
7
+ export {};
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import type { QueryArtifact, QueryArtifactVersion } from '../types';
3
+ export interface IPendingVersionsProps {
4
+ artifact: QueryArtifact;
5
+ title: string;
6
+ versions?: QueryArtifactVersion[];
7
+ isDeploying?: boolean;
8
+ }
9
+ export declare const ArtifactVersions: ({ artifact, versions, title, isDeploying }: IPendingVersionsProps) => JSX.Element;
@@ -1,12 +1,13 @@
1
1
  /// <reference types="react" />
2
- import type { QueryArtifactVersion } from '../types';
3
- import type { VersionMessageData } from '../../versionMetadata/MetadataComponents';
4
- interface ICurrentVersionProps {
5
- data: QueryArtifactVersion;
2
+ import type { QueryArtifact, QueryArtifactVersion } from '../types';
3
+ interface ICurrentVersionProps<T = QueryArtifactVersion> {
4
+ data: T;
6
5
  environment: string;
7
6
  reference: string;
8
7
  numNewerVersions?: number;
9
- pinned?: VersionMessageData;
8
+ pinnedVersion: QueryArtifact['pinnedVersion'];
9
+ isPreview?: boolean;
10
10
  }
11
- export declare const CurrentVersion: ({ data, environment, reference, numNewerVersions, pinned }: ICurrentVersionProps) => JSX.Element;
11
+ export declare const CurrentVersionInternal: ({ data, environment, reference, numNewerVersions, pinnedVersion, isPreview, }: ICurrentVersionProps) => JSX.Element;
12
+ export declare const CurrentVersion: ({ data, ...otherProps }: ICurrentVersionProps<QueryArtifactVersion | undefined>) => JSX.Element;
12
13
  export {};
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import type { QueryArtifactVersion } from '../types';
3
+ interface IVersionTitleProps {
4
+ gitMetadata?: QueryArtifactVersion['gitMetadata'];
5
+ version: string;
6
+ buildNumber?: string;
7
+ }
8
+ export declare const VersionTitle: ({ gitMetadata, buildNumber }: IVersionTitleProps) => JSX.Element;
9
+ export {};
@@ -1,11 +1,6 @@
1
- interface ActionBasePayload {
2
- application: string;
3
- environment: string;
4
- reference: string;
5
- version: string;
6
- }
7
- export declare const useUnpinVersion: ({ version, ...payload }: ActionBasePayload, modalTitle: string) => () => void;
8
- export declare const usePinVersion: (payload: ActionBasePayload, modalTitle: string) => () => void;
9
- export declare const useMarkVersionAsBad: (payload: ActionBasePayload, modalTitle: string) => () => void;
10
- export declare const useMarkVersionAsGood: (payload: ActionBasePayload, modalTitle: string) => () => void;
11
- export {};
1
+ import type { IVersionActionsProps } from './ArtifactActionModal';
2
+ import type { ICurrentVersion, IVersionRelativeAgeToCurrent } from './utils';
3
+ export declare const useUnpinVersion: (payload: IVersionActionsProps) => () => void;
4
+ export declare const usePinVersion: (payload: IVersionActionsProps, currentVersion: ICurrentVersion | undefined, ageRelativeToCurrent: IVersionRelativeAgeToCurrent) => () => void;
5
+ export declare const useMarkVersionAsBad: (payload: IVersionActionsProps) => () => void;
6
+ export declare const useMarkVersionAsGood: (payload: IVersionActionsProps) => () => void;
@@ -0,0 +1,3 @@
1
+ import type { IVersionActionsProps } from './ArtifactActionModal';
2
+ import type { VersionAction } from '../../artifactActions/ArtifactActions';
3
+ export declare const useCreateVersionRollbackActions: (props: Omit<IVersionActionsProps, 'application'>) => VersionAction[] | undefined;
@@ -1,7 +1,7 @@
1
1
  import { DateTime } from 'luxon';
2
- import type { MdArtifactStatusInEnvironment } from '../../graphql/graphql-sdk';
2
+ import type { FetchCurrentVersionQuery } from '../../graphql/graphql-sdk';
3
3
  import type { QueryArtifactVersion, QueryConstraint, QueryLifecycleStep } from '../types';
4
- import type { VersionAction } from '../../versionMetadata/MetadataComponents';
4
+ import type { HistoryArtifactVersionExtended, SingleVersionArtifactVersion } from '../../versionsHistory/types';
5
5
  export declare const getConstraintsStatusSummary: (constraints: QueryConstraint[]) => {
6
6
  text: string;
7
7
  status: "PENDING" | "PASS" | "FAIL" | "FORCE_PASS";
@@ -17,18 +17,19 @@ export interface LifecycleEventSummary {
17
17
  isRunning: boolean;
18
18
  }
19
19
  export declare const getLifecycleEventSummary: (version: QueryArtifactVersion | undefined, type: QueryLifecycleStep['type']) => LifecycleEventSummary | undefined;
20
- interface ICreateVersionActionsProps {
21
- environment: string;
22
- reference: string;
23
- version: string;
20
+ export declare const isVersionVetoed: (version?: QueryArtifactVersion | SingleVersionArtifactVersion) => boolean;
21
+ export declare const isVersionPending: (version?: QueryArtifactVersion | SingleVersionArtifactVersion) => boolean;
22
+ export declare type ICurrentVersion = NonNullable<NonNullable<NonNullable<FetchCurrentVersionQuery['application']>['environments'][number]['state']['artifacts']>[number]['versions']>[number];
23
+ export declare type IVersionRelativeAgeToCurrent = 'CURRENT' | 'NEWER' | 'OLDER';
24
+ export declare const getRelativeAgeToCurrent: ({ isCurrent, createdAt, currentVersion, }: {
25
+ isCurrent?: boolean;
26
+ createdAt?: string;
27
+ currentVersion?: ICurrentVersion;
28
+ }) => IVersionRelativeAgeToCurrent;
29
+ export interface IVersionDetails {
24
30
  buildNumber?: string;
25
31
  commitMessage?: string;
26
- isPinned: boolean;
27
- status?: MdArtifactStatusInEnvironment;
28
- compareLinks?: {
29
- previous?: string;
30
- current?: string;
31
- };
32
+ commitSha?: string;
33
+ createdAt?: string;
32
34
  }
33
- export declare const useCreateVersionActions: ({ environment, reference, version, status, buildNumber, commitMessage, isPinned, compareLinks, }: ICreateVersionActionsProps) => VersionAction[] | undefined;
34
- export {};
35
+ export declare const extractVersionRollbackDetails: (version: QueryArtifactVersion | HistoryArtifactVersionExtended | ICurrentVersion) => IVersionDetails;
@@ -0,0 +1 @@
1
+ export declare const useIsUpdatingResources: (environment: string) => boolean;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import type { IResourceLinkProps } from './resourceRegistry';
3
- export declare const ResourceTitle: ({ props }: {
4
- props: IResourceLinkProps;
2
+ import type { QueryResource } from '../overview/types';
3
+ export declare const ResourceTitle: ({ resource }: {
4
+ resource: QueryResource;
5
5
  }) => JSX.Element;
@@ -13,7 +13,7 @@ export interface IResourceLinkProps {
13
13
  displayName?: string;
14
14
  }
15
15
  declare class ResourcesManager extends BasePluginManager<IResourceKindConfig> {
16
- getIcon(kind: string): "placeholder" | "menu" | "add" | "environment" | "config" | "artifact" | "close" | "play" | "plus" | "accordionCollapse" | "accordionExpand" | "accordionExpandAll" | "artifactApproved" | "artifactBad" | "artifactPending" | "artifactSkipped" | "bake" | "build" | "buildFail" | "buildSuccess" | "canaryConfig" | "canaryFail" | "canaryRunning" | "canaryPass" | "canaryMarginal" | "caretRight" | "checkBadge" | "checkboxIndeterminate" | "checkboxChecked" | "checkboxUnchecked" | "closeSmall" | "cloudDeployed" | "cloudError" | "cloudProgress" | "cloudDecommissioned" | "cloudWaiting" | "cluster" | "configJ" | "configM" | "configS" | "copyClipboard" | "done" | "duplicate" | "edit" | "fileJson" | "fn" | "fnNew" | "formDrag" | "formError" | "formInfo" | "formNetworkBad" | "formNetworkGood" | "formRefresh" | "formWarning" | "heart" | "history" | "instances" | "loadBalancer" | "manualJudgement" | "manualJudgementApproved" | "manualJudgementRejected" | "mdActuating" | "mdActuationLaunched" | "mdCreated" | "mdDelay" | "mdDeltaDetected" | "mdDeltaResolved" | "mdDiff" | "mdError" | "mdUnhappy" | "mdPaused" | "mdResumed" | "mdUnknown" | "mdConstraintGeneric" | "mdConstraintDependsOn" | "mdConstraintAllowedTimes" | "md" | "mdVerification" | "menuClose" | "minus" | "pin" | "resourceT" | "securityGroup" | "servergroupAws" | "spCIBranch" | "spCIBuild" | "spCICommit" | "spCIMaster" | "spCIMerged" | "spCIPullRequest" | "spCIPullRequestClosed" | "spEnvironments" | "spMenuAppInSync" | "spMenuAppUnsynced" | "spMenuCanaryConfig" | "spMenuCanaryReport" | "spMenuClusters" | "spMenuConfig" | "spMenuFunctions" | "spMenuK8s" | "spMenuLoadBalancers" | "spMenuMeme" | "spMenuPager" | "spMenuPipelines" | "spMenuProperties" | "spMenuSecurityGroups" | "spMenuTasks" | "spMenuTimeline" | "spMenuZuul" | "spel" | "templateFull" | "templateS" | "templateWorkflow" | "toggleOff" | "toggleOn" | "trash" | "unpin";
16
+ getIcon(kind: string): "placeholder" | "menu" | "add" | "environment" | "artifact" | "config" | "close" | "play" | "plus" | "accordionCollapse" | "accordionExpand" | "accordionExpandAll" | "artifactApproved" | "artifactBad" | "artifactPending" | "artifactSkipped" | "bake" | "build" | "buildFail" | "buildSuccess" | "canaryConfig" | "canaryFail" | "canaryRunning" | "canaryPass" | "canaryMarginal" | "caretRight" | "checkBadge" | "checkboxIndeterminate" | "checkboxChecked" | "checkboxUnchecked" | "closeSmall" | "cloudDeployed" | "cloudError" | "cloudProgress" | "cloudDecommissioned" | "cloudWaiting" | "cluster" | "configJ" | "configM" | "configS" | "copyClipboard" | "done" | "duplicate" | "edit" | "fileJson" | "fn" | "fnNew" | "formDrag" | "formError" | "formInfo" | "formNetworkBad" | "formNetworkGood" | "formRefresh" | "formWarning" | "heart" | "history" | "instances" | "loadBalancer" | "manualJudgement" | "manualJudgementApproved" | "manualJudgementRejected" | "mdActuating" | "mdActuationLaunched" | "mdCreated" | "mdDelay" | "mdDeltaDetected" | "mdDeltaResolved" | "mdDiff" | "mdError" | "mdUnhappy" | "mdPaused" | "mdResumed" | "mdUnknown" | "mdConstraintGeneric" | "mdConstraintDependsOn" | "mdConstraintAllowedTimes" | "md" | "mdVerification" | "menuClose" | "minus" | "pin" | "resourceT" | "securityGroup" | "servergroupAws" | "spCIBranch" | "spCIBuild" | "spCICommit" | "spCIMaster" | "spCIMerged" | "spCIPullRequest" | "spCIPullRequestClosed" | "spEnvironments" | "spMenuAppInSync" | "spMenuAppUnsynced" | "spMenuCanaryConfig" | "spMenuCanaryReport" | "spMenuClusters" | "spMenuConfig" | "spMenuFunctions" | "spMenuK8s" | "spMenuLoadBalancers" | "spMenuMeme" | "spMenuPager" | "spMenuPipelines" | "spMenuProperties" | "spMenuSecurityGroups" | "spMenuTasks" | "spMenuTimeline" | "spMenuZuul" | "spel" | "templateFull" | "templateS" | "templateWorkflow" | "toggleOff" | "toggleOn" | "trash" | "unpin";
17
17
  getExperimentalDisplayLink(resource: IResourceLinkProps): string | undefined;
18
18
  getSpinnakerType(kind: string): string;
19
19
  getNativeResourceRoutingInfo({ kind, account, stack, detail, displayName, }: IResourceLinkProps): {
@@ -8,5 +8,6 @@ export interface IArtifactActionModalProps extends IModalComponentProps {
8
8
  onAction: (comment?: string) => Promise<void> | PromiseLike<void>;
9
9
  onSuccess?: () => void;
10
10
  error?: string;
11
+ className?: string;
11
12
  }
12
13
  export declare const ActionModal: React.FC<IArtifactActionModalProps>;
@@ -5,6 +5,7 @@ export declare const TOOLTIP_DELAY_SHOW = 400;
5
5
  export declare const TOOLTIP_DELAY_HIDE = 100;
6
6
  export declare const tooltipShowHideProps: Partial<IHoverablePopoverProps>;
7
7
  export declare const MODAL_MAX_WIDTH = 750;
8
+ export declare const ACTION_BUTTON_CLASS_NAME = "btn btn-default md-btn md-action-button";
8
9
  export declare const spinnerProps: ISpinnerProps;
9
10
  export declare const ABSOLUTE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss ZZZZ";
10
11
  export declare const MD_CATEGORY = "ManagedDelivery";