NSX-T Data Center REST API

Vpc (type)

{
  "additionalProperties": false, 
  "description": "'Vpc' provides self-service and allows the application users to configure subnets and other services.", 
  "extends": {
    "$ref": "PolicyConfigResource
  }, 
  "id": "Vpc", 
  "module_id": "PolicyVpc", 
  "policy_hierarchical_children": [
    "ChildGatewayPolicy", 
    "ChildGroup", 
    "ChildPolicyNat", 
    "ChildSecurityPolicy", 
    "ChildStaticRoutes", 
    "ChildVpcIpAddressAllocation", 
    "ChildVpcSubnet"
  ], 
  "properties": {
    "_create_time": {
      "$ref": "EpochMsTimestamp, 
      "can_sort": true, 
      "description": "Timestamp of resource creation", 
      "readonly": true
    }, 
    "_create_user": {
      "description": "ID of the user who created this resource", 
      "readonly": true, 
      "type": "string"
    }, 
    "_last_modified_time": {
      "$ref": "EpochMsTimestamp, 
      "can_sort": true, 
      "description": "Timestamp of last modification", 
      "readonly": true
    }, 
    "_last_modified_user": {
      "description": "ID of the user who last modified this resource", 
      "readonly": true, 
      "type": "string"
    }, 
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_protection": {
      "description": "Protection status is one of the following: PROTECTED - the client who retrieved the entity is not allowed             to modify it. NOT_PROTECTED - the client who retrieved the entity is allowed                 to modify it REQUIRE_OVERRIDE - the client who retrieved the entity is a super                    user and can modify it, but only when providing                    the request header X-Allow-Overwrite=true. UNKNOWN - the _protection field could not be determined for this           entity.", 
      "readonly": true, 
      "title": "Indicates protection status of this resource", 
      "type": "string"
    }, 
    "_revision": {
      "description": "The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.", 
      "title": "Generation of this resource config", 
      "type": "int"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink, 
      "readonly": true, 
      "title": "Link to this resource"
    }, 
    "_system_owned": {
      "description": "Indicates system owned resource", 
      "readonly": true, 
      "type": "boolean"
    }, 
    "children": {
      "description": "Subtree for this type within policy tree containing nested elements. Note that  this type is applicable to be used in Hierarchical API only.", 
      "items": {
        "$ref": "ChildPolicyConfigResource
      }, 
      "required": false, 
      "title": "Subtree for this type within policy tree", 
      "type": "array"
    }, 
    "default_gateway_path": {
      "description": "This represents the path of a Tier0 or Tier0 VRF or label. This must be a subset of Tier0s/VRFs defined at the project level. It serves as default gateway for VPC. In case of Label, it should have reference of Tier0 or Tier0 VRF path.", 
      "required": false, 
      "title": "PolicyPath of Tier0 or Tier0 VRF gateway or label path referencing to Tier0 or Tier0 VRF.", 
      "type": "string", 
      "x-vmw-cross-reference": [
        {
          "leftType": [
            "Vpc"
          ], 
          "relationshipType": "VPC_GATEWAY_RELATIONSHIP", 
          "rightType": [
            "Tier0"
          ]
        }, 
        {
          "leftType": [
            "Vpc"
          ], 
          "relationshipType": "VPC_GATEWAY_LABEL_RELATIONSHIP", 
          "rightType": [
            "Label"
          ]
        }
      ]
    }, 
    "description": {
      "can_sort": true, 
      "maxLength": 1024, 
      "title": "Description of this resource", 
      "type": "string"
    }, 
    "dhcp_config": {
      "$ref": "DhcpConfig, 
      "description": "DHCP configuration to be applied on all connected subnets if the IP address type is IPv4.", 
      "required": false, 
      "title": "DHCP configs"
    }, 
    "display_name": {
      "can_sort": true, 
      "description": "Defaults to ID if not set", 
      "maxLength": 255, 
      "title": "Identifier to use when displaying entity in logs or GUI", 
      "type": "string"
    }, 
    "external_ipv4_blocks": {
      "description": "IP block used for allocating CIDR blocks for public subnets. IP block must be subset of Project IPv4 blocks.", 
      "items": {
        "type": "string"
      }, 
      "maxItems": 5, 
      "required": false, 
      "title": "PolicyPath of external IPv4 block", 
      "type": "array", 
      "x-vmw-cross-reference": [
        {
          "leftType": [
            "Vpc"
          ], 
          "relationshipType": "VPC_EXTERNAL_IPV4BLOCK_RELATIONSHIP", 
          "rightType": [
            "IpAddressBlock"
          ]
        }
      ]
    }, 
    "id": {
      "can_sort": true, 
      "title": "Unique identifier of this resource", 
      "type": "string"
    }, 
    "ip_address_type": {
      "default": "IPV4", 
      "description": "This defines the IP address type that will be allocated for subnets. In the case of IPv4, all the subnets will be allocated IP addresses from the IpV4 private/external pool.", 
      "enum": [
        "IPV4"
      ], 
      "required": true, 
      "title": "IP address type", 
      "type": "string"
    }, 
    "ipv6_profile_paths": {
      "description": "Configuration IPv6 NDRA and DAD profiles. Either or both NDRA and/or DAD profiles can be configured. If not specified, default profiles will be applied.", 
      "items": {
        "type": "string"
      }, 
      "maxItems": 2, 
      "required": false, 
      "title": "IPv6 NDRA and DAD profiles configuration", 
      "type": "array", 
      "x-vmw-cross-reference": [
        {
          "leftType": [
            "Vpc"
          ], 
          "relationshipType": "VPC_NDRA_PROFILE_RELATIONSHIP", 
          "rightType": [
            "Ipv6NdraProfile"
          ]
        }, 
        {
          "leftType": [
            "Vpc"
          ], 
          "relationshipType": "VPC_DAD_PROFILE_RELATIONSHIP", 
          "rightType": [
            "Ipv6DadProfile"
          ]
        }
      ]
    }, 
    "load_balancer_vpc_endpoint": {
      "$ref": "LoadBalancerVPCEndpoint, 
      "required": false
    }, 
    "marked_for_delete": {
      "default": false, 
      "description": "Intent objects are not directly deleted from the system when a delete is invoked on them. They are marked for deletion and only when all the realized entities for that intent object gets deleted, the intent object is deleted. Objects that are marked for deletion are not returned in GET call. One can use the search API to get these objects.", 
      "readonly": true, 
      "required": false, 
      "title": "Indicates whether the intent object is marked for deletion", 
      "type": "boolean"
    }, 
    "origin_site_id": {
      "description": "This is a UUID generated by the system for knowing which site owns an object. This is used in NSX+.", 
      "readonly": true, 
      "required": false, 
      "title": "A unique identifier assigned by the system for knowing which site owns an object", 
      "type": "string"
    }, 
    "overridden": {
      "default": false, 
      "description": "Global intent objects cannot be modified by the user. However, certain global intent objects can be overridden locally by use of this property. In such cases, the overridden local values take precedence over the globally defined values for the properties.", 
      "readonly": true, 
      "required": false, 
      "title": "Indicates whether this object is the overridden intent object", 
      "type": "boolean"
    }, 
    "owner_id": {
      "description": "This is a UUID generated by the system for knowing who owns this object. This is used in NSX+.", 
      "readonly": true, 
      "required": false, 
      "title": "A unique identifier assigned by the system for the ownership of an object", 
      "type": "string"
    }, 
    "parent_path": {
      "description": "Path of its parent", 
      "readonly": true, 
      "required": false, 
      "title": "Path of its parent", 
      "type": "string"
    }, 
    "path": {
      "description": "Absolute path of this object", 
      "readonly": true, 
      "required": false, 
      "title": "Absolute path of this object", 
      "type": "string"
    }, 
    "private_ipv4_blocks": {
      "additionalProperties": false, 
      "description": "IP block used for allocating CIDR blocks for private subnets. IP block must be defined by the Project admin.", 
      "items": {
        "type": "string"
      }, 
      "maxItems": 5, 
      "required": false, 
      "title": "PolicyPath of private ip block", 
      "type": "array", 
      "x-vmw-cross-reference": [
        {
          "leftType": [
            "Vpc"
          ], 
          "relationshipType": "VPC_PRIVATE_IPV4BLOCK_RELATIONSHIP", 
          "rightType": [
            "IpAddressBlock"
          ]
        }
      ]
    }, 
    "realization_id": {
      "description": "This is a UUID generated by the system for realizing the entity object. In most cases this should be same as 'unique_id' of the entity. However, in some cases this can be different because of entities have migrated their unique identifier to NSX Policy intent objects later in the timeline and did not use unique_id for realization. Realization id is helpful for users to debug data path to correlate the configuration with corresponding intent.", 
      "readonly": true, 
      "required": false, 
      "title": "A unique identifier assigned by the system for realizing intent", 
      "type": "string"
    }, 
    "relative_path": {
      "description": "Path relative from its parent", 
      "readonly": true, 
      "required": false, 
      "title": "Relative path of this object", 
      "type": "string"
    }, 
    "remote_path": {
      "description": "This is the path of the object on the local managers when queried on the NSX+ service, and path of the object on NSX+ service when queried from the local managers.", 
      "readonly": true, 
      "required": false, 
      "title": "Path of the object on the remote end.", 
      "type": "string"
    }, 
    "resource_type": {
      "description": "The type of this resource.", 
      "readonly": false, 
      "type": "string"
    }, 
    "service_gateway": {
      "$ref": "ServiceGateway, 
      "required": false
    }, 
    "short_id": {
      "description": "Defaults to id if id is less than equal to 8 characters or defaults to random generated id if not set.", 
      "maxLength": 8, 
      "title": "Identifier to use when displaying vpc context in logs", 
      "type": "string"
    }, 
    "site_infos": {
      "description": "Information related to sites applicable for given VPC. The edge cluster path must belong to the same site. This will be a subset of the span of connected Tier0/VRF. Only 1 Edge cluster can be configured in site_infos.", 
      "items": {
        "$ref": "SiteInfo
      }, 
      "maxItems": 1, 
      "required": false, 
      "title": "Collection of Site information.", 
      "type": "array"
    }, 
    "subnet_profiles": {
      "$ref": "SubnetProfiles, 
      "description": "Subnet profiles will be used to create subnet profile binding and it will be applied to subnets. Subnet profiles need to be pre-created at the project level. If not specified, default profiles will be used.", 
      "required": false, 
      "title": "Subnet profiles"
    }, 
    "tags": {
      "items": {
        "$ref": "Tag
      }, 
      "maxItems": 30, 
      "title": "Opaque identifiers meaningful to the API user", 
      "type": "array"
    }, 
    "unique_id": {
      "description": "This is a UUID generated by the GM/LM to uniquely identify entities in a federated environment. For entities that are stretched across multiple sites, the same ID will be used on all the stretched sites.", 
      "readonly": true, 
      "required": false, 
      "title": "A unique identifier assigned by the system", 
      "type": "string"
    }
  }, 
  "title": "Policy VPC", 
  "type": "object"
}