summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2019-04-15 09:27:09 +0200
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2019-04-15 10:16:26 +0200
commit21815a3df707eb798009ce96b2b2e52a64f22903 (patch)
tree451b767a8c33ca7e4953ea81f016c2f5d4897034 /controller-api
parent0dfd731eaab6fb735a95a17478a45fc34744785b (diff)
Remove system from Context and roles
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/ApplicationRole.java4
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/Context.java34
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/Roles.java24
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/TenantRole.java4
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/UnboundRole.java4
5 files changed, 31 insertions, 39 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/ApplicationRole.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/ApplicationRole.java
index cc1e8462580..80a83c4adca 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/ApplicationRole.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/ApplicationRole.java
@@ -11,8 +11,8 @@ import com.yahoo.config.provision.TenantName;
*/
public class ApplicationRole extends Role {
- ApplicationRole(RoleDefinition roleDefinition, SystemName system, TenantName tenant, ApplicationName application) {
- super(roleDefinition, Context.limitedTo(tenant, application, system));
+ ApplicationRole(RoleDefinition roleDefinition, TenantName tenant, ApplicationName application) {
+ super(roleDefinition, Context.limitedTo(tenant, application));
}
/** Returns the {@link TenantName} this is bound to. */
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/Context.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/Context.java
index 14d8d06d0c6..92ecb411374 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/Context.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/Context.java
@@ -17,12 +17,10 @@ public class Context {
private final Optional<TenantName> tenant;
private final Optional<ApplicationName> application;
- private final SystemName system;
- private Context(Optional<TenantName> tenant, Optional<ApplicationName> application, SystemName system) {
+ private Context(Optional<TenantName> tenant, Optional<ApplicationName> application) {
this.tenant = Objects.requireNonNull(tenant, "tenant must be non-null");
this.application = Objects.requireNonNull(application, "application must be non-null");
- this.system = Objects.requireNonNull(system, "system must be non-null");
}
/** A specific tenant this is valid for, if any */
@@ -35,24 +33,19 @@ public class Context {
return application;
}
- /** System in which this is valid */
- public SystemName system() {
- return system;
+ /** Returns a context that has no restrictions on tenant or application */
+ public static Context unlimited() {
+ return new Context(Optional.empty(), Optional.empty());
}
- /** Returns a context that has no restrictions on tenant or application in given system */
- public static Context unlimitedIn(SystemName system) {
- return new Context(Optional.empty(), Optional.empty(), system);
+ /** Returns a context that is limited to given tenant */
+ public static Context limitedTo(TenantName tenant) {
+ return new Context(Optional.of(tenant), Optional.empty());
}
- /** Returns a context that is limited to given tenant and system */
- public static Context limitedTo(TenantName tenant, SystemName system) {
- return new Context(Optional.of(tenant), Optional.empty(), system);
- }
-
- /** Returns a context that is limited to given tenant, application and system */
- public static Context limitedTo(TenantName tenant, ApplicationName application, SystemName system) {
- return new Context(Optional.of(tenant), Optional.of(application), system);
+ /** Returns a context that is limited to given tenant, application */
+ public static Context limitedTo(TenantName tenant, ApplicationName application) {
+ return new Context(Optional.of(tenant), Optional.of(application));
}
@Override
@@ -61,19 +54,18 @@ public class Context {
if (o == null || getClass() != o.getClass()) return false;
Context context = (Context) o;
return tenant.equals(context.tenant) &&
- application.equals(context.application) &&
- system == context.system;
+ application.equals(context.application);
}
@Override
public int hashCode() {
- return Objects.hash(tenant, application, system);
+ return Objects.hash(tenant, application);
}
@Override
public String toString() {
return "tenant " + tenant.map(TenantName::value).orElse("[none]") + ", application " +
- application.map(ApplicationName::value).orElse("[none]") + ", system " + system;
+ application.map(ApplicationName::value).orElse("[none]");
}
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/Roles.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/Roles.java
index bfdb0be4378..24facdd59e9 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/Roles.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/Roles.java
@@ -33,66 +33,66 @@ public class Roles {
// General roles.
/** Returns a {@link RoleDefinition#hostedOperator} for the current system. */
public UnboundRole hostedOperator() {
- return new UnboundRole(RoleDefinition.hostedOperator, system);
+ return new UnboundRole(RoleDefinition.hostedOperator);
}
/** Returns a {@link RoleDefinition#everyone} for the current system. */
public UnboundRole everyone() {
- return new UnboundRole(RoleDefinition.everyone, system);
+ return new UnboundRole(RoleDefinition.everyone);
}
// Athenz based roles.
/** Returns a {@link RoleDefinition#athenzTenantAdmin} for the current system and given tenant. */
public TenantRole athenzTenantAdmin(TenantName tenant) {
- return new TenantRole(RoleDefinition.athenzTenantAdmin, system, tenant);
+ return new TenantRole(RoleDefinition.athenzTenantAdmin, tenant);
}
/** Returns a {@link RoleDefinition#tenantPipeline} for the current system and given tenant and application. */
public ApplicationRole tenantPipeline(TenantName tenant, ApplicationName application) {
- return new ApplicationRole(RoleDefinition.tenantPipeline, system, tenant, application);
+ return new ApplicationRole(RoleDefinition.tenantPipeline, tenant, application);
}
// Other identity provider based roles.
/** Returns a {@link RoleDefinition#tenantOwner} for the current system and given tenant. */
public TenantRole tenantOwner(TenantName tenant) {
- return new TenantRole(RoleDefinition.tenantOwner, system, tenant);
+ return new TenantRole(RoleDefinition.tenantOwner, tenant);
}
/** Returns a {@link RoleDefinition#tenantAdmin} for the current system and given tenant. */
public TenantRole tenantAdmin(TenantName tenant) {
- return new TenantRole(RoleDefinition.tenantAdmin, system, tenant);
+ return new TenantRole(RoleDefinition.tenantAdmin, tenant);
}
/** Returns a {@link RoleDefinition#tenantOperator} for the current system and given tenant. */
public TenantRole tenantOperator(TenantName tenant) {
- return new TenantRole(RoleDefinition.tenantOperator, system, tenant);
+ return new TenantRole(RoleDefinition.tenantOperator, tenant);
}
/** Returns a {@link RoleDefinition#applicationAdmin} for the current system and given tenant and application. */
public ApplicationRole applicationAdmin(TenantName tenant, ApplicationName application) {
- return new ApplicationRole(RoleDefinition.applicationAdmin, system, tenant, application);
+ return new ApplicationRole(RoleDefinition.applicationAdmin, tenant, application);
}
/** Returns a {@link RoleDefinition#applicationOperator} for the current system and given tenant and application. */
public ApplicationRole applicationOperator(TenantName tenant, ApplicationName application) {
- return new ApplicationRole(RoleDefinition.applicationOperator, system, tenant, application);
+ return new ApplicationRole(RoleDefinition.applicationOperator, tenant, application);
}
/** Returns a {@link RoleDefinition#applicationDeveloper} for the current system and given tenant and application. */
public ApplicationRole applicationDeveloper(TenantName tenant, ApplicationName application) {
- return new ApplicationRole(RoleDefinition.applicationDeveloper, system, tenant, application);
+ return new ApplicationRole(RoleDefinition.applicationDeveloper, tenant, application);
}
/** Returns a {@link RoleDefinition#applicationReader} for the current system and given tenant and application. */
public ApplicationRole applicationReader(TenantName tenant, ApplicationName application) {
- return new ApplicationRole(RoleDefinition.applicationReader, system, tenant, application);
+ return new ApplicationRole(RoleDefinition.applicationReader, tenant, application);
}
/** Returns a {@link RoleDefinition#buildService} for the current system and given tenant and application. */
public ApplicationRole buildService(TenantName tenant, ApplicationName application) {
- return new ApplicationRole(RoleDefinition.buildService, system, tenant, application);
+ return new ApplicationRole(RoleDefinition.buildService, tenant, application);
}
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/TenantRole.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/TenantRole.java
index 134628ec3a3..2690f5242df 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/TenantRole.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/TenantRole.java
@@ -10,8 +10,8 @@ import com.yahoo.config.provision.TenantName;
*/
public class TenantRole extends Role {
- TenantRole(RoleDefinition roleDefinition, SystemName system, TenantName tenant) {
- super(roleDefinition, Context.limitedTo(tenant, system));
+ TenantRole(RoleDefinition roleDefinition, TenantName tenant) {
+ super(roleDefinition, Context.limitedTo(tenant));
}
/** Returns the {@link TenantName} this is bound to. */
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/UnboundRole.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/UnboundRole.java
index eb8319b2012..30e9f197148 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/UnboundRole.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/UnboundRole.java
@@ -9,8 +9,8 @@ import com.yahoo.config.provision.SystemName;
*/
public class UnboundRole extends Role {
- UnboundRole(RoleDefinition roleDefinition, SystemName system) {
- super(roleDefinition, Context.unlimitedIn(system));
+ UnboundRole(RoleDefinition roleDefinition) {
+ super(roleDefinition, Context.unlimited());
}
@Override