/* * Avi avi_global_spec Object API * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) * * OpenAPI spec version: 20.1.1 * Contact: [email protected] * * NOTE: This class is auto generated by the swagger code generator program. * https://github.com/swagger-api/swagger-codegen.git * Do not edit the class manually. */ package com.vmware.avi.sdk.model; import java.util.Objects; import java.util.Arrays; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import com.vmware.avi.sdk.model.AwsEncryption; import com.vmware.avi.sdk.model.AwsZoneConfig; import io.swagger.v3.oas.annotations.media.Schema; import java.util.ArrayList; import java.util.List; /** * AwsConfiguration */ @javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2020-03-12T12:27:26.755+05:30[Asia/Kolkata]") public class AwsConfiguration { @JsonProperty("access_key_id") private String accessKeyId = null; @JsonProperty("asg_poll_interval") private Integer asgPollInterval = 600; @JsonProperty("ebs_encryption") private AwsEncryption ebsEncryption = null; @JsonProperty("free_elasticips") private Boolean freeElasticips = true; @JsonProperty("iam_assume_role") private String iamAssumeRole = null; @JsonProperty("publish_vip_to_public_zone") private Boolean publishVipToPublicZone = null; @JsonProperty("region") private String region = "us-west-1"; @JsonProperty("route53_integration") private Boolean route53Integration = null; @JsonProperty("s3_encryption") private AwsEncryption s3Encryption = null; @JsonProperty("secret_access_key") private String secretAccessKey = null; @JsonProperty("sqs_encryption") private AwsEncryption sqsEncryption = null; @JsonProperty("ttl") private Integer ttl = 60; @JsonProperty("use_iam_roles") private Boolean useIamRoles = null; @JsonProperty("use_sns_sqs") private Boolean useSnsSqs = null; @JsonProperty("vpc") private String vpc = null; @JsonProperty("vpc_id") private String vpcId = null; @JsonProperty("wildcard_access") private Boolean wildcardAccess = null; @JsonProperty("zones") private List<AwsZoneConfig> zones = null; public AwsConfiguration accessKeyId(String accessKeyId) { this.accessKeyId = accessKeyId; return this; } /** * AWS access key ID. * @return accessKeyId **/ @Schema(description = "AWS access key ID.") public String getAccessKeyId() { return accessKeyId; } public void setAccessKeyId(String accessKeyId) { this.accessKeyId = accessKeyId; } public AwsConfiguration asgPollInterval(Integer asgPollInterval) { this.asgPollInterval = asgPollInterval; return this; } /** * Time interval between periodic polling of all Auto Scaling Groups. Allowed values are 60-1800. Field introduced in 17.1.3. * @return asgPollInterval **/ @Schema(description = "Time interval between periodic polling of all Auto Scaling Groups. Allowed values are 60-1800. Field introduced in 17.1.3.") public Integer getAsgPollInterval() { return asgPollInterval; } public void setAsgPollInterval(Integer asgPollInterval) { this.asgPollInterval = asgPollInterval; } public AwsConfiguration ebsEncryption(AwsEncryption ebsEncryption) { this.ebsEncryption = ebsEncryption; return this; } /** * Get ebsEncryption * @return ebsEncryption **/ @Schema(description = "") public AwsEncryption getEbsEncryption() { return ebsEncryption; } public void setEbsEncryption(AwsEncryption ebsEncryption) { this.ebsEncryption = ebsEncryption; } public AwsConfiguration freeElasticips(Boolean freeElasticips) { this.freeElasticips = freeElasticips; return this; } /** * Free unused elastic IP addresses. * @return freeElasticips **/ @Schema(description = "Free unused elastic IP addresses.") public Boolean isFreeElasticips() { return freeElasticips; } public void setFreeElasticips(Boolean freeElasticips) { this.freeElasticips = freeElasticips; } public AwsConfiguration iamAssumeRole(String iamAssumeRole) { this.iamAssumeRole = iamAssumeRole; return this; } /** * IAM assume role for cross-account access. * @return iamAssumeRole **/ @Schema(description = "IAM assume role for cross-account access.") public String getIamAssumeRole() { return iamAssumeRole; } public void setIamAssumeRole(String iamAssumeRole) { this.iamAssumeRole = iamAssumeRole; } public AwsConfiguration publishVipToPublicZone(Boolean publishVipToPublicZone) { this.publishVipToPublicZone = publishVipToPublicZone; return this; } /** * If enabled and the virtual service is not floating ip capable, vip will be published to both private and public zones. Field introduced in 17.2.10. * @return publishVipToPublicZone **/ @Schema(description = "If enabled and the virtual service is not floating ip capable, vip will be published to both private and public zones. Field introduced in 17.2.10.") public Boolean isPublishVipToPublicZone() { return publishVipToPublicZone; } public void setPublishVipToPublicZone(Boolean publishVipToPublicZone) { this.publishVipToPublicZone = publishVipToPublicZone; } public AwsConfiguration region(String region) { this.region = region; return this; } /** * AWS region. * @return region **/ @Schema(description = "AWS region.") public String getRegion() { return region; } public void setRegion(String region) { this.region = region; } public AwsConfiguration route53Integration(Boolean route53Integration) { this.route53Integration = route53Integration; return this; } /** * If enabled, create/update DNS entries in Amazon Route 53 zones. * @return route53Integration **/ @Schema(description = "If enabled, create/update DNS entries in Amazon Route 53 zones.") public Boolean isRoute53Integration() { return route53Integration; } public void setRoute53Integration(Boolean route53Integration) { this.route53Integration = route53Integration; } public AwsConfiguration s3Encryption(AwsEncryption s3Encryption) { this.s3Encryption = s3Encryption; return this; } /** * Get s3Encryption * @return s3Encryption **/ @Schema(description = "") public AwsEncryption getS3Encryption() { return s3Encryption; } public void setS3Encryption(AwsEncryption s3Encryption) { this.s3Encryption = s3Encryption; } public AwsConfiguration secretAccessKey(String secretAccessKey) { this.secretAccessKey = secretAccessKey; return this; } /** * AWS secret access key. * @return secretAccessKey **/ @Schema(description = "AWS secret access key.") public String getSecretAccessKey() { return secretAccessKey; } public void setSecretAccessKey(String secretAccessKey) { this.secretAccessKey = secretAccessKey; } public AwsConfiguration sqsEncryption(AwsEncryption sqsEncryption) { this.sqsEncryption = sqsEncryption; return this; } /** * Get sqsEncryption * @return sqsEncryption **/ @Schema(description = "") public AwsEncryption getSqsEncryption() { return sqsEncryption; } public void setSqsEncryption(AwsEncryption sqsEncryption) { this.sqsEncryption = sqsEncryption; } public AwsConfiguration ttl(Integer ttl) { this.ttl = ttl; return this; } /** * Default TTL for all records. Allowed values are 1-172800. Field introduced in 17.1.3. * @return ttl **/ @Schema(description = "Default TTL for all records. Allowed values are 1-172800. Field introduced in 17.1.3.") public Integer getTtl() { return ttl; } public void setTtl(Integer ttl) { this.ttl = ttl; } public AwsConfiguration useIamRoles(Boolean useIamRoles) { this.useIamRoles = useIamRoles; return this; } /** * Use IAM roles instead of access and secret key. * @return useIamRoles **/ @Schema(description = "Use IAM roles instead of access and secret key.") public Boolean isUseIamRoles() { return useIamRoles; } public void setUseIamRoles(Boolean useIamRoles) { this.useIamRoles = useIamRoles; } public AwsConfiguration useSnsSqs(Boolean useSnsSqs) { this.useSnsSqs = useSnsSqs; return this; } /** * Use SNS/SQS based notifications for monitoring Auto Scaling Groups. Field introduced in 17.1.3. * @return useSnsSqs **/ @Schema(description = "Use SNS/SQS based notifications for monitoring Auto Scaling Groups. Field introduced in 17.1.3.") public Boolean isUseSnsSqs() { return useSnsSqs; } public void setUseSnsSqs(Boolean useSnsSqs) { this.useSnsSqs = useSnsSqs; } public AwsConfiguration vpc(String vpc) { this.vpc = vpc; return this; } /** * VPC name. * @return vpc **/ @Schema(description = "VPC name.") public String getVpc() { return vpc; } public void setVpc(String vpc) { this.vpc = vpc; } public AwsConfiguration vpcId(String vpcId) { this.vpcId = vpcId; return this; } /** * VPC ID. * @return vpcId **/ @Schema(required = true, description = "VPC ID.") public String getVpcId() { return vpcId; } public void setVpcId(String vpcId) { this.vpcId = vpcId; } public AwsConfiguration wildcardAccess(Boolean wildcardAccess) { this.wildcardAccess = wildcardAccess; return this; } /** * If enabled, program SE security group with ingress rule to allow SSH (port 22) access from 0.0.0.0/0. Field deprecated in 17.1.5. Field introduced in 17.1.3. * @return wildcardAccess **/ @Schema(description = "If enabled, program SE security group with ingress rule to allow SSH (port 22) access from 0.0.0.0/0. Field deprecated in 17.1.5. Field introduced in 17.1.3.") public Boolean isWildcardAccess() { return wildcardAccess; } public void setWildcardAccess(Boolean wildcardAccess) { this.wildcardAccess = wildcardAccess; } public AwsConfiguration zones(List<AwsZoneConfig> zones) { this.zones = zones; return this; } public AwsConfiguration addZonesItem(AwsZoneConfig zonesItem) { if (this.zones == null) { this.zones = new ArrayList<AwsZoneConfig>(); } this.zones.add(zonesItem); return this; } /** * Placeholder for description of property zones of obj type AwsConfiguration field type str type object * @return zones **/ @Schema(description = "Placeholder for description of property zones of obj type AwsConfiguration field type str type object") public List<AwsZoneConfig> getZones() { return zones; } public void setZones(List<AwsZoneConfig> zones) { this.zones = zones; } @Override public boolean equals(java.lang.Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } AwsConfiguration awsConfiguration = (AwsConfiguration) o; return Objects.equals(this.accessKeyId, awsConfiguration.accessKeyId) && Objects.equals(this.asgPollInterval, awsConfiguration.asgPollInterval) && Objects.equals(this.ebsEncryption, awsConfiguration.ebsEncryption) && Objects.equals(this.freeElasticips, awsConfiguration.freeElasticips) && Objects.equals(this.iamAssumeRole, awsConfiguration.iamAssumeRole) && Objects.equals(this.publishVipToPublicZone, awsConfiguration.publishVipToPublicZone) && Objects.equals(this.region, awsConfiguration.region) && Objects.equals(this.route53Integration, awsConfiguration.route53Integration) && Objects.equals(this.s3Encryption, awsConfiguration.s3Encryption) && Objects.equals(this.secretAccessKey, awsConfiguration.secretAccessKey) && Objects.equals(this.sqsEncryption, awsConfiguration.sqsEncryption) && Objects.equals(this.ttl, awsConfiguration.ttl) && Objects.equals(this.useIamRoles, awsConfiguration.useIamRoles) && Objects.equals(this.useSnsSqs, awsConfiguration.useSnsSqs) && Objects.equals(this.vpc, awsConfiguration.vpc) && Objects.equals(this.vpcId, awsConfiguration.vpcId) && Objects.equals(this.wildcardAccess, awsConfiguration.wildcardAccess) && Objects.equals(this.zones, awsConfiguration.zones); } @Override public int hashCode() { return Objects.hash(accessKeyId, asgPollInterval, ebsEncryption, freeElasticips, iamAssumeRole, publishVipToPublicZone, region, route53Integration, s3Encryption, secretAccessKey, sqsEncryption, ttl, useIamRoles, useSnsSqs, vpc, vpcId, wildcardAccess, zones); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class AwsConfiguration {\n"); sb.append(" accessKeyId: ").append(toIndentedString(accessKeyId)).append("\n"); sb.append(" asgPollInterval: ").append(toIndentedString(asgPollInterval)).append("\n"); sb.append(" ebsEncryption: ").append(toIndentedString(ebsEncryption)).append("\n"); sb.append(" freeElasticips: ").append(toIndentedString(freeElasticips)).append("\n"); sb.append(" iamAssumeRole: ").append(toIndentedString(iamAssumeRole)).append("\n"); sb.append(" publishVipToPublicZone: ").append(toIndentedString(publishVipToPublicZone)).append("\n"); sb.append(" region: ").append(toIndentedString(region)).append("\n"); sb.append(" route53Integration: ").append(toIndentedString(route53Integration)).append("\n"); sb.append(" s3Encryption: ").append(toIndentedString(s3Encryption)).append("\n"); sb.append(" secretAccessKey: ").append(toIndentedString(secretAccessKey)).append("\n"); sb.append(" sqsEncryption: ").append(toIndentedString(sqsEncryption)).append("\n"); sb.append(" ttl: ").append(toIndentedString(ttl)).append("\n"); sb.append(" useIamRoles: ").append(toIndentedString(useIamRoles)).append("\n"); sb.append(" useSnsSqs: ").append(toIndentedString(useSnsSqs)).append("\n"); sb.append(" vpc: ").append(toIndentedString(vpc)).append("\n"); sb.append(" vpcId: ").append(toIndentedString(vpcId)).append("\n"); sb.append(" wildcardAccess: ").append(toIndentedString(wildcardAccess)).append("\n"); sb.append(" zones: ").append(toIndentedString(zones)).append("\n"); sb.append("}"); return sb.toString(); } /** * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ private String toIndentedString(java.lang.Object o) { if (o == null) { return "null"; } return o.toString().replace("\n", "\n "); } }