IpAddressPoolBlockSubnet (type)

{
  "additionalProperties": false, 
  "description": "This type of subnet allows user to dynamically carve a subnet out of a preconfigured IpAddressBlock. The user must specify the size of the subnet and the IpAddressBlock from which the subnet is to be derived. If the required amount of IP address space is available in the specified IpAddressBlock, the system automatically configures subnet range. IpAddressBlock available size is calculated based on the size of IpAddressPoolBlockSubnet intent object and not on realized. The user should delete failed IpAddressPoolBlockSubnet to utilize IpAddressBlock size correctly.", 
  "extends": {
    "$ref": "IpAddressPoolSubnet
  }, 
  "id": "IpAddressPoolBlockSubnet", 
  "module_id": "PolicyIpam", 
  "polymorphic-type-descriptor": {
    "type-identifier": "IpAddressPoolBlockSubnet"
  }, 
  "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"
    }, 
    "allocation_range": {
      "description": "Allocation range is used to limit subnet range to be used for allocations of IPs from subnet. This must be less than or equal to subnet size. Instead of taking whole subnet range for allocations, user can limit the range used for allocation of IPs. This is very useful in IPv6 case where big subnets needs to be carved out from IpAddressBlock but whole subnet range will not be needed for IP allocations. Eg:   subnet range is (2002:2345::0001-2002:2345::7fff:ffff):     subnet_start_ip: 2002:2345::0001-2002:2345     subnet_end_ip: 2002:2345::7fff:ffff   User would like to use only 128 IPs for allocations.     allocation_range: 128     allocation range used (2002:2345::0001-2002:2345::7fff:007f):       allocation_range_start_ip: 2002:2345::0001-2002:2345       allocation_range_end_ip: 2002:2345::7fff:007f", 
      "maximum": 1048576, 
      "minimum": 1, 
      "required": false, 
      "title": "Range used for allocation/release of IPs from subnet.", 
      "type": "integer"
    }, 
    "auto_assign_gateway": {
      "default": true, 
      "description": "If this property is set to true, the first IP in the range will be reserved for gateway.", 
      "title": "Indicate whether default gateway is to be reserved from the range", 
      "type": "boolean"
    }, 
    "broadcast_address": {
      "description": "Represents Broadcast address of the subnet in a PMaaS instance.", 
      "title": "Broadcast Address", 
      "type": "string"
    }, 
    "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"
    }, 
    "description": {
      "can_sort": true, 
      "maxLength": 1024, 
      "title": "Description of this resource", 
      "type": "string"
    }, 
    "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"
    }, 
    "gateway_address": {
      "description": "Represents Gateway address of the subnet in a PMaaS instance.", 
      "title": "Gateway Address", 
      "type": "string"
    }, 
    "id": {
      "can_sort": true, 
      "title": "Unique identifier of this resource", 
      "type": "string"
    }, 
    "ip_block_path": {
      "required": true, 
      "title": "The path of the IpAddressBlock from which the subnet is to be created.", 
      "type": "string", 
      "x-vmw-cross-reference": [
        {
          "leftType": [
            "IpAddressPoolBlockSubnet"
          ], 
          "relationshipType": "IP_BLOCK_IP_POOL_SUBNET_RELATIONSHIP", 
          "rightType": [
            "IpAddressBlock"
          ]
        }
      ]
    }, 
    "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"
    }, 
    "network_address": {
      "description": "Represents Network address of the subnet in a PMaaS instance.", 
      "title": "Network Address", 
      "type": "string"
    }, 
    "origin_site_id": {
      "description": "This is a UUID generated by the system for knowing which site owns an object. This is used in Pmaas", 
      "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 whoes owns this object. This is used in Pmaas", 
      "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"
    }, 
    "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 thier 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 PMaaS service, and path of the object on PMaaS service when queried from the local managers.", 
      "readonly": true, 
      "required": false, 
      "title": "Path of the object on the remote end.", 
      "type": "string"
    }, 
    "resource_type": {
      "$ref": "IpAddressPoolSubnetType, 
      "description": "Specifies whether the IpAddressPoolSubnet is to be carved out of a IpAddressBlock or will be specified by the user", 
      "required": true, 
      "title": "Represents the type of IpAddressPoolSubnet"
    }, 
    "size": {
      "deprecated": true, 
      "description": "The size parameter is required for subnet creation. It must be specified during creation but cannot be changed later. Please use subnet_size instead as integer type cannot hold big values needs for IPv6.", 
      "required": false, 
      "title": "Represents the size or number of IP addresses in the subnet", 
      "type": "integer"
    }, 
    "start_ip": {
      "$ref": "IPAddress, 
      "description": "For internal system use Only. Represents start ip address of the subnet from IP block. Subnet ip adddress will start from this ip address.", 
      "required": false, 
      "title": "Represents start ip address of the subnet"
    }, 
    "subnet_size": {
      "description": "The size parameter is required for subnet creation. It must be specified during creation but cannot be changed later.", 
      "required": false, 
      "title": "Represents the size or number of IP addresses in the subnet", 
      "type": "string"
    }, 
    "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 entites 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": "IpAddressPoolSubnet dynamically carved out of a IpAddressBlock", 
  "type": "object"
}