@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DescribeAvailabilityZonesResult == false) return false; DescribeAvailabilityZonesResult other = (DescribeAvailabilityZonesResult) obj; if (other.getAvailabilityZones() == null ^ this.getAvailabilityZones() == null) return false; if (other.getAvailabilityZones() != null && other.getAvailabilityZones().equals(this.getAvailabilityZones()) == false) return false; return true; }
public DescribeAvailabilityZonesResult unmarshall(StaxUnmarshallerContext context) throws Exception { DescribeAvailabilityZonesResult describeAvailabilityZonesResult = new DescribeAvailabilityZonesResult(); int originalDepth = context.getCurrentDepth(); int targetDepth = originalDepth + 1; if (context.isStartOfDocument()) targetDepth += 1; while (true) { XMLEvent xmlEvent = context.nextEvent(); if (xmlEvent.isEndDocument()) return describeAvailabilityZonesResult; if (xmlEvent.isAttribute() || xmlEvent.isStartElement()) { if (context.testExpression("availabilityZoneInfo", targetDepth)) { describeAvailabilityZonesResult.withAvailabilityZones(new ArrayList<AvailabilityZone>()); continue; } if (context.testExpression("availabilityZoneInfo/item", targetDepth)) { describeAvailabilityZonesResult.withAvailabilityZones(AvailabilityZoneStaxUnmarshaller.getInstance().unmarshall(context)); continue; } } else if (xmlEvent.isEndElement()) { if (context.getCurrentDepth() < originalDepth) { return describeAvailabilityZonesResult; } } } }
/** * <p> * Information about one or more Availability Zones. * </p> * * @param availabilityZones * Information about one or more Availability Zones. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeAvailabilityZonesResult withAvailabilityZones(java.util.Collection<AvailabilityZone> availabilityZones) { setAvailabilityZones(availabilityZones); return this; }
/** * Information about one or more Availability Zones. * <p> * Returns a reference to this object so that method calls can be chained together. * * @param availabilityZones Information about one or more Availability Zones. * * @return A reference to this updated object so that method calls can be chained * together. */ public DescribeAvailabilityZonesResult withAvailabilityZones(AvailabilityZone... availabilityZones) { if (getAvailabilityZones() == null) setAvailabilityZones(new java.util.ArrayList<AvailabilityZone>(availabilityZones.length)); for (AvailabilityZone value : availabilityZones) { getAvailabilityZones().add(value); } return this; }
public DescribeAvailabilityZonesResult unmarshall(StaxUnmarshallerContext context) throws Exception { DescribeAvailabilityZonesResult describeAvailabilityZonesResult = new DescribeAvailabilityZonesResult(); int originalDepth = context.getCurrentDepth(); int targetDepth = originalDepth + 1; if (context.isStartOfDocument()) targetDepth += 1; while (true) { int xmlEvent = context.nextEvent(); if (xmlEvent == XmlPullParser.END_DOCUMENT) return describeAvailabilityZonesResult; if (xmlEvent == XmlPullParser.START_TAG) { if (context.testExpression("availabilityZoneInfo/item", targetDepth)) { describeAvailabilityZonesResult.getAvailabilityZones().add(AvailabilityZoneStaxUnmarshaller.getInstance().unmarshall(context)); continue; } } else if (xmlEvent == XmlPullParser.END_TAG) { if (context.getCurrentDepth() < originalDepth) { return describeAvailabilityZonesResult; } } } }
@Override public DescribeAvailabilityZonesResult describeAvailabilityZones(AmazonEC2Client ec2Client, DescribeAvailabilityZonesRequest describeAvailabilityZonesRequest) { List<AvailabilityZone> availabilityZones = new ArrayList<>(); List<String> requestedZoneNames = describeAvailabilityZonesRequest.getZoneNames(); // add all AZ if request is empty (this is AWS behavior) if (requestedZoneNames.isEmpty()) { requestedZoneNames.addAll(mockAvailabilityZones.keySet()); } for (String requestedZoneName : requestedZoneNames) { // ignore AZ name which does not exist (this is AWS behavior) MockAvailabilityZone mockAvailabilityZone = mockAvailabilityZones.get(requestedZoneName); if (mockAvailabilityZone != null) { availabilityZones.add(mockAvailabilityZone.toAwsObject()); } } DescribeAvailabilityZonesResult describeAvailabilityZonesResult = new DescribeAvailabilityZonesResult(); describeAvailabilityZonesResult.setAvailabilityZones(availabilityZones); return describeAvailabilityZonesResult; }
@Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAvailabilityZones() == null) ? 0 : getAvailabilityZones().hashCode()); return hashCode; }
/** * <p> * Information about one or more Availability Zones. * </p> * <p> * <b>NOTE:</b> This method appends the values to the existing list (if any). Use * {@link #setAvailabilityZones(java.util.Collection)} or {@link #withAvailabilityZones(java.util.Collection)} if * you want to override the existing values. * </p> * * @param availabilityZones * Information about one or more Availability Zones. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeAvailabilityZonesResult withAvailabilityZones(AvailabilityZone... availabilityZones) { if (this.availabilityZones == null) { setAvailabilityZones(new com.amazonaws.internal.SdkInternalList<AvailabilityZone>(availabilityZones.length)); } for (AvailabilityZone ele : availabilityZones) { this.availabilityZones.add(ele); } return this; }
public DescribeAvailabilityZonesResult unmarshall(StaxUnmarshallerContext context) throws Exception { DescribeAvailabilityZonesResult describeAvailabilityZonesResult = new DescribeAvailabilityZonesResult(); int originalDepth = context.getCurrentDepth(); int targetDepth = originalDepth + 1; if (context.isStartOfDocument()) targetDepth += 1; while (true) { XMLEvent xmlEvent = context.nextEvent(); if (xmlEvent.isEndDocument()) return describeAvailabilityZonesResult; if (xmlEvent.isAttribute() || xmlEvent.isStartElement()) { if (context.testExpression("availabilityZoneInfo", targetDepth)) { describeAvailabilityZonesResult.withAvailabilityZones(new ArrayList<AvailabilityZone>()); continue; } if (context.testExpression("availabilityZoneInfo/item", targetDepth)) { describeAvailabilityZonesResult.withAvailabilityZones(AvailabilityZoneStaxUnmarshaller.getInstance().unmarshall(context)); continue; } } else if (xmlEvent.isEndElement()) { if (context.getCurrentDepth() < originalDepth) { return describeAvailabilityZonesResult; } } } }
/** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAvailabilityZones() != null) sb.append("AvailabilityZones: ").append(getAvailabilityZones()); sb.append("}"); return sb.toString(); }
/** * <p> * Information about one or more Availability Zones. * </p> * * @param availabilityZones * Information about one or more Availability Zones. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeAvailabilityZonesResult withAvailabilityZones(java.util.Collection<AvailabilityZone> availabilityZones) { setAvailabilityZones(availabilityZones); return this; }
/*** * Get availability zones in an Amazon AWS region * * @return List of availability zones */ public List<AvailabilityZone> getAvailabilityZones() { final AmazonEC2 amazonEC2 = getEc2Client(); final DescribeAvailabilityZonesResult describeAvailabilityZonesResult = amazonEC2.describeAvailabilityZones(); final List<AvailabilityZone> availabilityZones = describeAvailabilityZonesResult.getAvailabilityZones(); LOGGER.info("Found: " + availabilityZones.size() + " availability zone"); return availabilityZones; }
/** * <p> * Information about one or more Availability Zones. * </p> * <p> * <b>NOTE:</b> This method appends the values to the existing list (if any). Use * {@link #setAvailabilityZones(java.util.Collection)} or {@link #withAvailabilityZones(java.util.Collection)} if * you want to override the existing values. * </p> * * @param availabilityZones * Information about one or more Availability Zones. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeAvailabilityZonesResult withAvailabilityZones(AvailabilityZone... availabilityZones) { if (this.availabilityZones == null) { setAvailabilityZones(new com.amazonaws.internal.SdkInternalList<AvailabilityZone>(availabilityZones.length)); } for (AvailabilityZone ele : availabilityZones) { this.availabilityZones.add(ele); } return this; }
@Override public List<String> getDefaultRacks() { // Get the fist 3 available zones in the region AmazonEC2 client = AmazonEC2ClientBuilder.standard() .withCredentials(credential.getAwsCredentialProvider()) .withRegion(getRegion()) .build(); DescribeAvailabilityZonesResult res = client.describeAvailabilityZones(); List<String> zone = Lists.newArrayList(); for (AvailabilityZone reg : res.getAvailabilityZones()) { if (reg.getState().equals("available")) zone.add(reg.getZoneName()); if (zone.size() == 3) break; } return ImmutableList.copyOf(zone); }
public static void main(String[] args) { final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); DescribeRegionsResult regions_response = ec2.describeRegions(); for(Region region : regions_response.getRegions()) { System.out.printf( "Found region %s " + "with endpoint %s", region.getRegionName(), region.getEndpoint()); } DescribeAvailabilityZonesResult zones_response = ec2.describeAvailabilityZones(); for(AvailabilityZone zone : zones_response.getAvailabilityZones()) { System.out.printf( "Found availability zone %s " + "with status %s " + "in region %s", zone.getZoneName(), zone.getState(), zone.getRegionName()); } } }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DescribeAvailabilityZonesResult == false) return false; DescribeAvailabilityZonesResult other = (DescribeAvailabilityZonesResult)obj; if (other.getAvailabilityZones() == null ^ this.getAvailabilityZones() == null) return false; if (other.getAvailabilityZones() != null && other.getAvailabilityZones().equals(this.getAvailabilityZones()) == false) return false; return true; }
@Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAvailabilityZones() == null) ? 0 : getAvailabilityZones().hashCode()); return hashCode; }
/** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAvailabilityZones() != null) sb.append("AvailabilityZones: " + getAvailabilityZones() ); sb.append("}"); return sb.toString(); }
@Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAvailabilityZones() == null) ? 0 : getAvailabilityZones().hashCode()); return hashCode; }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DescribeAvailabilityZonesResult == false) return false; DescribeAvailabilityZonesResult other = (DescribeAvailabilityZonesResult) obj; if (other.getAvailabilityZones() == null ^ this.getAvailabilityZones() == null) return false; if (other.getAvailabilityZones() != null && other.getAvailabilityZones().equals(this.getAvailabilityZones()) == false) return false; return true; }