openapi: 3.2.0 info: description: 'This API list provides operations for interfacing with the Cohesity Cluster.' title: Cohesity REST Vlan API version: '1.0' servers: - url: https:///irisservices/api/v1 tags: - name: Vlan paths: /public/vlans: get: description: Returns the VLANs for the Cohesity Cluster. tags: - Vlan summary: List the VLANs for the Cohesity Cluster operationId: GetVlans parameters: - x-go-name: TenantIds description: 'TenantIds contains ids of the tenants for which objects are to be returned.' name: tenantIds in: query schema: type: array items: type: string - x-go-name: AllUnderHierarchy description: 'AllUnderHierarchy specifies if objects of all the tenants under the hierarchy of the logged in user''s organization should be returned.' name: allUnderHierarchy in: query schema: type: boolean - x-go-name: SkipPrimaryAndBondIface description: 'SkipPrimaryAndBondIface is to filter interfaces entries which are primary interface or bond interfaces.' name: skipPrimaryAndBondIface in: query schema: type: boolean responses: '200': $ref: '#/components/responses/GetVlansResponse' default: $ref: '#/components/responses/Error' post: description: Returns the created VLAN on the Cohesity Cluster. tags: - Vlan summary: Creates a VLAN of the Cohesity Cluster operationId: CreateVlan responses: '200': $ref: '#/components/responses/VlanResponse' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/Vlan' required: true /public/vlans/{id}: get: description: 'Returns the VLAN corresponding to the specified VLAN ID or a specified vlan interface group name. Example: /public/vlans/intf_group1.20' tags: - Vlan summary: List the details about a single VLAN operationId: GetVlanById parameters: - x-go-name: Id description: Specifies the id of the VLAN. name: id in: path required: true schema: type: integer format: int32 responses: '200': $ref: '#/components/responses/GetVlanByIdResponse' '404': $ref: '#/components/responses/NotFoundResponse' default: $ref: '#/components/responses/Error' put: description: Returns the created or updated VLAN on the Cohesity Cluster. tags: - Vlan summary: Creates or updates a VLAN of the Cohesity Cluster operationId: UpdateVlan parameters: - x-go-name: Id description: Specifies the id of the VLAN. name: id in: path required: true schema: type: integer format: int32 responses: '200': $ref: '#/components/responses/VlanResponse' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/Vlan' delete: description: Returns the delete status upon completion. tags: - Vlan summary: Remove the specified VLAN from the Cohesity Cluster operationId: RemoveVlan parameters: - x-go-name: Id description: Specifies the id of the VLAN. name: id in: path required: true schema: type: integer format: int32 responses: '204': $ref: '#/components/responses/NoContentResponse' default: $ref: '#/components/responses/Error' components: responses: Error: description: Error content: application/json: schema: $ref: '#/components/schemas/RequestError' NoContentResponse: description: No Content GetVlansResponse: description: Success content: application/json: schema: description: Specifies a list of VLANs for this Cohesity Cluster. type: array title: Array of VLANs. items: $ref: '#/components/schemas/Vlan' GetVlanByIdResponse: description: Success content: application/json: schema: $ref: '#/components/schemas/Vlan' VlanResponse: description: Success content: application/json: schema: $ref: '#/components/schemas/Vlan' NotFoundResponse: description: Not Found schemas: Subnet: description: 'Defines a Subnet (Subnetwork). The netmask can be specified by setting netmaskBits or netmaskIp4. The netmask can only be set using netmaskIp4 if the IP address is an IPv4 address.' type: object title: Subnet properties: component: description: Component that has reserved the subnet. type: - string - 'null' x-go-name: Component description: description: Description of the subnet. type: - string - 'null' x-go-name: Description id: description: ID of the subnet. type: - integer - 'null' format: int32 x-go-name: Id ip: description: Specifies either an IPv6 address or an IPv4 address. type: - string - 'null' x-go-name: Ip netmaskBits: description: Specifies the netmask using bits. type: - integer - 'null' format: int32 x-go-name: NetmaskBits netmaskIp4: description: 'Specifies the netmask using an IP4 address. The netmask can only be set using netmaskIp4 if the IP address is an IPv4 address.' type: - string - 'null' x-go-name: NetmaskIp4 nfsAccess: description: 'Specifies whether clients from this subnet can mount using NFS protocol. Protocol access level. ''kDisabled'' indicates Protocol access level ''Disabled'' ''kReadOnly'' indicates Protocol access level ''ReadOnly'' ''kReadWrite'' indicates Protocol access level ''ReadWrite''' type: - string - 'null' enum: - kDisabled - kReadOnly - kReadWrite x-go-name: NfsAccess nfsAllSquash: description: 'Specifies whether all clients from this subnet can map view with view_all_squash_uid/view_all_squash_gid configured in the view.' type: - boolean - 'null' x-go-name: NfsAllSquash nfsRootSquash: description: Specifies whether clients from this subnet can mount as root on NFS. type: - boolean - 'null' x-go-name: NfsRootSquash smbAccess: description: 'Specifies whether clients from this subnet can mount using SMB protocol. Protocol access level. ''kDisabled'' indicates Protocol access level ''Disabled'' ''kReadOnly'' indicates Protocol access level ''ReadOnly'' ''kReadWrite'' indicates Protocol access level ''ReadWrite''' type: - string - 'null' enum: - kDisabled - kReadOnly - kReadWrite x-go-name: SmbAccess x-go-package: cohesity/iris/server/data/public Vlan: description: 'Specifies the settings of a VLAN. Its used by both Request and Response structures.' type: object title: VLAN. properties: addToClusterPartition: description: 'Specifies whether to add the VLAN IPs to the cluster partition that already has one or more IPs from this VLAN.' type: - boolean - 'null' x-go-name: AddToClusterPartition allTenantAccess: description: 'Specifies if this VLAN can be used by all tenants without explicit assignment to them. This option can only be set true for VLANs that are not assigned to any tenant.' type: - boolean - 'null' x-go-name: AllTenantAccess appIpVecInUse: description: 'Set to true when ips are in use by Athena Apps. Note: If it is true then vlan interface can''t be deleted.' type: - boolean - 'null' x-go-name: AppIpVecInUse appsips: description: 'Array of Athena Apps IPs. Specifies a list of Athena IPs in the VLAN.' type: - array - 'null' items: type: string x-go-name: AppsIps description: description: Specifies a description of the VLAN. type: - string - 'null' x-go-name: Description gateway: description: 'Specifies the Gateway of the VLAN. It can carry V4 or V6 in case of requests, and carrises V4 in case of response.' type: - string - 'null' x-go-name: Gateway gatewayV6: description: Specifies the Gateway of the VLAN. type: - string - 'null' x-go-name: GatewayV6 hostname: description: Specifies the hostname of the VLAN. type: - string - 'null' x-go-name: Hostname id: description: Specifies the id of the VLAN. type: - integer - 'null' format: int32 x-go-name: Id ifaceGroupName: description: 'Specifies the interface group name of the VLAN. It is in the format of ..' type: - string - 'null' x-go-name: IfaceGroupName interfaceName: description: Specifies the interface name of the VLAN. type: - string - 'null' x-go-name: InterfaceName ipFamily: description: 'Specifies IP family. Based on this, subnet/gateway field contains V4 or V6 values. Used in Request.' type: - integer - 'null' format: int32 x-go-name: IpFamily ipPoolMap: description: 'IpPoolMap. Pool IPs to program VIP followers.' type: - object - 'null' additionalProperties: type: array items: type: string x-go-name: IpPoolMap ipRange: description: IP Range for vip addition $ref: '#/components/schemas/IpRange' ips: description: 'Array of IPs. Specifies a list of IPs in the VLAN.' type: - array - 'null' items: type: string x-go-name: Ips mtu: type: - integer - 'null' format: int32 x-go-name: Mtu subnet: description: 'Specifies the subnet of the VLAN. The netmask can be specified by setting netmaskBits or netmaskIp4. The netmask can only be set using netmaskIp4 if the IP address is an IPv4 address. It can carry V4 or V6 in case of requests, and carries V4 in case of response.' title: Subnet. allOf: - $ref: '#/components/schemas/Subnet' subnetV6: description: 'Specifies the subnet of the VLAN. The netmask can be specified by setting netmaskBits or netmaskIp4. The netmask can only be set using netmaskIp4 if the IP address is an IPv4 address.' title: Subnet. allOf: - $ref: '#/components/schemas/Subnet' tenantId: description: Optional tenant id that this vlan belongs to. type: - string - 'null' x-go-name: TenantId vlanName: description: Specifies the VLAN name of the vlanId. type: - string - 'null' x-go-name: VlanName x-go-package: cohesity/iris/server/data/public RequestError: description: Details about the Error. type: object title: Error properties: errorCode: description: Operation response error code. type: - integer - 'null' format: int64 x-go-name: ErrorCode message: description: Description of the error. type: - string - 'null' x-go-name: Message x-go-package: cohesity/iris/server/data/public IpRange: description: IP Range for range of vip address addition type: object properties: endIp: description: 'Optional End IP of the range If not specified, EndIp is same as StartIp' type: - string - 'null' x-go-name: EndIp startIp: description: Start IP of the range type: - string - 'null' x-go-name: StartIp x-go-package: cohesity/iris/server/data/public