/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. */ package com.microsoft.azure.management.appservice; import com.microsoft.azure.management.apigeneration.Fluent; /** * Defines App service pricing tiers. */ @Fluent(ContainerName = "/Microsoft.Azure.Management.AppService.Fluent") public class RuntimeStack { /** Node.JS 6.9.3. */ public static final RuntimeStack NODEJS_6_9_3 = new RuntimeStack("NODE", "6.9.3"); /** Node.JS 6.6.0. */ public static final RuntimeStack NODEJS_6_6_0 = new RuntimeStack("NODE", "6.6.0"); /** Node.JS 6.2.2. */ public static final RuntimeStack NODEJS_6_2_2 = new RuntimeStack("NODE", "6.2.2"); /** Node.JS 4.5.0. */ public static final RuntimeStack NODEJS_4_5_0 = new RuntimeStack("NODE", "4.5.0"); /** Node.JS 4.4.7. */ public static final RuntimeStack NODEJS_4_4_7 = new RuntimeStack("NODE", "4.4.7"); /** PHP 5.6.23. */ public static final RuntimeStack PHP_5_6_23 = new RuntimeStack("PHP", "5.6.23"); /** PHP 7.0.6. */ public static final RuntimeStack PHP_7_0_6 = new RuntimeStack("PHP", "7.0.6"); /** .NET Core v1.0. */ public static final RuntimeStack NETCORE_V1_0 = new RuntimeStack("DOTNETCORE", "v1.0"); /** Ruby 2.3. */ public static final RuntimeStack RUBY_2_3 = new RuntimeStack("RUBY", "2.3"); /** The name of the language runtime stack. */ private String stack; /** The version of the runtime. */ private String version; /** * Creates a custom app service pricing tier. * @param stack the name of the language stack * @param version the version of the runtime */ public RuntimeStack(String stack, String version) { this.stack = stack; this.version = version; } /** * @return the name of the language runtime stack */ public String stack() { return stack; } /** * @return the version of the runtime stack */ public String version() { return version; } @Override public String toString() { return stack + " " + version; } @Override public int hashCode() { return toString().hashCode(); } @Override public boolean equals(Object obj) { if (!(obj instanceof RuntimeStack)) { return false; } if (obj == this) { return true; } RuntimeStack rhs = (RuntimeStack) obj; return toString().equalsIgnoreCase(rhs.toString()); } }