/** * A comma-separated list that specifies the types of AWS resources for which AWS Config records * configuration changes (for example, <code>AWS::EC2::Instance</code> or <code> * AWS::CloudTrail::Trail</code>). * * <p>Before you can set this option to <code>true</code>, you must set the <code>allSupported * </code> option to <code>false</code>. * * <p>If you set this option to <code>true</code>, when AWS Config adds support for a new type of * resource, it will not record resources of that type unless you manually add that type to your * recording group. * * <p>For a list of valid <code>resourceTypes</code> values, see the <b>resourceType Value</b> * column in <a href= * "http://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources" * >Supported AWS Resource Types</a>. * * @param resourceTypes A comma-separated list that specifies the types of AWS resources for which * AWS Config records configuration changes (for example, <code>AWS::EC2::Instance</code> or * <code>AWS::CloudTrail::Trail</code>). * <p>Before you can set this option to <code>true</code>, you must set the <code>allSupported * </code> option to <code>false</code>. * <p>If you set this option to <code>true</code>, when AWS Config adds support for a new type * of resource, it will not record resources of that type unless you manually add that type to * your recording group. * <p>For a list of valid <code>resourceTypes</code> values, see the <b>resourceType Value</b> * column in <a href= * "http://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources" * >Supported AWS Resource Types</a>. * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceType */ public RecordingGroup withResourceTypes(ResourceType... resourceTypes) { com.amazonaws.internal.SdkInternalList<String> resourceTypesCopy = new com.amazonaws.internal.SdkInternalList<String>(resourceTypes.length); for (ResourceType value : resourceTypes) { resourceTypesCopy.add(value.toString()); } if (getResourceTypes() == null) { setResourceTypes(resourceTypesCopy); } else { getResourceTypes().addAll(resourceTypesCopy); } return this; }
/** * Use this in place of valueOf. * * @param value real value * @return ResourceType corresponding to the value */ public static ResourceType fromValue(String value) { if (value == null || "".equals(value)) { throw new IllegalArgumentException("Value cannot be null or empty!"); } for (ResourceType enumEntry : ResourceType.values()) { if (enumEntry.toString().equals(value)) { return enumEntry; } } throw new IllegalArgumentException("Cannot create enum from " + value + " value!"); }
public static void main(String[] args) throws Exception { String version = System.getProperty("jboss.as.compare.version", null); String diff = System.getProperty("jboss.as.compare.different.versions", null); String type = System.getProperty("jboss.as.compare.type", null); if (version == null) { System.out.print("Enter legacy AS version: "); version = readInput(null); } System.out.println("Using target model: " + version); if (type == null) { System.out.print("Enter type [S](standalone)/H(host)/D(domain):"); type = readInput("S"); } final ResourceType resourceType; if (ResourceType.STANDALONE.toString().startsWith(type.toUpperCase())) { resourceType = ResourceType.STANDALONE; } else if (ResourceType.HOST.toString().startsWith(type.toUpperCase())) { resourceType = ResourceType.HOST; } else if (ResourceType.DOMAIN.toString().startsWith(type.toUpperCase())) { resourceType = ResourceType.DOMAIN; } else { throw new IllegalArgumentException("Could not determine type for: '" + type + "'"); } if (diff == null) { System.out.print( "Report on differences in the model when the management versions are different? y/[n]: "); diff = readInput("n").toLowerCase(); } boolean compareDifferentVersions; if (diff.equals("n")) { System.out.println( "Reporting on differences in the model when the management versions are different"); compareDifferentVersions = false; } else if (diff.equals("y")) { System.out.println( "Not reporting on differences in the model when the management versions are different"); compareDifferentVersions = true; } else { throw new IllegalArgumentException("Please enter 'y' or 'n'"); } System.out.println("Loading legacy model versions for " + version + "...."); ModelNode legacyModelVersions = Tools.loadModelNodeFromFile( new File( "target/test-classes/legacy-models/standalone-model-versions-" + version + ".dmr")); System.out.println("Loaded legacy model versions"); System.out.println("Loading legacy resource descriptions for " + version + "...."); ModelNode legacyResourceDefinitions = Tools.loadModelNodeFromFile( new File( "target/test-classes/legacy-models/" + resourceType.toString().toLowerCase() + "-resource-definition-" + version + ".dmr")); System.out.println("Loaded legacy resource descriptions"); System.out.println("Loading model versions for currently running server..."); ModelNode currentModelVersions = Tools.getCurrentModelVersions(); System.out.println("Loaded current model versions"); System.out.println("Loading resource descriptions for currently running server..."); final ModelNode currentResourceDefinitions; if (resourceType == ResourceType.STANDALONE) { currentResourceDefinitions = Tools.getCurrentRunningResourceDefinition(PathAddress.EMPTY_ADDRESS); } else if (resourceType == ResourceType.DOMAIN) { currentResourceDefinitions = Tools.getCurrentRunningDomainResourceDefinition(); } else { currentResourceDefinitions = Tools.getCurrentRunningResourceDefinition( PathAddress.pathAddress(PathElement.pathElement(HOST, "master"))); } System.out.println("Loaded current resource descriptions"); CompareModelVersionsUtil compareModelVersionsUtil = new CompareModelVersionsUtil( compareDifferentVersions, version, legacyModelVersions, legacyResourceDefinitions, currentModelVersions, currentResourceDefinitions); System.out.println("Starting comparison of the current....\n"); compareModelVersionsUtil.compareModels(); System.out.println("\nDone comparison!"); }
/** * The resource type of the related resource. * * @param resourceType The resource type of the related resource. * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceType */ public void setResourceType(ResourceType resourceType) { this.resourceType = resourceType.toString(); }