Search in sources :

Example 6 with Pubsub

use of com.netflix.spinnaker.halyard.config.model.v1.node.Pubsub in project halyard by spinnaker.

the class AbstractListSubscriptionsCommand method executeThis.

@Override
protected void executeThis() {
    Pubsub pubsub = getPubsub();
    List<Subscription> subscriptions = pubsub.getSubscriptions();
    if (subscriptions.isEmpty()) {
        AnsiUi.success("No configured subscriptions for " + getPubsubName() + ".");
    } else {
        AnsiUi.success("Subscriptions for " + getPubsubName() + ":");
        subscriptions.forEach(subscription -> AnsiUi.listItem(subscription.getName()));
    }
}
Also used : Pubsub(com.netflix.spinnaker.halyard.config.model.v1.node.Pubsub) Subscription(com.netflix.spinnaker.halyard.config.model.v1.node.Subscription)

Example 7 with Pubsub

use of com.netflix.spinnaker.halyard.config.model.v1.node.Pubsub in project halyard by spinnaker.

the class PubsubService method setPubsub.

public void setPubsub(String deploymentName, Pubsub pubsub) {
    DeploymentConfiguration deploymentConfiguration = deploymentService.getDeploymentConfiguration(deploymentName);
    Pubsubs pubsubs = deploymentConfiguration.getPubsub();
    switch(pubsub.pubsubType()) {
        case GOOGLE:
            pubsubs.setGoogle((GooglePubsub) pubsub);
            break;
        default:
            throw new IllegalArgumentException("Unknown pubsub type " + pubsub.pubsubType());
    }
}
Also used : Pubsubs(com.netflix.spinnaker.halyard.config.model.v1.node.Pubsubs) DeploymentConfiguration(com.netflix.spinnaker.halyard.config.model.v1.node.DeploymentConfiguration)

Example 8 with Pubsub

use of com.netflix.spinnaker.halyard.config.model.v1.node.Pubsub in project halyard by spinnaker.

the class PubsubService method getAllPubsubs.

public List<Pubsub> getAllPubsubs(String deploymentName) {
    NodeFilter filter = new NodeFilter().setDeployment(deploymentName).withAnyPubsub();
    List<Pubsub> matching = lookupService.getMatchingNodesOfType(filter, Pubsub.class);
    if (matching.size() == 0) {
        throw new ConfigNotFoundException(new ConfigProblemBuilder(Severity.FATAL, "No pubsubs could be found").build());
    } else {
        return matching;
    }
}
Also used : Pubsub(com.netflix.spinnaker.halyard.config.model.v1.node.Pubsub) GooglePubsub(com.netflix.spinnaker.halyard.config.model.v1.pubsub.google.GooglePubsub) ConfigProblemBuilder(com.netflix.spinnaker.halyard.config.problem.v1.ConfigProblemBuilder) ConfigNotFoundException(com.netflix.spinnaker.halyard.config.error.v1.ConfigNotFoundException) NodeFilter(com.netflix.spinnaker.halyard.config.model.v1.node.NodeFilter)

Example 9 with Pubsub

use of com.netflix.spinnaker.halyard.config.model.v1.node.Pubsub in project halyard by spinnaker.

the class SubscriptionService method deleteSubscription.

public void deleteSubscription(String deploymentName, String pubsubName, String subscriptionName) {
    Pubsub pubsub = pubsubService.getPubsub(deploymentName, pubsubName);
    boolean removed = pubsub.getSubscriptions().removeIf(subscription -> ((Subscription) subscription).getName().equals(subscriptionName));
    if (!removed) {
        throw new HalException(new ConfigProblemBuilder(Severity.FATAL, "Subscription \"" + subscriptionName + "\" wasn't found").build());
    }
}
Also used : Pubsub(com.netflix.spinnaker.halyard.config.model.v1.node.Pubsub) ConfigProblemBuilder(com.netflix.spinnaker.halyard.config.problem.v1.ConfigProblemBuilder) HalException(com.netflix.spinnaker.halyard.core.error.v1.HalException) Subscription(com.netflix.spinnaker.halyard.config.model.v1.node.Subscription)

Example 10 with Pubsub

use of com.netflix.spinnaker.halyard.config.model.v1.node.Pubsub in project halyard by spinnaker.

the class SubscriptionService method addSubscription.

public void addSubscription(String deploymentName, String pubsubName, Subscription newSubscription) {
    Pubsub pubsub = pubsubService.getPubsub(deploymentName, pubsubName);
    pubsub.getSubscriptions().add(newSubscription);
}
Also used : Pubsub(com.netflix.spinnaker.halyard.config.model.v1.node.Pubsub)

Aggregations

Pubsub (com.netflix.spinnaker.halyard.config.model.v1.node.Pubsub)7 Subscription (com.netflix.spinnaker.halyard.config.model.v1.node.Subscription)4 GooglePubsub (com.netflix.spinnaker.halyard.config.model.v1.pubsub.google.GooglePubsub)3 ConfigProblemBuilder (com.netflix.spinnaker.halyard.config.problem.v1.ConfigProblemBuilder)3 OperationHandler (com.netflix.spinnaker.halyard.cli.services.v1.OperationHandler)2 ConfigNotFoundException (com.netflix.spinnaker.halyard.config.error.v1.ConfigNotFoundException)2 NodeFilter (com.netflix.spinnaker.halyard.config.model.v1.node.NodeFilter)2 IllegalConfigException (com.netflix.spinnaker.halyard.config.error.v1.IllegalConfigException)1 DeploymentConfiguration (com.netflix.spinnaker.halyard.config.model.v1.node.DeploymentConfiguration)1 Pubsubs (com.netflix.spinnaker.halyard.config.model.v1.node.Pubsubs)1 UpdateRequestBuilder (com.netflix.spinnaker.halyard.core.DaemonResponse.UpdateRequestBuilder)1 HalException (com.netflix.spinnaker.halyard.core.error.v1.HalException)1 ProblemSet (com.netflix.spinnaker.halyard.core.problem.v1.ProblemSet)1 Path (java.nio.file.Path)1 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)1