// Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The ASF licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. package org.apache.cloudstack.api.response; import java.util.Date; import java.util.List; import org.apache.cloudstack.acl.RoleType; import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.BaseResponse; import org.apache.cloudstack.api.EntityReference; import com.cloud.network.vpc.Vpc; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; @EntityReference(value = Vpc.class) @SuppressWarnings("unused") public class VpcResponse extends BaseResponse implements ControlledEntityResponse { @SerializedName("id") @Param(description = "the id of the VPC") private String id; @SerializedName(ApiConstants.NAME) @Param(description = "the name of the VPC") private String name; @SerializedName(ApiConstants.DISPLAY_TEXT) @Param(description = "an alternate display text of the VPC.") private String displayText; @SerializedName(ApiConstants.STATE) @Param(description = "state of the VPC. Can be Inactive/Enabled") private String state; @SerializedName(ApiConstants.ZONE_ID) @Param(description = "zone id of the vpc") private String zoneId; @SerializedName(ApiConstants.ZONE_NAME) @Param(description = "the name of the zone the VPC belongs to") private String zoneName; @SerializedName(ApiConstants.SERVICE) @Param(description = "the list of supported services", responseObject = ServiceResponse.class) private List<ServiceResponse> services; @SerializedName(ApiConstants.CIDR) @Param(description = "the cidr the VPC") private String cidr; @SerializedName(ApiConstants.VPC_OFF_ID) @Param(description = "vpc offering id the VPC is created from") private String vpcOfferingId; @SerializedName(ApiConstants.CREATED) @Param(description = "the date this VPC was created") private Date created; @SerializedName(ApiConstants.ACCOUNT) @Param(description = "the owner of the VPC") private String accountName; @SerializedName(ApiConstants.PROJECT_ID) @Param(description = "the project id of the VPC") private String projectId; @SerializedName(ApiConstants.PROJECT) @Param(description = "the project name of the VPC") private String projectName; @SerializedName(ApiConstants.DOMAIN_ID) @Param(description = "the domain id of the VPC owner") private String domainId; @SerializedName(ApiConstants.DOMAIN) @Param(description = "the domain name of the owner") private String domain; @SerializedName(ApiConstants.NETWORK) @Param(description = "the list of networks belongign to the VPC", responseObject = NetworkResponse.class) private List<NetworkResponse> networks; @SerializedName(ApiConstants.RESTART_REQUIRED) @Param(description = "true VPC requires restart") private Boolean restartRequired; @SerializedName(ApiConstants.NETWORK_DOMAIN) @Param(description = "the network domain of the VPC") private String networkDomain; @SerializedName(ApiConstants.TAGS) @Param(description = "the list of resource tags associated with the project", responseObject = ResourceTagResponse.class) private List<ResourceTagResponse> tags; @SerializedName(ApiConstants.FOR_DISPLAY) @Param(description = "is vpc for display to the regular user", since = "4.4", authorized = {RoleType.Admin}) private Boolean forDisplay; @SerializedName(ApiConstants.DISTRIBUTED_VPC_ROUTER) @Param(description = "is VPC uses distributed router for one hop forwarding and host based network ACL's", since = "4.4") private boolean usesDistributedRouter; @SerializedName(ApiConstants.REGION_LEVEL_VPC) @Param(description = "true if VPC is region level", since = "4.4") private Boolean regionLevelVpc; @SerializedName(ApiConstants.REDUNDANT_VPC_ROUTER) @Param(description = "if this VPC has redundant router", since = "4.6") private boolean redundantRouter; public void setId(final String id) { this.id = id; } public void setName(final String name) { this.name = name; } public void setDisplayText(final String displayText) { this.displayText = displayText; } public void setCreated(final Date created) { this.created = created; } public void setServices(final List<ServiceResponse> services) { this.services = services; } public void setState(final String state) { this.state = state; } @Override public void setAccountName(final String accountName) { this.accountName = accountName; } @Override public void setProjectId(final String projectId) { this.projectId = projectId; } @Override public void setProjectName(final String projectName) { this.projectName = projectName; } @Override public void setDomainId(final String domainId) { this.domainId = domainId; } @Override public void setDomainName(final String domainName) { domain = domainName; } public void setZoneId(final String zoneId) { this.zoneId = zoneId; } public void setCidr(final String cidr) { this.cidr = cidr; } public void setVpcOfferingId(final String vpcOfferingId) { this.vpcOfferingId = vpcOfferingId; } public List<NetworkResponse> getNetworks() { return networks; } public void setNetworks(final List<NetworkResponse> networks) { this.networks = networks; } public void setRestartRequired(final Boolean restartRequired) { this.restartRequired = restartRequired; } public void setNetworkDomain(final String networkDomain) { this.networkDomain = networkDomain; } public void setZoneName(final String zoneName) { this.zoneName = zoneName; } public void setTags(final List<ResourceTagResponse> tags) { this.tags = tags; } public void setForDisplay(final Boolean forDisplay) { this.forDisplay = forDisplay; } public void setRegionLevelVpc(final Boolean regionLevelVpc) { this.regionLevelVpc = regionLevelVpc; } public void setUsesDistributedRouter(final Boolean usesDistributedRouter) { this.usesDistributedRouter = usesDistributedRouter; } public void setRedundantRouter(final Boolean redundantRouter) { this.redundantRouter = redundantRouter; } }