openapi: 3.2.0 info: title: Ubicloud Private Subnet API version: 0.1.0 contact: url: https://www.ubicloud.com/ email: support@ubicloud.com license: name: GNU Affero General Public License v3.0 (AGPL-3.0) url: https://www.gnu.org/licenses/agpl-3.0.en.html description: 'Operations tagged Private Subnet across 2 of this provider''s published API definitions: ubicloud-openapi.yml, ubicloud-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.ubicloud.com security: - BearerAuth: [] tags: - description: Private Subnet Operations name: Private Subnet paths: /project/{project_id}/location/{location}/private-subnet: get: operationId: listLocationPrivateSubnets summary: List private subnets in a location parameters: - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/location' - $ref: '#/components/parameters/start_after' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/order_column' responses: '200': $ref: '#/components/responses/PrivateSubnets' default: $ref: '#/components/responses/Error' tags: - Private Subnet servers: - url: https://api.ubicloud.com /project/{project_id}/location/{location}/private-subnet/{private_subnet_reference}: parameters: - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/location' - $ref: '#/components/parameters/private_subnet_reference' delete: operationId: deletePrivateSubnet summary: Delete a private subnet responses: '204': $ref: '#/components/responses/Delete' default: $ref: '#/components/responses/Error' tags: - Private Subnet get: operationId: getPrivateSubnetDetails summary: Get private subnet details responses: '200': $ref: '#/components/responses/PrivateSubnet' default: $ref: '#/components/responses/Error' tags: - Private Subnet post: operationId: createPrivateSubnet summary: Create a new private subnet requestBody: required: false content: application/json: schema: type: object properties: firewall_id: type: string additionalProperties: false responses: '200': $ref: '#/components/responses/PrivateSubnet' default: $ref: '#/components/responses/Error' tags: - Private Subnet servers: - url: https://api.ubicloud.com /project/{project_id}/location/{location}/private-subnet/{private_subnet_reference}/connect: parameters: - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/location' - $ref: '#/components/parameters/private_subnet_reference' post: operationId: connectPrivateSubnet summary: Connect private subnet to another private subnet requestBody: required: true content: application/json: schema: type: object properties: connected-subnet-id: type: string additionalProperties: false responses: '200': $ref: '#/components/responses/PrivateSubnet' default: $ref: '#/components/responses/Error' tags: - Private Subnet servers: - url: https://api.ubicloud.com /project/{project_id}/location/{location}/private-subnet/{private_subnet_reference}/disconnect/{private_subnet_id}: parameters: - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/location' - $ref: '#/components/parameters/private_subnet_reference' - $ref: '#/components/parameters/private_subnet_id' post: operationId: disconnectPrivateSubnet summary: Disconnect private subnet from another private subnet responses: '200': $ref: '#/components/responses/PrivateSubnet' default: $ref: '#/components/responses/Error' tags: - Private Subnet servers: - url: https://api.ubicloud.com /project/{project_id}/location/{location}/private-subnet/{private_subnet_reference}/rename: parameters: - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/location' - $ref: '#/components/parameters/private_subnet_reference' post: operationId: renamePrivateSubnet summary: Rename a private subnet requestBody: required: true content: application/json: schema: type: object properties: name: description: New name for private subnet type: string additionalProperties: false required: - name responses: '200': $ref: '#/components/responses/PrivateSubnet' default: $ref: '#/components/responses/Error' tags: - Private Subnet servers: - url: https://api.ubicloud.com /project/{project_id}/private-subnet: get: operationId: listPSs summary: List all private subnets parameters: - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/start_after' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/order_column' responses: '200': $ref: '#/components/responses/PrivateSubnets' default: $ref: '#/components/responses/Error' tags: - Private Subnet servers: - url: https://api.ubicloud.com components: schemas: Reference: description: Resource ID or name type: string pattern: ^[a-z0-9](?:[a-z0-9\-]{0,61}[a-z0-9])?$ Nic: type: object properties: id: description: ID of the NIC type: string name: description: Name of the NIC type: string private_ipv4: description: Private IPv4 address type: string format: ipv4 private_ipv6: description: Private IPv6 address type: string format: ipv6 vm_name: description: Name of the VM type: - string - 'null' additionalProperties: false required: - id - name - private_ipv4 - private_ipv6 - vm_name PrivateSubnet: type: object properties: firewalls: type: array items: $ref: '#/components/schemas/Firewall' id: description: ID of the subnet type: string example: ps3dngttwvje2kmr2sn8x12x4r pattern: ^ps[0-9a-hj-km-np-tv-z]{24}$ location: description: Location of the subnet type: string name: description: Name of the subnet type: string net4: description: IPv4 CIDR of the subnet type: string net6: description: IPv6 CIDR of the subnet type: string nics: description: List of NICs type: array items: $ref: '#/components/schemas/Nic' state: description: State of the subnet type: string additionalProperties: false required: - firewalls - id - location - name - net4 - net6 - nics - state Error: type: object properties: error: type: object additionalProperties: false properties: code: type: integer example: 401 message: type: string example: There was an error logging in type: type: string example: InvalidCredentials details: type: - object - 'null' required: - code - message - type additionalProperties: false required: - error FirewallRule: type: object properties: cidr: description: CIDR of the firewall rule type: string id: description: ID of the firewall rule type: string example: fraz0q3vbrpa7pkg7zbmah9csn pattern: ^fr[0-9a-hj-km-np-tv-z]{24}$ port_range: description: Port range of the firewall rule type: string protocol: description: Protocol of the firewall rule (tcp or udp) type: string enum: - tcp - udp description: description: Description of the firewall rule type: string additionalProperties: false required: - cidr - id - port_range - protocol - description Firewall: type: object properties: description: description: Description of the firewall type: string firewall_rules: description: List of firewall rules type: array items: $ref: '#/components/schemas/FirewallRule' id: description: ID of the firewall type: string example: fwfg7td83em22qfw9pq5xyfqb7 pattern: ^fw[0-9a-hj-km-np-tv-z]{24}$ location: description: Location of the firewall type: string name: description: Name of the firewall type: string additionalProperties: false required: - description - firewall_rules - id - location - name responses: Delete: description: An empty response after successful resource delete PrivateSubnet: description: A Private Subnet content: application/json: schema: $ref: '#/components/schemas/PrivateSubnet' Error: description: An error response content: application/json: schema: $ref: '#/components/schemas/Error' PrivateSubnets: description: A list of Private Subnets content: application/json: schema: type: object properties: count: type: integer items: type: array items: $ref: '#/components/schemas/PrivateSubnet' additionalProperties: false required: - count - items parameters: location: description: The Ubicloud location/region in: path name: location required: true schema: type: string example: eu-central-h1 project_id: description: ID of the project in: path name: project_id required: true schema: type: string example: pjkkmx0f2vke4h36nk9cm8v8q0 pattern: ^pj[0-9a-hj-km-np-tv-z]{24}$ private_subnet_reference: description: Private subnet ID or name examples: id: value: psn30gjk1d1e2jj34v9x0dq4rp name: value: private-subnet-name in: path name: private_subnet_reference required: true schema: $ref: '#/components/schemas/Reference' order_column: description: Pagination - Order column in: query name: order_column required: false schema: type: string default: id private_subnet_id: description: ID of the private subnet in: path name: private_subnet_id required: true schema: type: string example: pskkmx0f2vke4h36nk9cm8v8q0 pattern: ^ps[0-9a-hj-km-np-tv-z]{24}$ start_after: description: Pagination - Start after in: query name: start_after required: false schema: type: string page_size: description: Pagination - Page size in: query name: page_size required: false schema: type: integer default: 10 securitySchemes: BearerAuth: bearerFormat: JWT scheme: bearer type: http x-refined-from: - ubicloud-openapi.yml - ubicloud-openapi.yml