diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2019-04-15 09:27:09 +0200 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2019-04-15 10:16:26 +0200 |
commit | 21815a3df707eb798009ce96b2b2e52a64f22903 (patch) | |
tree | 451b767a8c33ca7e4953ea81f016c2f5d4897034 /controller-api | |
parent | 0dfd731eaab6fb735a95a17478a45fc34744785b (diff) |
Remove system from Context and roles
Diffstat (limited to 'controller-api')
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 |