Class StandaloneCanaryAnalysisController
- java.lang.Object
-
- com.netflix.kayenta.standalonecanaryanalysis.controller.StandaloneCanaryAnalysisController
-
@RestController("Standalone Canary Analysis Controller - endpoints for performing multiple canary judgements over a period of time, past or present") @RequestMapping("/standalone_canary_analysis") public class StandaloneCanaryAnalysisController extends java.lang.ObjectController for triggering logic that is representative of what happens in the Spinnaker Canary Analysis StageExecution of a pipeline.
-
-
Constructor Summary
Constructors Constructor Description StandaloneCanaryAnalysisController(com.netflix.kayenta.security.AccountCredentialsRepository accountCredentialsRepository, CanaryAnalysisService canaryAnalysisService, com.netflix.kayenta.storage.StorageServiceRepository storageServiceRepository)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CanaryAnalysisExecutionStatusResponsegetCanaryAnalysisExecution(java.lang.String canaryAnalysisExecutionId, java.lang.String storageAccountName)Fetches a Canary Analysis Execution from a supplied id.CanaryAnalysisExecutionResponseinitiateCanaryAnalysis(java.lang.String user, java.lang.String application, java.lang.String parentPipelineExecutionId, java.lang.String metricsAccountName, java.lang.String configurationAccountName, java.lang.String storageAccountName, CanaryAnalysisExecutionRequest canaryAnalysisExecutionRequest, java.lang.String canaryConfigId)Initiate a Canary Analysis Execution using a stored canary configuration.CanaryAnalysisExecutionResponseinitiateCanaryAnalysisExecutionWithConfig(java.lang.String user, java.lang.String application, java.lang.String parentPipelineExecutionId, java.lang.String metricsAccountName, java.lang.String storageAccountName, CanaryAnalysisAdhocExecutionRequest canaryAnalysisAdhocExecutionRequest)Initiates a Canary Analysis Execution with the provided canary configuration.
-
-
-
Constructor Detail
-
StandaloneCanaryAnalysisController
@Autowired public StandaloneCanaryAnalysisController(com.netflix.kayenta.security.AccountCredentialsRepository accountCredentialsRepository, CanaryAnalysisService canaryAnalysisService, com.netflix.kayenta.storage.StorageServiceRepository storageServiceRepository)
-
-
Method Detail
-
initiateCanaryAnalysis
@RequestMapping(value="/{canaryConfigId:.+}", consumes="application/json", method=POST) public CanaryAnalysisExecutionResponse initiateCanaryAnalysis(@RequestParam(required=false) java.lang.String user, @RequestParam(required=false) java.lang.String application, @RequestParam(required=false) java.lang.String parentPipelineExecutionId, @RequestParam(required=false) java.lang.String metricsAccountName, @RequestParam(required=false) java.lang.String configurationAccountName, @RequestParam(required=false) java.lang.String storageAccountName, @RequestBody CanaryAnalysisExecutionRequest canaryAnalysisExecutionRequest, @PathVariable java.lang.String canaryConfigId)Initiate a Canary Analysis Execution using a stored canary configuration.- Parameters:
user- The initiating userapplication- The application under testparentPipelineExecutionId- The parent pipeline execution id, if this is being executed as a StageExecution in another pipelinemetricsAccountName- The account that has the metrics for the application under testconfigurationAccountName- The account that has the supplied canary config idstorageAccountName- The account that will be used to store resultscanaryAnalysisExecutionRequest- The canary analysis execution request that configures how the analysis will be performedcanaryConfigId- The id for the canary configuration to use for the analysis execution- Returns:
- Object with the execution id
-
initiateCanaryAnalysisExecutionWithConfig
@RequestMapping(consumes="application/json", method=POST) public CanaryAnalysisExecutionResponse initiateCanaryAnalysisExecutionWithConfig(@RequestParam(required=false) java.lang.String user, @RequestParam(required=false) java.lang.String application, @RequestParam(required=false) java.lang.String parentPipelineExecutionId, @RequestParam(required=false) java.lang.String metricsAccountName, @RequestParam(required=false) java.lang.String storageAccountName, @RequestBody CanaryAnalysisAdhocExecutionRequest canaryAnalysisAdhocExecutionRequest)Initiates a Canary Analysis Execution with the provided canary configuration.- Parameters:
user- The initiating userapplication- The application under testparentPipelineExecutionId- The parent pipeline execution id, if this is being executed as a StageExecution in another pipelinemetricsAccountName- The account that has the metrics for the application under teststorageAccountName- The account that will be used to store resultscanaryAnalysisAdhocExecutionRequest- Wrapper around the canary analysis execution request that configures how the analysis will be performed and the canary config- Returns:
- Object with the execution id
-
getCanaryAnalysisExecution
@RequestMapping(value="/{canaryAnalysisExecutionId:.+}", method=GET) public CanaryAnalysisExecutionStatusResponse getCanaryAnalysisExecution(@PathVariable java.lang.String canaryAnalysisExecutionId, @RequestParam(required=false) java.lang.String storageAccountName)Fetches a Canary Analysis Execution from a supplied id.- Parameters:
canaryAnalysisExecutionId- The id for the Canary Analysis Execution- Returns:
- The canary analysis execution object that will have the results and status.
-
-